* 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
* Add rules and unfounding to society.
* Docs and event
* Extra bit of docs.
* Cunningly reduce complexity
* Remove candidates when unfounding.
* Remove suspended candidates when unfounding, too.
* Add `max_members` to `found`, add society genesis for Substrate node
* Update test
* Use `Option<bool>` rather than `Option<()>`
* Update from feedback
* Implement runtime version checks in `set_code`
Check that the new runtime code given to `set_code` fullfills some
requirements:
- `spec_name` matches
- `spec_version` does not decreases
- `impl_version` does not decreases
- Either `spec_version` and `impl_version` increase
* Make tests almost work
* Some fixes after master merge
* Fix tests
* Add missed file
* Make depedency check happy?
* Remove leftover `sc-executor`
* AHHHHH
* Reset debug stuff
* Remove some 'static
* More 'static
* Some docs
* Update `Cargo.lock`
* reset a couple of versions down from v0.2.0
* Unstablise browser-utils (very new) and grafana-data-source (going to be replaced with prometheus sometime)
* unmark a bunch more client crates for stabilization
* fix versions in Cargo.tomls
* Downgrade network-test
* Set frame-metadata version to `10.0.0`
* Hide and documented storage generator as internal api
* Downgrade `sp-externalities`
* Downgrade `sc-cli`
* Downgrade sc-executor et al to 0.8.0
* Downgrade sp-state-machine to 0.8.0
* Downgrade pallet-contracts et al to 0.8.0
* Downgrade sp-sandbox to 0.8.0
* downgrade pallet-evm to 0.8.0
* Downgrade pallet-staking to 0.8.0
2.0 should be implementation of lazy payout alongside all the fixes of
current module
* Downgrade node-transaction-factory to 0.8.0
* frame pallets are 2.0.0
Co-authored-by: Ashley <ashley.ruglys@gmail.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Sergei Pepyakin <s.pepyakin@gmail.com>
Co-authored-by: Wei Tang <accounts@that.world>
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Marcio Diaz <marcio@parity.io>
Instead of having these weird implementation of `BuildStorage for
&ChainSpec` we should just take the `genesis_storage` by ref. The
`BuildStorage` trait changed some time ago to take a self ref anyway,
instead of a self value.
Also fixes warnings in frame-staking
* Select only one zero bid, better ordering of new bids
* Select zero bid as head
* Update comment
* Update frame/society/src/tests.rs
* Add new test, logic not updated yet
* Implement `put_bid` to order same value bids
Note that this extra logic currently does not do anything per the implementation of `binary_search` in Rust.
* Initial sketch of social recovery pallet
* Fix compilation issues
* Use a single total delay, rename stuff
* Check possible overflow
* Copyright bump
* Add mock for tests
* Add basic end to end test
* Add `create_recovery` tests
* Add malicious recovery lifecycle test
* Make clear we check for sorted and unique friends
* Work on some tests, clean up imports
* Change `if let Some(_)` to `ok_or()`
* More tests
* Finish tests, except issue with `on_free_balance_zero`
* Fix `on_free_balance_zero`
* Pallet docs
* Add function/weight docs
* Fix merge master
* OnReapAccount for System too
* Update weight docs
* Allow passthrough to support fee-less extrinsics
* Introduce efficient Hash-based RNG streamer
* Initial draft of the society module
* Introduce a test
* Dual-pot logic
* Vouching
* Use chacha
* Half way through moving to cliff payout.
* Fixes
* Add some tests
* Remove printlns
* Merge remote-tracking branch 'origin/gav-verified-id' into gav-verified-id
# Conflicts:
# frame/identity/src/lib.rs
* Merge remote-tracking branch 'origin/gav-verified-id' into gav-verified-id
# Conflicts:
# frame/identity/src/lib.rs
* Fix `slash_payout`, add test
* Test for multi-slash_payout
* Add docs to `put_bid` function and `bidding_works` test
* Add strikes to test
* Add comments to `rotate_period`
* Implement `suspend_member`
* Off chain iteration of suspended members using linked_map
* Half of suspended candidate
* Finish suspend_candidate, need tests
* Resolve mistakes and feedback, add `suspended_candidate_rejected` test
* Remove logic which increases payout time after un-suspension
* Fix error in `slash_suspended_candidates`, add member check to `vote`
* Fix vouch rewards, dont create zero payouts, add tests for vouch
* Test unvouch
* Unbid tests
* Add lifecycle events, fix `add_member` to update `MembershipChanged`
* Head cannot be removed from society
* Use `add_member` in `found` to ensure `MembershipChanged` is triggered
* Use `Judgement` enum for suspended candidate judgement
* Make society instantiable
* Implement challenges
* Remove extra text in test
* Remove `BlockNumber` return from `slash_payout`
* Add bad vote causes slash test
* Update frame/society/src/lib.rs
Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>
* Add consts to module metadata
* Check `suspended_member` cant bid
* Increase strength of payout check, **must** be a member.
* Start pallet documentation
* Finish docs
* Update library names, use decl_error
* Prevent double bids, add test
* Use `map` for vouching member, and introduce banned vouchers
* Remove leftover docs
* Vouching handles removed member lifecycles w/ tests
* `take` the votes when tallying, add comprehensive checks before vouch or bid
* Check votes are cleaned up
* Check vote is for a valid candidate, add vote event
* Defender vote event
* Fix `judge_suspended_candidate`, add weight docs
* First pass fixes (blank lines, formatting, no operational)
* Bump copyright year
* Make `add_member` infallible
* More feedback updates
* Add storage access complexity
* Fix logic for AutoUnbid
* Complete weight documentation
* Optimize logic which used to result in double storage read.
* Use Bid struct rather than tuple
* Introduce `MaxMembers` configuration constant
* Add comment about fringe scenario where `MaxMembers` could go over, NBD
* Change MaxMembership to configurable storage item with ability for root to update
* Make membership challenges skew toward failure.
If no one at all votes, or the vote is tied, the user will be suspended from society. This means, that the user simply needs to vote for themselves to stay in society assuming no one else participates.
* Refactor `is_candidate`as to avoid possible double storage reads in the future.
* Blank lines
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
* 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: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* 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: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Update primitives/state-machine/src/ext.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Integrates review feedback
* Remove `unsafe` usage
* Update client/block-builder/src/lib.rs
Co-Authored-By: Benjamin Kampmann <ben@gnunicorn.org>
* Update client/src/call_executor.rs
* Bump versions
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Benjamin Kampmann <ben.kampmann@googlemail.com>
* 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
* Fix cli for structopt 0.3.7 and pin to that version
This is just some hotfix to make everything compile. In the future it
will require another pr to not depend on internals of StructOpt, but
that will probably also require some additions to StructOpt itself. To
not break the code again with another StructOpt, this also pins the
StructOpt version.
* Fix benches
* Fix for fix