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
    • Gavin Wood's avatar
      Composite accounts (#4820) · 5b7512e2
      Gavin Wood authored
      
      
      * Basic account composition.
      
      * Add try_mutate_exists
      
      * De-duplicate
      
      * Refactor away the UpdateBalanceOutcome
      
      * Expunge final UpdateBalanceOutcome refs
      
      * Refactor transfer
      
      * Refactor reservable currency stuff.
      
      * Test with the alternative setup.
      
      * Fixes
      
      * Test with both setups.
      
      * Fixes
      
      * Fix
      
      * Fix macros
      
      * Make indices opt-in
      
      * Remove CreationFee, and make indices opt-in.
      
      * Fix construct_runtime
      
      * Fix last few bits
      
      * Fix tests
      
      * Update trait impls
      
      * Don't hardcode the system event
      
      * Make tests build and fix some stuff.
      
      * Pointlessly bump runtime version
      
      * Fix benchmark
      
      * Another fix
      
      * Whitespace
      
      * Make indices module economically safe
      
      * Migrations for indices.
      
      * Fix
      
      * Whilespace
      
      * Trim defunct migrations
      
      * Remove unused storage item
      
      * More contains_key fixes
      
      * Docs.
      
      * Bump runtime
      
      * Remove unneeded code
      
      * Fix test
      
      * Fix test
      
      * Update frame/balances/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Fix ED logic
      
      * Repatriate reserved logic
      
      * Typo
      
      * Fix typo
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Last few fixes
      
      * Another fix
      
      * Build fix
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarJaco Greeff <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      5b7512e2
  2. Feb 13, 2020
    • Kian Paimani's avatar
      Per-things trait. (#4904) · c871eaac
      Kian Paimani authored
      * Give perthigns the trait it always deserved.
      
      * Make staking and phragmen work with the new generic per_thing
      
      * Make everything work together 🔨
      
      * a bit of cleanup
      
      * Clean usage
      
      * Bump.
      
      * Fix name
      
      * fix grumbles
      
      * hopefully fix the ui test
      
      * Some grumbles
      
      * revamp traits again
      
      * Better naming again.
      c871eaac
  3. Feb 12, 2020
  4. Feb 08, 2020
  5. Feb 01, 2020
    • Gavin Wood's avatar
      Refactor the balances module (#4649) · d52d8692
      Gavin Wood authored
      
      
      * Initially scoping out of the problem
      
      * Remove need for exiry in balance locks.
      
      * Remove expiry from locks.
      
      * Remove supefluous balance test
      
      * Amalgamate pieces of balance module
      
      * Split out vesting
      
      * Fix tests
      
      * Fixes for vesting.
      
      * Docs.
      
      * Weight docs.
      
      * Refactor things in terms of set_balances.
      
      * Switch out ED to be free + reserved.
      
      * Remove on_free_balance_zero and some docs.
      
      * Build fixes
      
      * Update frame/vesting/src/lib.rs
      
      Co-Authored-By: default avatarXiliang Chen <[email protected]>
      
      * Update frame/vesting/src/lib.rs
      
      Co-Authored-By: default avatarXiliang Chen <[email protected]>
      
      * Migration
      
      * Remove superfluous code.
      
      * Test fixes
      
      * Fix some tests
      
      * Fix repatriate reserve
      
      * Fixes
      
      * Add test for migration
      
      * Final cleanups
      
      * Fix
      
      * Indentation.
      
      * Undo unneeded referencing
      
      * Bump runtime version
      
      * Fixes
      
      Co-authored-by: default avatarXiliang Chen <[email protected]>
      d52d8692
  6. Jan 31, 2020
    • Sergey Pepyakin's avatar
      Small follow-up docs improvements in rent module (#4790) · 4cbd03f6
      Sergey Pepyakin authored
      
      
      * Small follow-up docs improvements in rent module
      
      * Update frame/contracts/src/rent.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Use a shorter version of the sentence
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      4cbd03f6
    • Sergey Pepyakin's avatar
      pallet-contracts: Rent projection RPC (#4754) · df6ef178
      Sergey Pepyakin authored
      * Initial approach
      
      * Introduce the pallet-contracts-common crate
      
      * Add rent::compute_rent_projection
      
      * Wire everything together
      
      * Fix build error.
      
      * Rename EvictionDate → EvictionAt.
      
      * Clean.
      
      * Renaming and cleaning.
      
      * Add documentation for rent_projection RPC.
      
      * Add documentation for rent_projection runtime API.
      
      * Refactor rent_budget.
      
      Merge it with subsistence_treshold.
      
      * Bump impl_version
      
      * Constrain RPC impl with Block::Header::Number.
      
      * Rename pallet-contracts-common into -primitives
      
      * Add a comment for `compute_rent_projection` on the usage
      
      * Small tidying
      df6ef178
  7. Jan 30, 2020
    • Bastian Köcher's avatar
      Expose information about the extrinsic in the metadata (#4774) · 45938d80
      Bastian Köcher authored
      * Expose information about the extrinsic in the metadata
      
      This pr exposes some information about the extrinsic used in the runtime
      via metadata. The following information are exposed:
      
      - Version of the extrinsic
      - List of all signed extensions used by the extrinsic.
      
      * Increment `spec_version`
      45938d80
  8. Jan 29, 2020
  9. Jan 27, 2020
  10. Jan 23, 2020
  11. 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
  12. Jan 15, 2020
  13. Jan 10, 2020
    • Bastian Köcher's avatar
      Remove requirement on `Hash = H256`, make `Proposer` return `StorageChanges` and `Proof` (#3860) · fd6b29dd
      Bastian Köcher authored
      
      
      * Extend `Proposer` to optionally generate a proof of the proposal
      
      * Something
      
      * Refactor sr-api to not depend on client anymore
      
      * Fix benches
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Apply suggestions from code review
      
      * Introduce new `into_storage_changes` function
      
      * Switch to runtime api for `execute_block` and don't require `H256`
      anywhere in the code
      
      * Put the `StorageChanges` into the `Proposal`
      
      * Move the runtime api error to its own trait
      
      * Adds `StorageTransactionCache` to the runtime api
      
      This requires that we add `type NodeBlock = ` to the
      `impl_runtime_apis!` macro to work around some bugs in rustc :(
      
      * Remove `type NodeBlock` and switch to a "better" hack
      
      * Start using the transaction cache from the runtime api
      
      * Make it compile
      
      * Move `InMemory` to its own file
      
      * Make all tests work again
      
      * Return block, storage_changes and proof from Blockbuilder::bake()
      
      * Make sure that we use/set `storage_changes` when possible
      
      * Add test
      
      * Fix deadlock
      
      * Remove accidentally added folders
      
      * Introduce `RecordProof` as argument type to be more explicit
      
      * Update client/src/client.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Update primitives/state-machine/src/ext.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Integrates review feedback
      
      * Remove `unsafe` usage
      
      * Update client/block-builder/src/lib.rs
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * Update client/src/call_executor.rs
      
      * Bump versions
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      fd6b29dd
    • Tomasz Drwięga's avatar
      Add documentation to SubmitSignedTransaction and actually make it work (#4200) · 74d6e660
      Tomasz Drwięga authored
      
      
      * Add documentation to signed transactions and actually make them work.
      
      * Fix naming and bounds.
      
      * Forgotten import.
      
      * Remove warning.
      
      * Make accounts optional, fix logic.
      
      * Split the method to avoid confusing type error message.
      
      * Move executor tests to integration.
      
      * Add submit transactions tests.
      
      * Make `submit_transaction` tests compile
      
      * Remove a file that was accidently committed
      
      * Add can_sign helper function.
      
      * Fix compilation.
      
      * Add a key to keystore.
      
      * Fix the tests.
      
      * Remove env_logger.
      
      * Fix sending multiple transactions.
      
      * Remove commented code.
      
      * Bring back criterion.
      
      * Remove stray debug log.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Make sure to initialize block correctly.
      
      * Initialize block for offchain workers.
      
      * Add test for transaction validity.
      
      * Fix tests.
      
      * Review suggestions.
      
      * Remove redundant comment.
      
      * Make sure to use correct block number of authoring.
      
      * Change the runtime API.
      
      * Support both versions.
      
      * Bump spec version, fix RPC test.
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      74d6e660
    • Shawn Tabrizi's avatar
      Introduce `OnReapAccount` (#4585) · a1e0076a
      Shawn Tabrizi authored
      * Initial run and gun at `OnReapAccount`
      
      * Fix some imports
      
      * More fixes
      
      * Whitespace
      
      * More wack-a-mole
      
      * Gotta catch em all
      
      * Update lib.rs
      
      * Small doc update
      
      * Whitespace
      a1e0076a
  14. Jan 05, 2020
  15. Dec 24, 2019
  16. 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
  17. Dec 17, 2019
    • Benjamin Kampmann's avatar
      Setting versions locally towards 2.0 release (#4404) · 9200bfa9
      Benjamin Kampmann authored
      * clean up cargo.toml syntax
      
      * bumping versions to 2.0
      
      * bump networking to 0.8
      
      * move consensus down to 0.8
      
      * bump consensus pallets to 0.8.0, too
      
      * Upping babe and aura pallets
      
      * add remaining, missing version definitions
      
      * missed some
      9200bfa9
  18. 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
  19. Dec 14, 2019
    • cheme's avatar
      Fix key collision for child trie (#4162) · 0ece5d9e
      cheme authored
      * In progress, runtime io must switch to future proof root +
      child_specific (unique id) + u32 type.
      
      * Switch interface, sr-io seems ok, rpc could use similar interface to
      sr-io, genesis json broken if there is child trie in existing encoding
      genesis.
      
      * test from previous implementation.
      
      * fix proving test.
      
      * Restore Keyspacedb from other branch, only apply to child trie.
      
      * Removing unneeded child_info from child root (child info are stored
      if things changed, otherwhise the root does not change).
      
      * Switch rpc to use same format as ext: more future proof.
      
      * use root from child info for trie backend essence.
      
      * Breaking long lines.
      
      * Update doc and clean pr a bit.
      
      * fix error type
      
      * Restore removed doc on merge and update sr-io doc.
      
      * Switch child storage api to use directly unique id, if managed id
      where to be put in place, the api will change at this time.
      
      * Clean deprecated host interface from child.
      
      * Removing assertion on child info (can fail depending on root
      memoization).
      
      * merging child info in the overlay when possible.
      
      * child iteration by prefix using child_info.
      
      * Using ChainInfo in frame support. ChainInfo gets redesign to avoid
      buffers allocation on every calls.
      
      * Add length of root to the data of child info.
      
      * comments
      
      * Encode compact.
      
      * Remove child info with root.
      
      * Fix try_update condition.
      
      * Comment Ext child root caching.
      
      * Replace tuples by struct with field
      
      * remove StorageTuple alias.
      
      * Fix doc tests, and remove StorageOverlay and ChildStorageOverlay
      aliases.
      0ece5d9e
  20. Dec 11, 2019
    • Benjamin Kampmann's avatar
      Fix folder names in primitives (#4358) · df133d6b
      Benjamin Kampmann authored
      * sr-arithmetic -> arithmetic
      
      * sr-sandbox -> sandbox
      
      * primitives/sr-staking-primitives -> primitives/staking
      
      * primitives/sr-version -> primitives/version
      
      * primitives/block-builder/runtime-api -> primitives/block-builder
      df133d6b
  21. Dec 10, 2019
  22. Dec 09, 2019
  23. Dec 05, 2019
  24. 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
  25. Nov 29, 2019
  26. Nov 28, 2019
  27. Nov 27, 2019
  28. Nov 26, 2019
    • Benjamin Kampmann's avatar
      Remove all (non-dev) `client` references from `frame`, activate dependency enforcer (#4184) · bd652793
      Benjamin Kampmann authored
      * Move transaction pool to primitives
      
      * move backend, errors into primitives
      
      * remove unused client depencies
      
      * Move rpc-api into primitives
      
      * Move peerset back to client
      
      * Move rpc/api back to client, move palette/support/rpc into utils
      
      * move support-rpc into subfolder
      
      * move system-rpc into utils
      
      * move transaction-pool  and -graph back into client
      
      * fix broken imports
      
      * Clean up test primitives
      
      * Make support test utils independent of frame
      
      * remove unnecessary node dependencies from service
      
      * Reactivate dependency script:
       - only enforce the now achieved status quo will remain
       - allow for primitives to depend on /client for now without failing
       - more discriptive error message so people understand, what it wants
       - minor fix to differentiative between ../client and /client (which may be a subfolder)
       - don't allow this to fail anylonger.
      
      * fix doc comment
      
      * 'Should not' rather than 'must not'.
      
      * Revert unwanted dependency changes
      
      * fix faulty import
      
      * fixup derive_more version
      
      * fix wrong import path
      bd652793
  29. Nov 25, 2019
  30. Nov 22, 2019