Holds all external dependencies of the contract.
Designed to allow easy dependency injection at runtime.
This cannot be copied or cloned since it would behave differently
for mock storages and a bridge storage in the VM.
A structure that represents gas cost to be deducted from the remaining gas.
This is always needed when computations are performed outside of
Wasm execution, such as calling crypto APIs or calls into the blockchain.
Statistics about the usage of a cache instance. Those values are node
specific and must not be used in a consensus critical context.
When a node is hit by a client for simulations or other queries, hits and misses
increase. Also a node restart will reset the values.
Limits for static validation of Wasm files. These are checked before storing the Wasm file.
All limits are optional because they are coming from the Go-side and have default values.
Calls Wasm export “migrate” and returns raw data from the contract.
The result is length limited to prevent abuse but otherwise unchecked.
The difference between this function and call_migrate_raw is the
additional argument - migrate_info. It contains additional data
related to the contract’s migration procedure.
Takes a comma-separated string, splits it by commas, removes empty elements and returns a set of capabilities.
This can be used e.g. to initialize the cache.
A result type for calling into the backend. Such a call can cause
non-negligible computational cost in both success and failure case and
must always have gas information attached.