Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Gas Estimate] transaction fails when estimated is exactly the same as valid one but when using create2 opcode #6390

Closed
kamilchodola opened this issue Dec 18, 2023 · 2 comments · Fixed by #6846

Comments

@kamilchodola
Copy link
Contributor

The transaction in question is at https://www.tdly.co/shared/simulation/cb6b00c5-1788-4d67-8d4a-07b49201fe87

When sending the transaction, our self hosted nethermind node rpc estimate a precise gas amount, however it went out of gas. Geth provide slight buffer for gas estimation and transaction has no issue

In particular, for this particular transaction

  • Nethermind give estimate of 1,619,295 gas
  • GETH give estimate of 1,642,249 gas

Gas limit | gas consumed
Nethermind 1,619,295 | 1,596,684 (98.6%) out of gas
GETH 1,642,249 | 1,619,295 (98.6%)

1,619,295 given by Nethermind failed when the exact gas consumed is exactly 1,619,295
This contract uses create2 and create2 opcode might over provision some extra gas during create2 call. However, there is no buffer for it.

@emlautarom1
Copy link
Contributor

RPC call to reproduce the issue (extracted from the simulation):

{
  "id": "42",
  "jsonrpc": "2.0",
  "method": "eth_estimateGas",
  "params": [
    {
      "from": "0x68617742dba80a724fdfceffab65af353e31a693",
      "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
      "gas": "0x18b55f",
      "gasPrice": "0x18b55f",
      "value": "0x0",
      "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50611c45806100206000396000f3fe6080604052600436106101095760003560e01c806367ac5ed011610095578063978b326d11610064578063978b326d146102d7578063b65a8cd8146102f7578063c7829d4214610317578063e0fd612a14610373578063ffa1ad741461039357600080fd5b806367ac5ed01461023a57806382ea7bfe1461025a5780638456cb591461028e5780638955fe8a146102a357600080fd5b80633607b598116100dc5780633607b598146101785780633f4ba83a146101dd578063423aea99146101f25780634368600c14610212578063522d1a571461021a57600080fd5b806304c3ec051461010e5780631cad5a4014610125578063331ded1a1461014557806333bb7f9114610165575b600080fd5b34801561011a57600080fd5b506101236103c1565b005b34801561013157600080fd5b5061012361014036600461166c565b610443565b34801561015157600080fd5b5061012361016036600461166c565b610614565b6101236101733660046116ad565b610837565b34801561018457600080fd5b506101ca6101933660046116d1565b6040805160208082019590955280820193909352606080840192909252805180840390920182526080909201909152805191012090565b6040519081526020015b60405180910390f35b3480156101e957600080fd5b5061012361092b565b3480156101fe57600080fd5b5061012361020d36600461166c565b610959565b610123610b3f565b34801561022657600080fd5b506101236102353660046116fd565b610b9d565b34801561024657600080fd5b50610123610255366004611724565b610c5e565b34801561026657600080fd5b507f5b5f8628110c818b2861cfd1c25c89a4731730c763fc35fb7c1c8e9d3f43868c546101ca565b34801561029a57600080fd5b50610123610ce7565b3480156102af57600080fd5b507f5b5f8628110c818b2861cfd1c25c89a4731730c763fc35fb7c1c8e9d3f43868b546101ca565b3480156102e357600080fd5b506101236102f23660046117b5565b610d13565b34801561030357600080fd5b50610123610312366004611724565b611133565b34801561032357600080fd5b50610366610332366004611873565b60009081527f5b5f8628110c818b2861cfd1c25c89a4731730c763fc35fb7c1c8e9d3f43868a602052604090205460ff1690565b6040516101d491906118a2565b34801561037f57600080fd5b5061012361038e366004611724565b61118e565b34801561039f57600080fd5b506103a8600081565b6040516001600160f81b031990911681526020016101d4565b6103c96111c2565b6103ee5760405162461bcd60e51b81526004016103e5906118ca565b60405180910390fd5b7f5b5f8628110c818b2861cfd1c25c89a4731730c763fc35fb7c1c8e9d3f43868c547f5b5f8628110c818b2861cfd1c25c89a4731730c763fc35fb7c1c8e9d3f43868990600003610440574360038201555b50565b600080516020611bf08339815191525460ff16156104735760405162461bcd60e51b81526004016103e5906118ff565b6000600080516020611bd0833981519152600c01905060008160000154905060008186876001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156104d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104fc9190810190611963565b886001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561053a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105629190810190611963565b888860405160240161057996959493929190611a31565b60408051601f198184030181529190526020810180516001600160e01b031663779238c360e11b179052835490915060019084906000906105bb908490611a82565b90915550600090506105cd848361123f565b9050600080516020611bb083398151915281836040516105ee929190611aa3565b60405180910390a161060b6001600160a01b03881633308861128c565b50505050505050565b600080516020611bf08339815191525460ff16156106445760405162461bcd60e51b81526004016103e5906118ff565b6000600080516020611bd0833981519152600c01905060008160000154905060008186876001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106a5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106cd9190810190611963565b886001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561070b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107339190810190611963565b888860405160240161074a96959493929190611a31565b60408051601f198184030181529190526020810180516001600160e01b0316631321729760e01b1790528354909150600190849060009061078c908490611a82565b909155506000905061079e848361123f565b9050600080516020611bb083398151915281836040516107bf929190611aa3565b60405180910390a16040516323b872dd60e01b8152336004820152306024820152604481018690526001600160a01b038816906323b872dd906064015b600060405180830381600087803b15801561081657600080fd5b505af115801561082a573d6000803e3d6000fd5b5050505050505050505050565b600080516020611bf08339815191525460ff16156108675760405162461bcd60e51b81526004016103e5906118ff565b7f5b5f8628110c818b2861cfd1c25c89a4731730c763fc35fb7c1c8e9d3f438689805460408051602481018390526001600160a01b0385166044820152346064808301919091528251808303909101815260849091019091526020810180516001600160e01b031663edc5d61360e01b17905260018360006108e98386611a82565b90915550600090506108fb848361123f565b9050600080516020611bb0833981519152818360405161091c929190611aa3565b60405180910390a15050505050565b6109336111c2565b61094f5760405162461bcd60e51b81526004016103e5906118ca565b6109576112f7565b565b600080516020611bf08339815191525460ff16156109895760405162461bcd60e51b81526004016103e5906118ff565b6000600080516020611bd0833981519152600c01905060008160000154905060008186876001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156109ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a129190810190611963565b886001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610a50573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a789190810190611963565b8888604051602401610a8f96959493929190611a31565b60408051601f198184030181529190526020810180516001600160e01b031663779238c360e11b17905283549091506001908490600090610ad1908490611a82565b9091555060009050610ae3848361123f565b9050600080516020611bb08339815191528183604051610b04929190611aa3565b60405180910390a1604051632770a7eb60e21b8152336004820152602481018690526001600160a01b03881690639dc29fac906044016107fc565b610b476111c2565b610b635760405162461bcd60e51b81526004016103e5906118ca565b604080513381523460208201527fef68867053d7f6d65fe5016e4ca27e576c0feb468b8213a67f80d33c2cffcf23910160405180910390a1565b333014610bbd57604051634ca8886760e01b815260040160405180910390fd5b6001600160a01b038216610be45760405163e6c4247b60e01b815260040160405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610c31576040519150601f19603f3d011682016040523d82523d6000602084013e610c36565b606091505b5050905080610c585760405163022e258160e11b815260040160405180910390fd5b50505050565b333014610c7e57604051634ca8886760e01b815260040160405180910390fd5b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390528416906340c10f19906044015b600060405180830381600087803b158015610cc957600080fd5b505af1158015610cdd573d6000803e3d6000fd5b5050505050505050565b610cef6111c2565b610d0b5760405162461bcd60e51b81526004016103e5906118ca565b610957611370565b600080516020611bf08339815191525460ff1615610d435760405162461bcd60e51b81526004016103e5906118ff565b604051600080516020611bd0833981519152907f5b5f8628110c818b2861cfd1c25c89a4731730c763fc35fb7c1c8e9d3f43868990600090610d889086908690611abc565b604080519182900390912060008c815260088601602052919091209091506002600083815260018501602052604090205460ff166002811115610dcd57610dcd61188c565b03610deb57604051639b70e09960e01b815260040160405180910390fd5b600082815260018401602052604081205460ff166002811115610e1057610e1061188c565b03610f57578054604080516000602080830191909152602182018e905260418083018e9052835180840390910181526061909201909252805191012014610e6a57604051635b4d15ff60e11b815260040160405180910390fd5b604051634bc935d760e01b8152734ae13161302d5cabd406e8278baee3364b5bd6da90634bc935d790610ea7908b908b908e908890600401611acc565b602060405180830381865af4158015610ec4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee89190611b12565b610f0557604051637e27baa160e01b815260040160405180910390fd5b4360058501546001830154610f1a9190611a82565b1115610f3957604051631d800f7960e11b815260040160405180910390fd5b600082815260018481016020526040909120805460ff191690911790555b6001600083815260018501602052604090205460ff166002811115610f7e57610f7e61188c565b0361082a576000610fc487878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b692505050565b90506001600160e01b0319811663067ac5ed60e41b14801590610ff857506001600160e01b0319811663707eb09560e11b14155b801561101557506001600160e01b031981166316cb519b60e31b14155b801561103257506001600160e01b0319811663522d1a5760e01b14155b15611050576040516342868c9b60e01b815260040160405180910390fd5b7fabfac666466a53345f5b4878844c740802942346e8c73b2136023a52dc59ddb38787604051611081929190611b34565b60405180910390a16000306001600160a01b031688886040516110a5929190611abc565b6000604051808303816000865af19150503d80600081146110e2576040519150601f19603f3d011682016040523d82523d6000602084013e6110e7565b606091505b505090508061110957604051631d42c86760e21b815260040160405180910390fd5b505050600090815260019190910160205260409020805460ff191660021790555050505050505050565b33301461115357604051634ca8886760e01b815260040160405180910390fd5b604051632142170760e11b81523060048201526001600160a01b038381166024830152604482018390528416906342842e0e90606401610caf565b3330146111ae57604051634ca8886760e01b815260040160405180910390fd5b610c586001600160a01b03841683836113bd565b6000306001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611202573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112269190611b63565b6001600160a01b0316336001600160a01b031614905090565b805160208083019190912060028401805460408051808601929092524382820152606080830194909452805180830390940184526080909101905281519190920120908190555b92915050565b6040516001600160a01b0380851660248301528316604482015260648101829052610c589085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526113f2565b600080516020611bf08339815191525460ff1661134d5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016103e5565b6000600080516020611bf08339815191525b805460ff1916911515919091179055565b600080516020611bf08339815191525460ff16156113a05760405162461bcd60e51b81526004016103e5906118ff565b6001600080516020611bf083398151915261135f565b6020015190565b6040516001600160a01b0383166024820152604481018290526113ed90849063a9059cbb60e01b906064016112c0565b505050565b6000611447826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114c79092919063ffffffff16565b90508051600014806114685750808060200190518101906114689190611b12565b6113ed5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016103e5565b60606114d684846000856114de565b949350505050565b60608247101561153f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016103e5565b600080866001600160a01b0316858760405161155b9190611b80565b60006040518083038185875af1925050503d8060008114611598576040519150601f19603f3d011682016040523d82523d6000602084013e61159d565b606091505b50915091506115ae878383876115b9565b979650505050505050565b60608315611628578251600003611621576001600160a01b0385163b6116215760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103e5565b50816114d6565b6114d6838381511561163d5781518083602001fd5b8060405162461bcd60e51b81526004016103e59190611b9c565b6001600160a01b038116811461044057600080fd5b60008060006060848603121561168157600080fd5b833561168c81611657565b9250602084013561169c81611657565b929592945050506040919091013590565b6000602082840312156116bf57600080fd5b81356116ca81611657565b9392505050565b6000806000606084860312156116e657600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561171257600080fd5b83359250602084013561169c81611657565b6000806000806080858703121561173a57600080fd5b84359350602085013561174c81611657565b9250604085013561175c81611657565b9396929550929360600135925050565b60008083601f84011261177e57600080fd5b50813567ffffffffffffffff81111561179657600080fd5b6020830191508360208285010111156117ae57600080fd5b9250929050565b600080600080600080600060a0888a0312156117d057600080fd5b873596506020880135955060408801359450606088013567ffffffffffffffff808211156117fd57600080fd5b818a0191508a601f83011261181157600080fd5b81358181111561182057600080fd5b8b60208260051b850101111561183557600080fd5b6020830196508095505060808a013591508082111561185357600080fd5b506118608a828b0161176c565b989b979a50959850939692959293505050565b60006020828403121561188557600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60208101600383106118c457634e487b7160e01b600052602160045260246000fd5b91905290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561195a578181015183820152602001611942565b50506000910152565b60006020828403121561197557600080fd5b815167ffffffffffffffff8082111561198d57600080fd5b818401915084601f8301126119a157600080fd5b8151818111156119b3576119b3611929565b604051601f8201601f19908116603f011681019083821181831017156119db576119db611929565b816040528281528760208487010111156119f457600080fd5b6115ae83602083016020880161193f565b60008151808452611a1d81602086016020860161193f565b601f01601f19169290920160200192915050565b868152600060018060a01b03808816602084015260c06040840152611a5960c0840188611a05565b8381036060850152611a6b8188611a05565b959091166080840152505060a00152949350505050565b8082018082111561128657634e487b7160e01b600052601160045260246000fd5b8281526040602082015260006114d66040830184611a05565b8183823760009101908152919050565b6060808252810184905260006001600160fb1b03851115611aec57600080fd5b8460051b8087608085013760208301949094525060408101919091520160800192915050565b600060208284031215611b2457600080fd5b815180151581146116ca57600080fd5b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b600060208284031215611b7557600080fd5b81516116ca81611657565b60008251611b9281846020870161193f565b9190910192915050565b6020815260006116ca6020830184611a0556fec1d062af3d966b6932252187e7580c22c48379a682867f3fb9c5b7b316a217735b5f8628110c818b2861cfd1c25c89a4731730c763fc35fb7c1c8e9d3f43867d1a2b7d1471f579fcb2d48f79ec117a434306b3862be52f8dc40dff0e516a35fda2646970667358221220e727453e5a0e49fc8730ee27907624e6af733a25419f811dcb6eb6d17772903964736f6c63430008110033"
    },
    "4460368"
  ]
}

@emlautarom1
Copy link
Contributor

For this particular issue, a Sepolia Archive Node is required (use --config sepolia_archive). Note that, as of today, this requires +600 GB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants