github.com/aaa256/atlantis@v0.0.0-20210707112435-42ee889287a2/params/gas_table.go (about) 1 // Copyright 2016 The go-athereum Authors 2 // This file is part of the go-athereum library. 3 // 4 // The go-athereum library is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU Lesser General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // The go-athereum library is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU Lesser General Public License for more details. 13 // 14 // You should have received a copy of the GNU Lesser General Public License 15 // along with the go-athereum library. If not, see <http://www.gnu.org/licenses/>. 16 17 package params 18 19 // GasTable organizes gas prices for differentatlantis phases. 20 type GasTable struct { 21 ExtcodeSize uint64 22 ExtcodeCopy uint64 23 Balance uint64 24 SLoad uint64 25 Calls uint64 26 Suicide uint64 27 28 ExpByte uint64 29 30 // CreateBySuicide occurs when the 31 // refunded account is one that does 32 // not exist. This logic is similar 33 // to call. May be left nil. Nil means 34 // not charged. 35 CreateBySuicide uint64 36 } 37 38 // Variables containing gas prices for differentatlantis phases. 39 var ( 40 // GasTableHomestead contain the gas prices for 41 // the homestead phase. 42 GasTableHomestead = GasTable{ 43 ExtcodeSize: 20, 44 ExtcodeCopy: 20, 45 Balance: 20, 46 SLoad: 50, 47 Calls: 40, 48 Suicide: 0, 49 ExpByte: 10, 50 } 51 52 // GasTableEIP150 contain the gas re-prices for 53 // the EIP150 phase. 54 GasTableEIP150 = GasTable{ 55 ExtcodeSize: 700, 56 ExtcodeCopy: 700, 57 Balance: 400, 58 SLoad: 200, 59 Calls: 700, 60 Suicide: 5000, 61 ExpByte: 10, 62 63 CreateBySuicide: 25000, 64 } 65 // GasTableEIP158 contain the gas re-prices for 66 // the EIP15* phase. 67 GasTableEIP158 = GasTable{ 68 ExtcodeSize: 700, 69 ExtcodeCopy: 700, 70 Balance: 400, 71 SLoad: 200, 72 Calls: 700, 73 Suicide: 5000, 74 ExpByte: 50, 75 76 CreateBySuicide: 25000, 77 } 78 )