Module casper_contract::contract_api::storage
source · Expand description
Functions for accessing and mutating local and global state.
Functions
- Adds
value
to the one currently underuref
in the global state. - Add a new version of a contract to the contract stored at the given
Key
. Note that this contract must have been created bycreate_contract
orcreate_contract_package_at_hash
first. - Create a new (versioned) contract stored under a Key::Hash. Initially there are no versions; a version must be added via
add_contract_version
before the contract can be executed. - Create a new “user group” for a (versioned) contract. User groups associate a set of URefs with a label. Entry points on a contract can be given a list of labels they accept and the runtime will check that a URef from at least one of the allowed groups is present in the caller’s context before execution. This allows access control for entry_points of a contract. This function returns the list of new URefs created for the group (the list will contain
num_new_urefs
elements). - Retrieve
value
stored underdictionary_item_key
in the dictionary accessed bydictionary_seed_uref
. - Writes
value
underdictionary_item_key
in the dictionary accessed bydictionary_seed_uref
. - Reads value under
dictionary_key
in the global state. - Disable a version of a contract from the contract stored at the given
Key
. That version of the contract will no longer be callable bycall_versioned_contract
. Note that this contract must have been created bycreate_contract
orcreate_contract_package_at_hash
first. - Enable a version of a contract from the contract stored at the given hash. That version of the contract will no longer be callable by
call_versioned_contract
. Note that this contract must have been created bynew_contract
orcreate_contract_package_at_hash
first. - Gets a value out of a named dictionary.
- Writes a value in a named dictionary.
- Create a new contract stored under a Key::Hash at version 1. You may upgrade this contract in the future; if you want a contract that is locked (i.e. cannot be upgraded) call
new_locked_contract
instead. ifnamed_keys
are provided, will apply them ifhash_name
is provided, puts contract hash in current context’s named keys underhash_name
ifuref_name
is provided, puts access_uref in current context’s named keys underuref_name
- Creates new
URef
that represents a seed for a dictionary partition of the global state and puts it under named keys. - Create a locked contract stored under a Key::Hash, which can never be upgraded. This is an irreversible decision; for a contract that can be upgraded use
new_contract
instead. ifnamed_keys
are provided, will apply them ifhash_name
is provided, puts contract hash in current context’s named keys underhash_name
ifuref_name
is provided, puts access_uref in current context’s named keys underuref_name
- Returns a new unforgeable pointer, where the value is initialized to
init
. - Extends specified group with a new
URef
. - Reads value under
uref
in the global state. - Reads value under
key
in the global state. - Reads value under
uref
in the global state, reverts if value not found or is notT
. - Remove a named group from given contract.
- Removes specified urefs from a named group.
- Writes
value
underuref
in the global state.