- Major VM API trait refactoring. All API methods can be accessed from a static context. Removed api instance variables from all objects.
- External view contracts
- Annotating one or more endpoints with
#[external_view]
triggers the framework to create a second "external view" contract where all these endpoints are placed. This is primarily to reduce the main contract size. - General
meta
crate functionality refactor to allow multiple contract generation.
- Annotating one or more endpoints with
ManagedRef
type- Provided as a more efficient alternative to regular references to managed types
- Has
Copy
semantics ManagedVec
iterators made safer by the proper use of lifetimesManagedVec
get_mut
offers a safe mutable reference, using lifetimes- Some initial optimizations in storage mappers
- First version of a message formatter based on
ManagedBuffer
ssc_print!
macrosc_panic!
macro
- Random number generator wrapper over randomness source from the VM