|
| struct | MemoryTagWrapper |
| | Wrapper for MemoryTag to allow for msgpack packing and unpacking. More...
|
| |
| struct | AddressingModeWrapper |
| | Wrapper for AddressingMode to allow for msgpack packing and unpacking. More...
|
| |
| struct | VariableRef |
| |
| struct | AddressRef |
| |
| struct | ResolvedAddress |
| | Output of resolving an address in the memory manager In order to resolve a given absolute address with a given addressing mode, we might have needed to override the base pointer or to make use of indirection via a pointer address, or both. More...
|
| |
| struct | ADD_8_Instruction |
| | mem[result_offset] = mem[a_address] + mem[b_address] More...
|
| |
| struct | SUB_8_Instruction |
| | mem[result_offset] = mem[a_address] - mem[b_address] More...
|
| |
| struct | MUL_8_Instruction |
| | mem[result_offset] = mem[a_address] * mem[b_address] More...
|
| |
| struct | DIV_8_Instruction |
| | mem[result_offset] = mem[a_address] / mem[b_address] More...
|
| |
| struct | FDIV_8_Instruction |
| |
| struct | EQ_8_Instruction |
| | mem[result_offset] = mem[a_address] == mem[b_address] More...
|
| |
| struct | LT_8_Instruction |
| | mem[result_offset] = mem[a_address] < mem[b_address] More...
|
| |
| struct | LTE_8_Instruction |
| | mem[result_offset] = mem[a_address] <= mem[b_address] More...
|
| |
| struct | AND_8_Instruction |
| | mem[result_offset] = mem[a_address] & mem[b_address] More...
|
| |
| struct | OR_8_Instruction |
| | mem[result_offset] = mem[a_address] | mem[b_address] More...
|
| |
| struct | XOR_8_Instruction |
| | mem[result_offset] = mem[a_address] ^ mem[b_address] More...
|
| |
| struct | NOT_8_Instruction |
| |
| struct | SHL_8_Instruction |
| | mem[result_offset] = mem[a_address] << mem[b_address] More...
|
| |
| struct | SHR_8_Instruction |
| | mem[result_offset] = mem[a_address] >> mem[b_address] More...
|
| |
| struct | SET_8_Instruction |
| | SET_8 instruction. More...
|
| |
| struct | SET_16_Instruction |
| | SET_16 instruction. More...
|
| |
| struct | SET_32_Instruction |
| | SET_32 instruction. More...
|
| |
| struct | SET_64_Instruction |
| | SET_64 instruction. More...
|
| |
| struct | SET_128_Instruction |
| | SET_128 instruction. More...
|
| |
| struct | SET_FF_Instruction |
| | SET_FF instruction. More...
|
| |
| struct | MOV_8_Instruction |
| | MOV_8 instruction: mem[dst_offset] = mem[src_offset]. More...
|
| |
| struct | MOV_16_Instruction |
| | MOV_16 instruction: mem[dst_offset] = mem[src_offset]. More...
|
| |
| struct | ADD_16_Instruction |
| | mem[result_offset] = mem[a_address] + mem[b_address] (16-bit) More...
|
| |
| struct | SUB_16_Instruction |
| | mem[result_offset] = mem[a_address] - mem[b_address] (16-bit) More...
|
| |
| struct | MUL_16_Instruction |
| | mem[result_offset] = mem[a_address] * mem[b_address] (16-bit) More...
|
| |
| struct | DIV_16_Instruction |
| | mem[result_offset] = mem[a_address] / mem[b_address] (16-bit) More...
|
| |
| struct | FDIV_16_Instruction |
| |
| struct | EQ_16_Instruction |
| | mem[result_offset] = mem[a_address] == mem[b_address] (16-bit) More...
|
| |
| struct | LT_16_Instruction |
| | mem[result_offset] = mem[a_address] < mem[b_address] (16-bit) More...
|
| |
| struct | LTE_16_Instruction |
| | mem[result_offset] = mem[a_address] <= mem[b_address] (16-bit) More...
|
| |
| struct | AND_16_Instruction |
| | mem[result_offset] = mem[a_address] & mem[b_address] (16-bit) More...
|
| |
| struct | OR_16_Instruction |
| | mem[result_offset] = mem[a_address] | mem[b_address] (16-bit) More...
|
| |
| struct | XOR_16_Instruction |
| | mem[result_offset] = mem[a_address] ^ mem[b_address] (16-bit) More...
|
| |
| struct | NOT_16_Instruction |
| |
| struct | SHL_16_Instruction |
| | mem[result_offset] = mem[a_address] << mem[b_address] (16-bit) More...
|
| |
| struct | SHR_16_Instruction |
| | mem[result_offset] = mem[a_address] >> mem[b_address] (16-bit) More...
|
| |
| struct | CAST_8_Instruction |
| | CAST_8: cast mem[src_offset_index] to target_tag and store at dst_offset. More...
|
| |
| struct | CAST_16_Instruction |
| | CAST_16: cast mem[src_offset_index] to target_tag and store at dst_offset. More...
|
| |
| struct | SSTORE_Instruction |
| | SSTORE: M[slot_offset_index] = slot; S[M[slotOffset]] = M[srcOffset]. More...
|
| |
| struct | SLOAD_Instruction |
| | SLOAD: M[slot_offset] = slot; M[result_offset] = S[M[slotOffset]]. More...
|
| |
| struct | GETENVVAR_Instruction |
| | GETENVVAR: M[result_offset] = getenvvar(type) More...
|
| |
| struct | EMITNULLIFIER_Instruction |
| | EMITNULIFIER: inserts new nullifier to the nullifier tree. More...
|
| |
| struct | NULLIFIEREXISTS_Instruction |
| | NULLIFIEREXISTS: checks if nullifier exists in the nullifier tree Gets contract's address by GETENVVAR(0) M[result_offset] = NULLIFIEREXISTS(M[nullifier_offset_index], GETENVVAR(0)) More...
|
| |
| struct | L1TOL2MSGEXISTS_Instruction |
| | L1TOL2MSGEXISTS: Check if a L1 to L2 message exists M[result_address] = L1TOL2MSGEXISTS(M[msg_hash_address], M[leaf_index_address]) More...
|
| |
| struct | EMITNOTEHASH_Instruction |
| | EMITNOTEHASH: M[note_hash_offset] = note_hash; emit note hash to the note hash tree. More...
|
| |
| struct | NOTEHASHEXISTS_Instruction |
| | NOTEHASHEXISTS: M[result_offset] = NOTEHASHEXISTS(M[notehash_offset], M[leaf_index_offset]) len = length(memory_manager.emitted_note_hashes); M[notehash_offset] = unique_note_hash(CONTRACT_ADDRESS, memory_manager.emitted_note_hashes[notehash_index % len]); M[leaf_index_offset] = notehash_index % len; M[result_offset] = NOTEHASHEXISTS(M[notehash_offset], M[leaf_index_offset]);. More...
|
| |
| struct | CALLDATACOPY_Instruction |
| | CALLDATACOPY: M[dstOffset:dstOffset+M[copySizeOffset]] = calldata[M[cdStartOffset]:M[cdStartOffset]+M[copySizeOffset]]. More...
|
| |
| struct | SENDL2TOL1MSG_Instruction |
| |
| struct | EMITUNENCRYPTEDLOG_Instruction |
| |
| struct | CALL_Instruction |
| |
| struct | RETURNDATASIZE_WITH_RETURNDATACOPY_Instruction |
| | : RETURNDATASIZE + RETURNDATACOPY: More...
|
| |
| struct | GETCONTRACTINSTANCE_Instruction |
| |
| struct | SUCCESSCOPY_Instruction |
| |
| struct | ECADD_Instruction |
| |
| struct | POSEIDON2PERM_Instruction |
| | POSEIDON2PERM: Perform Poseidon2 permutation on 4 FF values M[dst_address:dst_address+4] = poseidon2_perm(M[src_address:src_address+4]) More...
|
| |
| struct | KECCAKF1600_Instruction |
| | KECCAKF1600: Perform Keccak-f[1600] permutation on 25 U64 values M[dst_address:dst_address+25] = keccakf1600(M[src_address:src_address+25]) More...
|
| |
| struct | SHA256COMPRESSION_Instruction |
| | SHA256COMPRESSION: Perform SHA256 compression M[dst_address:dst_address+8] = sha256_compression(M[state_address:state_address+8], M[input_address:input_address+16]) More...
|
| |
| struct | TORADIXBE_Instruction |
| | TORADIXBE: Convert a field element to a vector of limbs in big-endian radix representation M[dst_address:dst_address+num_limbs] = to_radix_be(M[value_address], radix, num_limbs) More...
|
| |
| struct | overloaded< Ts > |
| |