# 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