github.com/klaytn/klaytn@v1.10.2/params/computation_cost_params.go (about) 1 // Modifications Copyright 2019 The klaytn Authors 2 // Copyright 2015 The go-ethereum Authors 3 // This file is part of the go-ethereum library. 4 // 5 // The go-ethereum library is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU Lesser General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // The go-ethereum library is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU Lesser General Public License for more details. 14 // 15 // You should have received a copy of the GNU Lesser General Public License 16 // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. 17 // 18 // This file is derived from params/protocol_params.go (2018/06/04). 19 // Modified and improved for the klaytn development. 20 21 package params 22 23 const ( 24 // Computation cost for opcodes 25 ExtCodeHashComputationCost = 1000 26 Create2ComputationCost = 10000 27 StaticCallComputationCost = 10000 28 ReturnDataSizeComputationCost = 10 29 ReturnDataCopyComputationCost = 40 30 RevertComputationCost = 0 31 DelegateCallComputationCost = 696 32 StopComputationCost = 0 33 AddComputationCost = 150 34 MulComputationCost = 200 35 SubComputationCost = 219 36 DivComputationCost = 404 37 SdivComputationCost = 739 38 ModComputationCost = 812 39 SmodComputationCost = 560 40 ExpComputationCost = 5000 41 SignExtendComputationCost = 481 42 LtComputationCost = 201 43 GtComputationCost = 264 44 SltComputationCost = 176 45 SgtComputationCost = 222 46 EqComputationCost = 220 47 IszeroComputationCost = 165 48 AndComputationCost = 288 49 OrComputationCost = 160 50 ByteComputationCost = 589 51 Sha3ComputationCost = 2465 52 AddressComputationCost = 284 53 BalanceComputationCost = 1407 54 OriginComputationCost = 210 55 CallerComputationCost = 188 56 CallValueComputationCost = 149 57 CallDataLoadComputationCost = 596 58 CallDataSizeComputationCost = 194 59 CallDataCopyComputationCost = 100 60 CodeSizeComputationCost = 145 61 CodeCopyComputationCost = 898 62 GasPriceComputationCost = 131 63 ExtCodeSizeComputationCost = 1481 64 ExtCodeCopyComputationCost = 1000 65 BlockHashComputationCost = 500 66 CoinbaseComputationCost = 189 67 TimestampComputationCost = 265 68 NumberComputationCost = 202 69 DifficultyComputationCost = 180 70 GasLimitComputationCost = 166 71 PopComputationCost = 140 72 MloadComputationCost = 376 73 MstoreComputationCost = 288 74 Mstore8ComputationCost = 5142 75 SloadComputationCost = 835 76 SstoreComputationCost = 1548 77 JumpComputationCost = 253 78 JumpiComputationCost = 176 79 PcComputationCost = 147 80 MsizeComputationCost = 137 81 GasComputationCost = 230 82 JumpDestComputationCost = 10 83 PushComputationCost = 120 84 Dup1ComputationCost = 190 85 Dup2ComputationCost = 190 86 Dup3ComputationCost = 176 87 Dup4ComputationCost = 142 88 Dup5ComputationCost = 177 89 Dup6ComputationCost = 165 90 Dup7ComputationCost = 147 91 Dup8ComputationCost = 157 92 Dup9ComputationCost = 138 93 Dup10ComputationCost = 174 94 Dup11ComputationCost = 141 95 Dup12ComputationCost = 144 96 Dup13ComputationCost = 157 97 Dup14ComputationCost = 143 98 Dup15ComputationCost = 237 99 Dup16ComputationCost = 149 100 Swap1ComputationCost = 141 101 Swap2ComputationCost = 156 102 Swap3ComputationCost = 145 103 Swap4ComputationCost = 135 104 Swap5ComputationCost = 115 105 Swap6ComputationCost = 146 106 Swap7ComputationCost = 199 107 Swap8ComputationCost = 130 108 Swap9ComputationCost = 160 109 Swap10ComputationCost = 134 110 Swap11ComputationCost = 147 111 Swap12ComputationCost = 128 112 Swap13ComputationCost = 121 113 Swap14ComputationCost = 114 114 Swap15ComputationCost = 197 115 Swap16ComputationCost = 128 116 Log0ComputationCost = 100 117 Log1ComputationCost = 1000 118 Log2ComputationCost = 1000 119 Log3ComputationCost = 1000 120 Log4ComputationCost = 1000 121 CreateComputationCost = 2094 122 CallComputationCost = 5000 123 CallCodeComputationCost = 4000 124 ReturnComputationCost = 0 125 SelfDestructComputationCost = 0 126 127 // Computation cost for precompiled contracts 128 EcrecoverComputationCost = 113150 129 Sha256PerWordComputationCost = 100 130 Sha256BaseComputationCost = 1000 131 Ripemd160PerWordComputationCost = 10 132 Ripemd160BaseComputationCost = 100 133 IdentityPerWordComputationCost = 0 134 IdentityBaseComputationCost = 0 135 BigModExpPerGasComputationCost = 10 136 BigModExpBaseComputationCost = 100 137 Bn256AddComputationCost = 8000 138 Bn256ScalarMulComputationCost = 100000 139 Bn256ParingBaseComputationCost = 2000000 140 Bn256ParingPerPointComputationCost = 1000000 141 VMLogPerByteComputationCost = 0 142 VMLogBaseComputationCost = 10 143 FeePayerComputationCost = 10 144 ValidateSenderPerSigComputationCost = 180000 145 ValidateSenderBaseComputationCost = 10000 146 147 // computation costs for opcode added at istanbulCompatible Protocol Upgrade 148 ChainIDComputationCost = 120 149 SelfBalanceComputationCost = 374 150 Blake2bBaseComputationCost = 10000 151 Blake2bScaleComputationCost = 10 152 153 // computation costs for opcode added at londonCompatible Protocol Upgrade 154 BaseFeeComputationCost = 198 155 156 // Opcode Computation Cost Modification 157 AddmodComputationCost = 3349 158 AddmodComputationCostIstanbul = 1410 159 MulmodComputationCost = 4757 160 MulmodComputationCostIstanbul = 1760 161 NotComputationCost = 1289 162 NotComputationCostIstanbul = 364 163 ShlComputationCost = 1603 164 ShlComputationCostIstanbul = 478 165 ShrComputationCost = 1346 166 ShrComputationCostIstanbul = 498 167 SarComputationCost = 1815 168 SarComputationCostIstanbul = 834 169 XorComputationCost = 657 170 XorComputationCostIstanbul = 454 171 172 // computation costs for opcode added at koreCompatible Protocol Upgrade 173 RandomComputationCost = 1498 174 )