From 68a99aabf1538725771f45b1f35ebb94ab3bb4e8 Mon Sep 17 00:00:00 2001 From: Ardis Lu Date: Thu, 9 Jul 2026 23:44:20 -0700 Subject: [PATCH] Document full post-instruction stack instead of single arg As per convention described in the geas README --- burner.eas | 12 ++++++------ deployer.eas | 28 ++++++++++++++-------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/burner.eas b/burner.eas index 930b655..2ef225a 100644 --- a/burner.eas +++ b/burner.eas @@ -1,12 +1,12 @@ ;;; This is creation bytecode which will return 0x30ff when run -PUSH2 0x30ff ; value -PUSH0 ; offset -MSTORE +PUSH2 0x30ff ; [value] +PUSH0 ; [offset, value] +MSTORE ; [] -PUSH1 2 ; size -PUSH1 30 ; offset -RETURN +PUSH1 2 ; [size] +PUSH1 30 ; [offset, size] +RETURN ; [] ;;; The above code, assembled: ;;; 0x6130ff5f526002601ef3 diff --git a/deployer.eas b/deployer.eas index 288b26d..822bec5 100644 --- a/deployer.eas +++ b/deployer.eas @@ -3,25 +3,25 @@ ;;; 2. Call the new smart contract ;; burner.evm, assembled -PUSH10 0x6130ff5f526002601ef3 ; value -PUSH0 ; offset -MSTORE +PUSH10 0x6130ff5f526002601ef3 ; [value] +PUSH0 ; [offset, value] +MSTORE ; [] ;; Preload stack for CALL -PUSH0 ; retSize -PUSH0 ; retOffset -PUSH0 ; argsSize -PUSH0 ; argsOffset -PUSH0 ; value +PUSH0 ; [retSize] +PUSH0 ; [retOffset, retSize] +PUSH0 ; [argsSize, retOffset, retSize] +PUSH0 ; [argsOffset, argsSize, retOffset, retSize] +PUSH0 ; [value, argsOffset, argsSize, retOffset, retSize] ;; address for CALL - PUSH1 10 ; size - PUSH1 22 ; offset - CALLVALUE ; value - CREATE + PUSH1 10 ; [size, ...] + PUSH1 22 ; [offset, size, ...] + CALLVALUE ; [value, offset, size, ...] + CREATE ; [address, value, argsOffset, argsSize, retOffset, retSize] -GAS ; gas -CALL +GAS ; [gas, address, value, argsOffset, argsSize, retOffset, retSize] +CALL ; [] ;;; This smart contract, assembled: ;;; 0x696130ff5f526002601ef35f525f5f5f5f5f600a601634f05af1 -- 2.47.3