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.
Takes a comma-separated string, splits it by commas, removes empty elements and returns a set of features.
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 faiure case and must always have gas information
attached.