1. Feb 14, 2020
    • Alexander Theißen's avatar
      Allow to distinguish out of gas from other traps (#4883) · b999911b
      Alexander Theißen authored
      * contracts: Allow to distinguish out of gas from other traps
      
      When a contract encounters a runtime error a wasm trap is
      triggered and the execution is halted. Currently, no matter
      what was the cause for the trap it is always reported as:
      DispatchError::Other("contract trapped during execution").
      
      However, the trap that is triggered if a contract exhausts
      its gas budget is particulary interesting. Therefore we add
      a seperate error message for this cause:
      DispatchError::Other("ran out of gas during contract execution").
      
      A test is added hat executes a contract that never terminates.
      Therefore it always exhausts is gas budget.
      
      * fixup! contracts: Allow to distinguish out of gas from other traps
      
      Remove overlong lines.
      
      * fixup! contracts: Allow to distinguish out of gas from other traps
      
      Rename Contract to Contracts
      b999911b
  2. Jan 29, 2020
  3. Jan 23, 2020
  4. Jan 21, 2020
    • Hero Bird's avatar
      contracts: New contract events + unconfusions (#4685) · caa6efa5
      Hero Bird authored and Sergey Pepyakin's avatar Sergey Pepyakin committed
      * contracts: during execution -> contract trapped during execution
      
      This message confused many people so we are improving it to make clear what happened.
      
      * contracts: rename Event::Contract -> Event::ContractExecution
      
      * contracts: fix tests after ContractExecution renaming
      
      * contracts: Add Evicted and Restored events
      
      * fix doc comment
      
      * wrap to not go over (soft) 100 column line limit
      
      * add event deposit for eventual eviction upon pay_rent
      
      * contracts: adjust tests for the new events
      
      * emit Evicted event immediately and add tombstone flag bool
      caa6efa5
  5. Jan 05, 2020
  6. Dec 19, 2019
    • Bastian Köcher's avatar
      Make `decl_error!` errors usable (#4449) · 8e393aa5
      Bastian Köcher authored
      * Make `decl_error!` errors usable
      
      This pr implements support for returning errors of different pallets in
      a pallet. These errors need to be declared with `decl_error!`.
      
      The pr changes the following:
      
      - Each dispatchable function now returns a `DispatchResult` which is an
      alias for `Result<(), DispatchError>`.
      - `DispatchError` is an enum that has 4 variants:
        - `Other`: For storing string error messages
        - `CannotLookup`: Variant that is returned when something returns a
        `sp_runtime::LookupError`
        - `BadOrigin`: Variant that is returned for any kind of bad origin
        - `Module`: The error of a specific module. Contains the `index`,
        `error` and the `message`. The index is the index of the module in
        `construct_runtime!`. `error` is the index of the error in the error
        enum declared by `decl_error!`. `message` is the message to the error
        variant (this will not be encoded).
      - `construct_runtime!` now creates a new struct `ModuleToIndex`. This
      struct implements the trait `ModuleToIndex`.
      - `frame_system::Trait` has a new associated type: `ModuleToIndex` that
      expects the `ModuleToIndex` generated by `construct_runtime!`.
      - All error strings returned in any module are being converted now to `DispatchError`.
      - `BadOrigin` is the default error returned by any type that implements `EnsureOrigin`.
      
      * Fix frame system benchmarks
      8e393aa5
  7. Dec 16, 2019
    • Tomasz Drwięga's avatar
      [big refactor] Remove crate aliasing. (#4395) · 8778ca7d
      Tomasz Drwięga authored
      * Rename: Phase 1.
      
      * Unify codec.
      
      * Fixing: Phase 2
      
      * Fixing: Phase 3.
      
      * Fixing: Phase 4.
      
      * Fixing: Phase 5.
      
      * Fixing: Phase 6.
      
      * Fixing: Phase 7.
      
      * Fixing: Phase 8. Tests
      
      * Fixing: Phase 9. Tests!!!
      
      * Fixing: Phase 10. Moar tests!
      
      * Finally done!
      
      * More fixes.
      
      * Rename primitives:: to sp_core::
      
      * Apply renames in finality-grandpa.
      
      * Fix benches.
      
      * Fix benches 2.
      
      * Revert node-template.
      
      * Fix frame-system in our modules.
      8778ca7d
  8. Dec 10, 2019
  9. Dec 02, 2019
    • Benjamin Kampmann's avatar
      The crate rename (#4223) · 927e13c1
      Benjamin Kampmann authored
      * Adding script for rename, could be applicable for nodes on top of it, too
      
      * add stderr and gitlab ci features
      
      * apply script
      
      * fix now minor details in expected stderr
      
      * Update the Cargo.lock
      
      * fix name: sc-transaction -> sc-tracing
      
      * fix rename in script, too
      927e13c1
  10. Nov 22, 2019