;; Store create2.evm compiled bytecode into memory
-PUSH 0x365f5f375f516020360360205ff5
-PUSH0
-MSTORE
+PUSH 0x365f5f375f516020360360205ff5 ; [value]
+PUSH0 ; [offset, value]
+MSTORE ; []
;; Return create2.evm compiled bytecode
-PUSH 14
-PUSH 18
-RETURN
+PUSH 14 ; [size]
+PUSH 18 ; [offset, size]
+RETURN ; []
-;; This contract, compiled:
-;; 6d365f5f375f516020360360205ff55f52600e6012f3
+;;; This contract, compiled:
+;;; 6d365f5f375f516020360360205ff55f52600e6012f3
;; Copy calldata to memory offset 0
-CALLDATASIZE
-PUSH0
-PUSH0
-CALLDATACOPY
+CALLDATASIZE ; [size]
+PUSH0 ; [offset, size]
+PUSH0 ; [destOffset, offset, size]
+CALLDATACOPY ; []
;; First 32 bytes of calldata is the salt
-PUSH0
-MLOAD
+PUSH0 ; [offset]
+MLOAD ; [salt]
;; Remaining calldata is the creation bytecode
-PUSH 32
-CALLDATASIZE
-SUB
+PUSH 32 ; [b, salt]
+CALLDATASIZE ; [a, b, salt]
+SUB ; [size, salt]
;; Call CREATE2
-PUSH 32
-PUSH0
-CREATE2
+PUSH 32 ; [offset, size, salt]
+PUSH0 ; [value, offset, size, salt]
+CREATE2 ; []
-;; This contract, compiled:
-;; 365f5f375f516020360360205ff5
+;;; This contract, compiled:
+;;; 365f5f375f516020360360205ff5
;; This is the minimal bytecode that can be used to deploy a new smart contract
-CODESIZE
-PUSH0
-DUP2
-DUP2
-MSTORE8
-RETURN
+CODESIZE ; [size]
+PUSH0 ; [offset, size]
+DUP2 ; [size, offset, size]
+DUP2 ; [offset, size, offset, size]
+MSTORE8 ; [offset, size]
+RETURN ; []
-;; This smart contract, compiled:
-;; 385f818153f3
+;;; This smart contract, compiled:
+;;; 385f818153f3
-;; When sent to EVM, this smart contract will deploy a new smart contract with bytecode:
-;; 060000000000
+;;; When sent to EVM, this smart contract will deploy a new smart contract with bytecode:
+;;; 060000000000