miden-protocol 0.16.0-alpha.4

Core components of the Miden protocol
Documentation
# OFFSET CONSTANTS
# -------------------------------------------------------------------------------------------------

### Account #####################################

# Entire account commitment
pub const ACCOUNT_GET_INITIAL_COMMITMENT_OFFSET = 0
pub const ACCOUNT_COMPUTE_COMMITMENT_OFFSET = 1

# ID
pub const ACCOUNT_GET_ID_OFFSET = 2

# Nonce
pub const ACCOUNT_GET_NONCE_OFFSET = 3 # accessor
pub const ACCOUNT_INCR_NONCE_OFFSET = 4 # mutator

# Code
pub const ACCOUNT_GET_CODE_COMMITMENT_OFFSET = 5

# Storage
pub const ACCOUNT_GET_INITIAL_STORAGE_COMMITMENT_OFFSET = 6
pub const ACCOUNT_COMPUTE_STORAGE_COMMITMENT_OFFSET = 7
pub const ACCOUNT_GET_ITEM_OFFSET = 8
pub const ACCOUNT_GET_INITIAL_ITEM_OFFSET = 9
pub const ACCOUNT_SET_ITEM_OFFSET = 10
pub const ACCOUNT_GET_MAP_ITEM_OFFSET = 11
pub const ACCOUNT_GET_INITIAL_MAP_ITEM_OFFSET = 12
pub const ACCOUNT_SET_MAP_ITEM_OFFSET = 13
pub const ACCOUNT_HAS_STORAGE_SLOT_OFFSET = 14

# Vault
pub const ACCOUNT_GET_INITIAL_VAULT_ROOT_OFFSET = 15
pub const ACCOUNT_GET_VAULT_ROOT_OFFSET = 16
pub const ACCOUNT_ADD_ASSET_OFFSET = 17
pub const ACCOUNT_REMOVE_ASSET_OFFSET = 18
pub const ACCOUNT_GET_ASSET_OFFSET = 19
pub const ACCOUNT_GET_INITIAL_ASSET_OFFSET = 20

# Delta
pub const ACCOUNT_COMPUTE_DELTA_COMMITMENT_OFFSET = 21

# Upgrade
pub const ACCOUNT_UPGRADE_OFFSET = 22

# Procedure introspection
pub const ACCOUNT_GET_NUM_PROCEDURES_OFFSET = 23
pub const ACCOUNT_GET_PROCEDURE_ROOT_OFFSET = 24
pub const ACCOUNT_WAS_PROCEDURE_CALLED_OFFSET = 25
pub const ACCOUNT_HAS_PROCEDURE_OFFSET = 26

### Faucet ######################################
pub const FAUCET_MINT_ASSET_OFFSET = 27
pub const FAUCET_BURN_ASSET_OFFSET = 28

### Note ########################################

# input notes
pub const INPUT_NOTE_GET_METADATA_OFFSET = 29
pub const INPUT_NOTE_GET_RECIPIENT_OFFSET = 30
pub const INPUT_NOTE_GET_INITIAL_ASSETS_INFO_OFFSET = 31
pub const INPUT_NOTE_GET_ASSET_OFFSET = 32
pub const INPUT_NOTE_REMOVE_ASSET_OFFSET = 33
pub const INPUT_NOTE_REMOVE_ALL_ASSETS_OFFSET = 34
pub const INPUT_NOTE_GET_ATTACHMENTS_COMMITMENT_OFFSET = 35
pub const INPUT_NOTE_GET_SCRIPT_ROOT_OFFSET = 36
pub const INPUT_NOTE_GET_STORAGE_INFO_OFFSET = 37
pub const INPUT_NOTE_GET_SERIAL_NUMBER_OFFSET = 38

# output notes
pub const OUTPUT_NOTE_CREATE_OFFSET = 39
pub const OUTPUT_NOTE_GET_METADATA_OFFSET = 40
pub const OUTPUT_NOTE_GET_RECIPIENT_OFFSET = 41
pub const OUTPUT_NOTE_GET_ASSETS_INFO_OFFSET = 42
pub const OUTPUT_NOTE_GET_ATTACHMENTS_COMMITMENT_OFFSET = 43
pub const OUTPUT_NOTE_ADD_ASSET_OFFSET = 44
pub const OUTPUT_NOTE_ADD_ATTACHMENT_OFFSET = 45

### Tx ##########################################

# input notes
pub const TX_GET_NUM_INPUT_NOTES_OFFSET = 46
pub const TX_GET_INPUT_NOTES_COMMITMENT_OFFSET = 47

# output notes
pub const TX_GET_NUM_OUTPUT_NOTES_OFFSET = 48
pub const TX_GET_OUTPUT_NOTES_COMMITMENT_OFFSET = 49

# block info
pub const TX_GET_BLOCK_COMMITMENT_OFFSET = 50
pub const TX_GET_BLOCK_NUMBER_OFFSET = 51
pub const TX_GET_BLOCK_TIMESTAMP_OFFSET = 52

# foreign context
pub const TX_PREPARE_FPI_OFFSET = 53
pub const TX_EXEC_FOREIGN_PROC_OFFSET = 54

# expiration data
pub const TX_GET_EXPIRATION_DELTA_OFFSET = 55 # accessor
pub const TX_UPDATE_EXPIRATION_BLOCK_DELTA_OFFSET = 56 # mutator

# tx script
pub const TX_GET_TX_SCRIPT_ROOT_OFFSET = 57

# fee
pub const TX_COMPUTE_FEE_OFFSET = 58