0x00 | NOP | - | no | no |
0x01 | BALANCE_CHECK | token:address, account:address, value:uint256, operator:uint8 (op) | no | no |
0x02 | TIMESTAMP_CHECK | value:uint256, operator:uint8 (op) | no | no |
0x03 | BLOCK_NUMBER_CHECK | value:uint256, operator:uint8 (op) | no | no |
0x04 | CALLER_CHECK | caller:address | no | no |
0x05 | TARGET_CHECK | target:address | no | no |
0x06 | VALUE_CHECK | value:uint256, operator:uint8 (op) | no | no |
0x07 | GAS_LIMIT_CHECK | value:uint256, operator:uint8 (op) | no | no |
0x08 | DATA_CHECK | data:bytes, offset:uint256, length:uint256 | no | no |
0x0b | NONCE_CHECK | nonce:uint256, operator:uint8 (op) | no | no |
0x0c | CHAIN_ID_CHECK | chainId:uint256 | no | no |
0x0d | CONTRACT_EXISTS | contractAddress:address | no | no |
0x0f | BALANCE_NATIVE_CHECK | account:address, value:uint256, operator:uint8 (op) | no | no |
0x10 | ALLOWANCE_CHECK | token:address, owner:address, spender:address, value:uint256, operator:uint8 (op) | no | no |
0x11 | NFT_OWNERSHIP_CHECK | nftContract:address, tokenId:uint256, owner:address | no | no |
0x12 | MULTI_CHECK_AND | - | no | no |
0x13 | MULTI_CHECK_OR | - | no | no |
0x14 | END_MULTI_CHECK | - | no | no |
0x15 | CUSTOM_CHECK | validatorContract:address, data:bytes | no | no |
0x17 | RATE_LIMIT_CHECK | window:uint256, maxCount:uint256, key:bytes32 | yes | no |
0x19 | ADDRESS_WHITELIST | whitelist:address[], toCheck:address | no | no |
0x1a | ADDRESS_BLACKLIST | blacklist:address[], toCheck:address | no | no |
0x1c | STATE_VARIABLE_CHECK | contractAddress:address, selector:bytes4, value:bytes32, operator:uint8 (op) | no | no |
0x1e | GAS_PRICE_CHECK | gasPrice:uint256, operator:uint8 (op) | no | no |
0x1f | ORIGIN_CHECK | origin:address | no | no |
0x2e | BASEFEE_CHECK | baseFee:uint256, operator:uint8 (op) | no | no |
0x31 | PREVRANDAO_CHECK | prevRandao:uint256, operator:uint8 (op) | no | no |
0x40 | CUSTOM_DATA_CHECK | validatorContract:address | no | no |
0x41 | CALLDATA_VALUE_CHECK | offset:uint256, expected:uint256, operator:uint8 (op) | no | no |
0x42 | CALLDATA_POINTER_RESOLVE | pointerOffset:uint256 | no | no |
0x43 | CALLDATA_BYTES_CHECK | offset:uint256, expected:bytes, operator:uint8 (op) | no | no |
0x44 | PERSIST_MERKLE_MEMBERSHIP | rootKey:bytes32, leaf:bytes32, proof:bytes | no | no |
0x45 | PERSIST_MERKLE_MEMBERSHIP_CTX | rootKey:bytes32, leaf:bytes32, proofOffset:uint256 | no | no |
0x46 | CALLDATA_SLICE_KECCAK256_EQ | offset:uint256, expectedHash:bytes32, maxLen:uint256, operator:uint8 (op) | no | no |
0x47 | MULTI_CHECK_NOT | - | no | no |
0x80 | PUSH | value:uint256 | no | no |
0x81 | ADD | - | no | no |
0x82 | SUB | - | no | no |
0x83 | MUL | - | no | no |
0x84 | DIV | - | no | no |
0x85 | MOD | - | no | no |
0x86 | EQ | - | no | no |
0x87 | LT | - | no | no |
0x88 | GT | - | no | no |
0x89 | NOT | - | no | no |
0x8a | JUMP_IF_FALSE | offset:uint16 | no | no |
0x8b | JUMP | offset:uint16 | no | no |
0x8c | ASSERT | - | no | no |
0x90 | STORE_REG | reg:uint8 | no | no |
0x91 | LOAD_REG | reg:uint8 | no | no |
0x92 | TSTORE | - | yes | no |
0x93 | TLOAD | - | no | no |
0x94 | TX_SESSION_SAVE | slot:uint256 | yes | no |
0x95 | DEPTH_INCREMENT | - | yes | no |
0x96 | DEPTH_CHECK | - | no | no |
0x97 | ACCUMULATE_VALUE | - | yes | no |
0x98 | ACCUMULATE | - | yes | no |
0x99 | TX_SESSION_VALIDATE | slot:uint256 | yes | no |
0x9a | TX_SESSION_SKIP_IF_CACHED | slot:uint256, skip:uint256 | yes | no |
0x9b | SET_VAR | slot:uint256 | yes | no |
0x9c | GET_VAR | slot:uint256 | no | no |
0x9d | PERSIST_LOAD | slot:uint256 | no | no |
0x9e | PERSIST_STORE | slot:uint256 | yes | no |
0xa0 | PERSIST_RATE_LIMIT_CONSUME | key:bytes32, windowSeconds:uint256, maxCount:uint256 | yes | no |
0xa1 | PERSIST_ACCUM_ADD_LTE | key:bytes32, delta:uint256, limit:uint256 | yes | no |
0xa2 | PERSIST_SET_BYTES32_ONCE | key:bytes32, value:bytes32 | yes | no |
0xa3 | PERSIST_COMMITMENT_LOAD | policyNamespace:bytes32, scopeType:uint256, scopeValue:bytes32, rootKey:bytes32 | no | no |
0xa4 | PERSIST_COMMITMENT_SET_BYTES32_ONCE | policyNamespace:bytes32, scopeType:uint256, scopeValue:bytes32, rootKey:bytes32, value:bytes32 | yes | no |
0xa5 | CALL_FN | functionId:uint16 | no | no |
0xa6 | RETURN | - | no | no |
0xa7 | CALLDATA_SELECTOR_EQ | selector:bytes4 | no | no |
0xa8 | EXEC_TARGET | - | no | no |
0xa9 | CALLDATA_STATIC_FIELD | selector:bytes4, offset:uint16, abiType:uint16 | no | no |
0xaa | EXEC_ACCOUNT | - | no | no |
0xab | EXEC_VALUE | - | no | no |
0xac | STATICCALL_WORD | selector:bytes4, gasLimit:uint32, returnType:uint8, argCount:uint8, argTypes:uint32, returnWordIndex:uint8 | no | no |
0xad | EXEC_SELECTOR | - | no | no |
0xae | PERSIST_LOAD_DECL | declIndex:uint16 | no | no |
0xaf | PERSIST_STORE_DECL | declIndex:uint16 | yes | no |
0xb0 | TRANSIENT_LOAD_DECL | declIndex:uint16 | no | no |
0xb1 | TRANSIENT_STORE_DECL | declIndex:uint16 | yes | no |
0xb2 | EXEC_PHASE | - | no | no |
0xb3 | EXEC_AUTHORIZER_COUNT | - | no | no |
0xb4 | EXEC_AUTHORIZED_BY | - | no | no |