コールデータのレイアウト

関数呼び出しの入力データは、 ABIの仕様 で定義されたフォーマットであることが前提となっています。 とりわけ、ABI仕様では、引数を32バイトの倍数にパディングすることが求められています。 内部の関数呼び出しでは、これとは異なる規則が用いられています。

コントラクトのコンストラクタの引数は、コントラクトのコードの最後にABIエンコーディングで直接追加されます。 コンストラクタはハードコードされたオフセットを使ってアクセスしますが、コードにデータを追加するときに変更されるため、 codesize オペコードは使用しません。