Skip to content
Discussion options

You must be logged in to vote

As mentioned in #3744, .transfer only sends along 2300 gas. Because you are sending ETH to a proxy, you delegatecall to the implementation address, which costs 2600 gas when the address is cold (first access during tx) or 100 gas when the address is warm (subsequent accesses). See https://evm.codes for more info on gas costs. Therefore:

  • When the implementation address is warm, it only costs 100 gas and succeeds. This happens in your ProxyEthReceiveLocalOnlyTest tests, because you transfer the ETH immediately after creating the proxy, so all addresses are warm.
  • When the implementation address is cold, it only costs 2600 gas and fails. This happens in your ProxyEthReceiveSetupTest tests be…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@burnto
Comment options

Answer selected by burnto
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Help
Labels
None yet
2 participants