Hi There,
I'm trying to understand vyper constructor usage patterns. When compiling the example Vyper erc20 contract, the output (deployed) bytecode looks like this:
The second opcode 0x35 is CALLDATALOAD. Given that in the EVM specification, contract creation calls assume calldata == [], how is calldata used in this case?
In Solidity, a comparable example would not include CALLDATALOAD in the executable part of deployed bytecode, reserving it instead for the runtime bytecode portion.
Let me know if I'm misunderstanding!
Hi There,
I'm trying to understand vyper constructor usage patterns. When compiling the example Vyper erc20 contract, the output (deployed) bytecode looks like this:
The second opcode
0x35isCALLDATALOAD. Given that in the EVM specification, contract creation calls assumecalldata == [], how is calldata used in this case?In Solidity, a comparable example would not include
CALLDATALOADin the executable part of deployed bytecode, reserving it instead for the runtime bytecode portion.Let me know if I'm misunderstanding!