• Hero Bird's avatar
    Avoid heap allocations for contract dispatch (#449) · f5b3c481
    Hero Bird authored
    * [core] add Env::decode_input
    
    * [lang/macro] remove unneeded crate dependencies
    
    # Conflicts:
    #	lang/macro/Cargo.toml
    
    * [lang, lang/macro] add message dispatcher type code generation
    
    * [lang/macro] add constructor dispatch enum code generation
    
    * [lang] add executor functions and Execute trait
    
    * [core] add decode_input to public env API
    
    * [lang] fix incorrect trait bound in execute_message
    
    * [lang/macro] add code generation for ink_lang::Execute
    
    * [lang/macro] integrate Execute trait impls into contract dispatch
    
    * [lang/macro] fix bug with constructors and messages with multiple inputs
    
    * [lang] apply rustfmt
    
    * [lang/macro] apply rustfmt + fix clippy warnings
    
    * [lang] remove testable module
    
    * [lang] clean-up lang module after implementing new dispatch codegen
    
    # Conflicts:
    #	lang/src/dispatcher.rs
    
    * [lang] re-enable alloc init and finalize
    
    * [lang] apply rustfmt
    
    * [core] remove Env::input function
    
    It has been deprecated. Users should use Env::decode_input function instead.
    
    # Conflicts:
    #	core/src/env/engine/off_chain/mod.rs
    
    * [core, examples] fix move of CallData to env::test API
    
    * [core] apply rustfmt
    
    * [examples] fix examples Selector::from_str -> new
    
    * [examples] fix multisig_plain doc-test import
    
    * [examples] apply rustfmt to multisig_plain example
    
    * [lang/macro] resolve some code dupes
    f5b3c481