miden-protocol 0.16.0-alpha.1

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