• Alexander Theißen's avatar
    seal: Fix and improve error reporting (#6773) · 6671d017
    Alexander Theißen authored
    * seal: Rework ext_transfer, ext_instantiate, ext_call error handling
    
    * Deny calling plain accounts (must use transfer now)
    * Return proper module error rather than ad-hoc strings
    * Return the correct error codes from call,instantiate (documentation was wrong)
    * Make ext_transfer fallible again to make it consistent with ext_call
    
    * seal: Improve error messages on memory access failures
    
    * seal: Convert contract trapped to module error
    
    * seal: Add additional tests for transfer, call, instantiate
    
    These tests verify that those functions return the error types
    which are declared in its docs.
    
    * Make it more pronounced that to_execution_result handles trap_reason
    
    * Improve ReturnCode docs
    
    * Fix whitespace issues in wat files
    
    * Improve ReturnCode doc
    
    * Improve ErrorOrigin doc and variant naming
    
    * Improve docs on ExecResult and ExecError
    
    * Encode u32 sentinel value as hex
    
    * with_nested_context no longer accepts an Option for trie
    
    * Fix successful typo
    
    * Rename InvalidContractCalled to NotCallable
    6671d017