• Alexander Theißen's avatar
    contracts: Allow runtime authors to define a chain extension (#7548) · 51c37ecc
    Alexander Theißen authored
    * Make host functions return TrapReason
    
    This avoids the need to manually store any trap reasons
    to the `Runtime` from the host function. This adds the following
    benefits:
    
    * It properly composes with the upcoming chain extensions
    * Missing to set a trap value is now a compile error
    
    * Add chain extension
    
    The chain extension is a way for the contract author to add new
    host functions for contracts to call.
    
    * Add tests for chain extensions
    
    * Fix regression in set_rent.wat fixture
    
    Not all offsets where properly updated when changing the fixtures
    for the new salt on instantiate.
    
    * Pre-charge a weight amount based off the specified length
    
    * Improve fn write docs
    
    * Renamed state to phantom
    
    * Fix typo
    51c37ecc