Commit Graph

2383 Commits

Author SHA1 Message Date
Alexander Theißen ad1717293d contracts: Cap the surcharge reward by the amount of rent that way payed by a contract (#7870)
* Add rent_payed field to the contract info

* Don't pay out more as reward as was spent in rent

* Make successful evictions free

* Add tests to check that surcharge reward is capped by rent payed

* review: Fixed docs
2021-01-14 12:45:13 +00:00
Alexander Theißen c2ebcae0a6 Use checked math when calculating storage size (#7885) 2021-01-14 12:44:42 +00:00
Liu-Cheng Xu 65569620c2 Add payment_queryFeeDetails RPC (#7692)
* Return FeeDetails in compute_fee_raw()

* Add payment_queryDetails rpc

* Simplify serde attribute a bit

* Fix line width check

* Use saturating_add()

* Move transaction payment rpc types to types.rs

* Add file header

* Fix test

* Update Cargo.lock

* Nit

* Apply the review suggestions

* .

* .

* Fix serde

* Fix rust doc

* .

* Update frame/transaction-payment/src/types.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Use NumberOrHex in fee details RPC

* Address review feedback

* Nits

* Update some docs

* Address review

* Update frame/transaction-payment/src/types.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Happy 2021

* Nit

* Address code review

* Remove needless bound

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
2021-01-14 11:43:53 +00:00
Andronik Ordian 9383f7a01a pallet_authority_discovery: introduce current_authorities and next_authorities methods (#7892)
* split authorities discovery keys for the current and next session

* Revert "split authorities discovery keys for the current and next session"

This reverts commit 0a40b8b4c14e85d95357a27f6db30199cbe0aa4d.

* pallet_authority_discovery: introduce a next_authorities method

* address feedback

* amend the doccomments
2021-01-13 18:35:29 +00:00
Alexander Theißen 19e58df126 contracts: Don't read the previous value when overwriting a storage item (#7879)
* Add `len` function that can return the length of a storage item efficiently

* Make use of the new len function in contracts

* Fix benchmarks

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* Remove unused imports

Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
2021-01-13 12:31:14 +00:00
André Silva 6ac04e4902 babe: initialize next authorities on genesis (#7872)
* babe: initialize next authorities on genesis

* babe: add test for genesis authorities
2021-01-12 11:08:52 +00:00
Guillaume Thiolliere 014e6f03c6 bumpd minor version (#7873) 2021-01-12 09:25:47 +01:00
Igor Matuszewski 028f3d2674 Merge 2.0.1 backport branch into mainline master (#7842)
* Backport paritytech/substrate#7381

* Bring back genesis storage build in aura/timestamp

To not change spec version, see
https://github.com/paritytech/substrate/pull/7686#discussion_r540032743

* Backport paritytech/substrate#7238

* Backport paritytech/substrate#7395

* Bump impl_version

* Fix UI tests and bump trybuild dep

See https://github.com/rust-lang/rust/pull/73996

Backports:
https://github.com/paritytech/substrate/pull/7764
https://github.com/paritytech/substrate/pull/7656

* Partially backport paritytech/substrate#7838

* Release frame-support with a dep compilation fix

* Bump patch level for remaining crates

This is done because at the time of writing cargo-unleash does not fully
support partial workspace publishing and mixes both local and crates.io
versions of the packages, leading to errors in the release check workflow.

* Backport paritytech/substrate#7854

...to fix compilation error when using futures-* v0.3.9.

* Adding Changelog  entry for patch release

Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Benjamin Kampmann <ben@parity.io>
2021-01-11 11:24:29 +01:00
Alexander Theißen ca0a636b15 contracts: Collect rent for the first block during deployment (#7847)
* Pay first rent during instantiation

* Fix and add new tests

* Do not increment trie id counter on failure
2021-01-11 10:16:50 +00:00
Shawn Tabrizi 1d73b011a9 Store dispatch info of calls locally in weight calculation (#7849)
* utility

* sudo

* more

* recovery

* better formatting
2021-01-08 16:04:46 +00:00
Shawn Tabrizi 93ecff9b7c Better Handle Dead Accounts in Balances (#7843)
* Don't mutate storage when account is dead and should stay dead

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* more concrete storage noop

Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
2021-01-07 17:42:37 +00:00
Bastian Köcher 8cdb5c01b6 Fix incorrect use of syn::exports (#7838)
* Fix incorrect use of syn::exports

Instead of using `syn::exports` we should import the trait from the
quote crate directly.

* Use own macro for test cases to fix compilation with latest syn

* Fix test
2021-01-06 22:22:23 +01:00
Andronik Ordian 2b48e09b24 upgrade a few dependencies (#7831)
* upgrade a few dependencies

* make it compile at the expense of duplicate deps

* fix web-wasm and a warning

* introduce activate-wasm-bindgen-features crate

* Revert "introduce activate-wasm-bindgen-features crate"

This reverts commit 5a6e41e683f8a4844c0a735dcd08caabb2313f11.

* add getrandom feature to sc-consensus-aura
2021-01-06 16:12:17 +00:00
Alexander Theißen a208da1d18 contracts: Add configurable per-storage item cost (#7819)
* Rework rent parameters

* No need for empty_pair_count any longer

* Parameterize runtime
2021-01-06 15:47:22 +00:00
André Silva dd4625a1e7 babe: expose next epoch data (#7829)
* babe: expose next epoch data

* babe: add runtime api for next_epoch

* babe: avoid reading next authorities from storage unnecessarily

* babe: add notes about epoch duration constraints

* babe: guard against overflow

* babe: add test for fetching current and next epoch data
2021-01-06 11:08:29 +00:00
Bastian Köcher 452244514a Fix master build (#7837)
* Fix master build

* Use correct copyright year
2021-01-06 09:45:56 +00:00
Guillaume Thiolliere 66a9093fa3 Improve spans of pallet macro (#7830)
* fix spans

* convert name to snake case
2021-01-06 09:16:05 +00:00
Stanly Johnson d2ac8bd941 fix : remove _{ } syntax from benchmark macro (#7822)
* commented use of common

* hack to pass tests

* another hack

* remove all commented code

* fix the easy tests

* temp hack

* follow through comma hack until better solution

* patch macro

* missed one

* update benchmarks

* update docs

* fix docs

* removed too much

* fix changes

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-01-06 01:51:02 +00:00
Shawn Tabrizi 92f596829d Participation Lottery Pallet (#7221)
* Basic design

* start adding tests

* finish tests

* clean up crates

* use call index for match

* finish benchmarks

* add to runtime

* fix

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* more efficient storage

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* Update lib.rs

* Update bin/node/runtime/src/lib.rs

* trait -> config

* add repeating lottery

* new benchmarks

* fix build

* move trait for warning

* feedback from @xlc

* add stop_repeat

* fix

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* Support static calls

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* fix test

* add loop to mitigate modulo bias

* Update weights for worst case scenario loop

* Initialize pot with ED

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
2021-01-05 13:58:04 +00:00
kaichao d2eb87f5fc minor fix (#7828) 2021-01-05 12:55:21 +01:00
Guillaume Thiolliere ccce3405f4 Improve error message on where clause on pallet error (#7821)
* improve error message on where clause on pallet error

* Revert "improve error message on where clause on pallet error"

This reverts commit 5a3cc38976813fccef3357833553ce30f5b988ea.

* Revert "Revert "improve error message on where clause on pallet error""

This reverts commit e3b3fca6bc4fa89816f80dbcb82dc4536a9b2549.
2021-01-05 09:51:46 +00:00
Alexander Theißen 031b4ddabb contracts: Prevent contracts from allocating a too large buffer (#7818)
* Prevent contracts from allocating a too large buffer

* Fix possible integer overflow
2021-01-05 08:06:44 +00:00
Guillaume Thiolliere 51028310d2 fix template (#7823) 2021-01-04 22:17:59 +01:00
Alexander Theißen 3ba8fdfc11 contracts: Lazy storage removal (#7740)
* Do not evict a contract from within a call stack

We don't want to trigger contract eviction automatically when
a contract is called. This is because those changes can be
reverted due to how storage transactions are used at the moment.
More Information:
https://github.com/paritytech/substrate/issues/6439#issuecomment-648754324

It can be re-introduced once the linked issue is resolved. In the meantime
`claim_surcharge` must be called to evict a contract.

* Lazily delete storage in on_initialize instead of when removing the contract

* Add missing documentation of new error

* Make Module::claim_surcharge public

It being the only dispatchable that is private is an oversight.

* review: Add final newline

* review: Simplify assert statement

* Add test that checks that partial remove of a contract works

* Premote warning to error

* Added missing docs for seal_terminate

* Lazy deletion should only take AVERAGE_ON_INITIALIZE_RATIO of the block

* Added informational about the lazy deletion throughput

* Avoid lazy deletion in case the block is already full

* Prevent queue decoding in case of an already full block

* Add test that checks that on_initialize honors block limits
2021-01-04 12:35:57 +00:00
Alexander Theißen 51c37ecc15 contracts: Allow runtime authors to define a chain extension (#7548)
* 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
2021-01-04 11:15:17 +00:00
Bastian Köcher e3e651f72c Happy new year (#7814)
* Happy new year

Updates the copyright years and fixes wrong license headers.

* Fix the template

* Split HEADER into HEADER-APACHE & HEADER-GPL
2021-01-04 09:03:13 +00:00
Guillaume Thiolliere ab4c8e4fe5 remove some unecessary bound (#7813) 2021-01-01 17:46:38 +01:00
Alexander Theißen ec2c70396e Define ss58 prefix inside the runtime (#7810)
* Add SS58Prefix type to the frame_system config trait

* Remove unused chain_id runtime interface
2020-12-30 22:07:37 +00:00
Shawn Tabrizi 767602d35a Use path instead of ident (#7809) 2020-12-30 11:31:29 +01:00
RK acf9d2145d Allow council to slash treasury tip (#7753)
* wk2051 | D4 |Allow council to slash treasury tip | p1

* Update frame/tips/src/lib.rs

Co-authored-by: Xiliang Chen <xlchen1291@gmail.com>

* wk2051 | D5 |Allow council to slash treasury tip | p2

* wk2051 | D5 |Allow council to slash treasury tip | p3

* wk2051 | D5 |Allow council to slash treasury tip | p4

* wk2051 | D5 |Allow council to slash treasury tip | p5

* random change

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_tips --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/tips/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* fix typo

* Update frame/tips/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update frame/tips/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update frame/tips/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update frame/tips/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update frame/tips/src/tests.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* wk2052 | D1 | Allow council to slash treasury tip | p6

Co-authored-by: Xiliang Chen <xlchen1291@gmail.com>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2020-12-29 18:37:19 +00:00
Shawn Tabrizi 8c795accc8 Don't allow self proxies (#7803) 2020-12-29 17:31:44 +00:00
Jaco Greeff 0b7ae4440c Hex Balance deserialize for contracts_call RPC (#7807)
* Hex Balance deserialize for contracts_call RPC

* Avoid temporary conversion into u128

Co-authored-by: Alexander Theißen <alex.theissen@me.com>
2020-12-29 14:39:04 +01:00
Alexander Theißen ab876be9e9 contracts: Change define_env! to expect a Result<T, DispatchError> for every function (#7762)
* 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

* review: Remove superflous .into()
2020-12-29 12:58:23 +00:00
chenwei de5fc56f6c Update tests.rs (#7784)
Fix testing for number of slashing spans.
2020-12-27 22:00:36 +00:00
Robert Habermeier 9164cde499 add a current_epoch to BabeApi (#7789)
* add a `current_epoch` to BabeApi

* add current_epoch_start back again

* fix node-runtime

* bump spec version
2020-12-26 19:34:39 -05:00
Guillaume Thiolliere 6dfad0921b Add pallet attribute macro to declare pallets (#6877)
* rename system Config to system Trait.

command used:
```
find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/system::Trait>::/system::Config>::/g' {} \;
find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/impl frame_system::Trait for /impl frame_system::Config for /g' {} \;
find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/impl system::Trait for /impl system::Config for /g' {} \;
```
plus some manual ones especially for frame-support tests and frame-system

* make construct_runtime handle Pallet and Module

pallets can now be implemented on struct named Pallet or Module, both
definition are valid.
This is because next macro will generate only Pallet placeholder.

* introduce pallet attribute macro

currently just with tests, frame_system and other example hasn't been
upgraded

* allow to print some upgrade helper from decl_storage

* Improved error msg, typo.

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Improved error msg, typo.

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Improved error message on unexpected attributes + ui test

* add test for transactional

* various typo

* some tips when spans are lost

* allow pallet to depend on other pallet instances

* make event type metadata consistent with call and constant

* error messages

* ignore doc example

* fix pallet upgrade template

* fixup

* fix doc

* fix indentation

* Apply suggestions code formatting

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* some renames + fix compilation

* remove unsupported genesis config type alias

* merge fixup

* fix ui tests

* additional doc

* implement StorageInstance with new syntax

* fix line width

* fix doc: because pallet doc goes below reexport doc

* Update frame/support/procedural/src/pallet/parse/event.rs

Co-authored-by: Andrew Jones <ascjones@gmail.com>

* Update frame/system/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Update frame/support/test/tests/pallet_ui.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* improve doc as suggested

* revert construct_runtime Pallet part.

This revert the changes on construct_runtime. Now construct_runtime is
unchanged and instead pallet macro create a type alias
`type Module<..> = Pallet<..>` to be used by construct_runtime

* refactor with less intricated code

* fix ui test with new image

* fix ui tests

* add minor tests

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Andrew Jones <ascjones@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-12-24 11:33:40 +00:00
honeywest 8e3d8a6a09 Feat support weight test (#7769)
* update support weights_are_correct

* add support polynomial_does_not_underflow
2020-12-23 22:52:52 +01:00
Bastian Köcher a6c392d0cc Adds try_get for StorageMap and StorageDoubleMap (#7774)
* Adds `try_get` for `StorageMap` and `StorageDoubleMap`

* Switch to Value as return type
2020-12-22 14:41:49 +00:00
Bastian Köcher ce97b6e5c4 Make it possible to calculate the storage root as often as you want (#7714)
* Make it possible to calculate the storage as often as you want

So, until now each Substrate based blockchain has calculated the storage
root once, at the end of the block. Now there is Frontier that wants to
calculate some intermediate storage root. However this failed on block
import. The problem with that was the extrinsics root. When building the
block we stored `Default::default()` as extrinsics root, because yeah,
we don't know the extrinsics root before finishing the block. At the end
this extrinsics root was then calculated. But on block import we passed
the already known extrinsics root. This was no problem, as we removed
this value at the end of the block. However when you all the storage
root in between, that changes the storage root between block building
and block import.

This pr changes this behavior. It removes the `ExtrinsicsRoot` storage
entry and also doesn't pass it anymore to `System::initialize`. By doing
it, we remove the difference in the storage and fix the storage root mismatch.

* Fix bug with incorrectly calculating the extrinscs root

* Review feedback
2020-12-21 18:08:22 +01:00
Kian Paimani bfb76281df Allow Staking tests to run with session length other than 1 (#7719)
* fix periodic session

* Allow staking tests to run with session lengths other than 1.

* Update frame/staking/src/mock.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Fix all tests with session length 5.

* Test for active != current

* Better doc

* Update frame/staking/src/lib.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* also set the timestamp properly.

* trigger CI

* Revert "trigger CI"

This reverts commit 0f254944cdad848aa6e63bd8a618db95447a8e68.

* Update frame/staking/src/lib.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
2020-12-21 09:54:04 +00:00
Shawn Tabrizi 62bdfaa87a Fix UI Tests (#7722)
* Fix UI tests

* make updates.

* Revert "make updates."

This reverts commit 3f41979c12e86acb75fd086675ac09659dde533e.

* Try to fix companion build

* Use some depth

* tests: fix UI tests on the latest nightly

* tests: fix polkadot companion test, depth

* chore: update deps

* chore: update deps

* chore: sp-io

Co-authored-by: kianenigma <kian.peymani@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Denis P <denis.pisarev@parity.io>
2020-12-19 16:16:34 +01:00
Alexander Theißen 46c4ca32b5 No longer put keys back manually after a failed restoration (#7747)
This is no longer necessary with storage transactions.
2020-12-19 11:34:56 +00:00
Bastian Köcher 5b61b7361c Switch back to the crates.io release of trybuild (#7764)
* Switch back to the crates.io release of trybuild

My fix was merged on upstream and this release contains it. So, no
more reason to keep the git dependency.

* The lock file...
2020-12-19 10:22:08 +01:00
Kian Paimani 9a3cab74ac prevent too many genesis council members (#7749)
* Prevent too many genesis members in elections-phragmen.

* Fix test.

* reformat.'
2020-12-17 22:17:57 +00:00
RK 8e64a2def9 Issue 7143 | Refactor Treasury Pallet into Bounties, Tips, and Proposals (#7536)
* wk2046 | D5 | treasury refactor to bounties and tips

* wk2046 | D5 | treasury refactor to bounties and tips | p2

* fix test compilation, ignoring events

* initialize treasury in genesis

* wk2046 | D7 | treasury refactor | fix bounties test build issues

* wk2047 | D1 | treasury refactor | tips pallet bringup

* wk2047 | D2 | treasury refactor | bounties  pallet | unit test bringup

* wk2047 | D2 | treasury refactor | bounties  pallet | unit test bringup | p2

* wk2047 | D2 | treasury refactor | pallet-tips| test_last_reward_migration | test failure - analysis

* wk2047 | D3 | treasury refactor | pallet-tips| test_last_reward_migration | test failure - fix

* wk2047 | D3 | treasury refactor | pallet-bounties | on_initialize() fix

* wk2047 | D3 | treasury refactor | pallet-bounties | on_initialize() fix | p2

* wk2047 | D4 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks

* wk2047 | D4 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks | p2

* wk2047 | D4 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks | p3

* wk2047 | D5 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks | p4

* wk2047 | D6 | treasury refactor | review comments fix

* some fixes

* fix bounties instantiable

* remove instantiable from tips and bounties

* fix compile for benchmarks

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_treasury --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/treasury/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* Update lib.rs

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_tips --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/tips/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* add back `on_initialize_bounties`

* patch up bounties benchmarks

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* Remove development TODO from public doc comment (#7500)

* refactor subtrait/elevated trait as not needed (#7497)

* Fix comments of indices pallet events (#7511)

Arguments for IndexAssigned and IndexFrozen were inverted in comments.

* Skip slot lenience on first block in BABE (#7515)

The genesis header doesn't have the BABE pre-digest and we insert `0` as
slot number. The slot lenience calculation will return the maximum in
this situation. Besides returning the maximum which is not bad at all,
it also prints some a debug message that can be confusing in the first
moment. To prevent printing this debug message, we now just return early
when we see that the parent block is the genesis block.

* slots: incrementally backoff claiming slots if finality lags behind (#7186)

* babe: backoff authoring blocks when finality lags

* babe: move backoff authoring params to default constructor

* babe: deduplicate the test a bit

* babe: set backoff constants in service

* babe: use better names for backoff authoring block parameters

* babe: remove last unwrap

* babe: slight style tweak

* babe: fix comment

* slots: move backoff block authorship logic to SimpleSlotWorker

* aura: append SlotInfo in on_slot

* slots: use the correct types for parameters

* slots: fix review comments

* aura: add missing backoff authoring blocks parameters

* slots: add comments for default values

* slots: add additional checks in test

* slots: update implementation for new master

* slots: revert the change to SlotInfo

* Fix review comments

* slots: rework unit tests for backing off claiming slots

* slots: add test for asymptotic behaviour for slot claims

* slots: address review comments

* slots: add test for max_interval

* slots: add assertion for intervals between between claimed slots

* slots: remove rustfmt directive

* slots: another attempt at explaining authoring_rate

* slots: up unfinalized_slack to 50 by default

* slots: add tests for time to reach max_interval

* slots: fix typo in comments

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* slots: additional tweaks to comments and info calls

* slots: rename to BackoffAuthoringOnFinalizedHeadLagging

* slots: make the backing off strategy generic

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* slots: implement backoff trait for () for simplicity

* slots: move logging inside backing off function to make it more specific

* aura: add missing function parameter

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Export app-crypto specific keystore functions (#7489)

* Export app-crypto specific keystore functions

* Also add back the insert function

* Switch KeystoreContainer to an enum

* Only export the bare minimal for LocalKeystore and fix service compile

* fix: should return Arc

* Add docs stating that functions only available in local keystore

* Remove insert and generate functions

* fix: generate function should be available in test

* Add keypair function to trait

* Revert "Add keypair function to trait"

This reverts commit ad921b09ca73d3c09298e3a51b562ef8e0067781.

* Add note for local_keystore function in service

* Update doc for the --chain flag (#7520)

* contracts: Add missing instruction to the `Schedule` (#7527)

* Don't log with colors when we are writing to a tty (#7525)

* Don't log with colors when we are writing to a tty

This fixes a regression that was introduced by the switch to tracing.
Before we killed all colors before writing to a tty, this pr brings the
behaviour back.

* Remove accidentally added crate

* Review feedback

* More feedback

* Update client/cli/src/logging.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* Update client/cli/src/logging.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* MemoryId -> u32 (#7534)

* Enable local addresses in DHT when chain type == `Local` | `Development` (#7538)

* Enable local addresses in DHT when chain type == `Local` | `Development`

This pr changes when to add local addresses to DHT. Instead of only
checking if `--discover-local` and `--dev` are present, we now also
check if the chain type is `Local` or `Development`.

* Update the docs!

* Update tiny-bip39 to v0.8 (#7539)

It would improve secret zeroization due to
https://github.com/maciejhirsz/tiny-bip39/pull/22, and would also remove
one of the points where we depend on `failure` crate, which is
deprecated (see https://github.com/rust-lang-nursery/failure/pull/347)

* make LocalCallExecutor public (#7528)

* Fix some weirdness in `offchain_worker` (#7541)

We call `offchain_worker` with the state of the imported block and pass
the header of this block. However in the runtime we call all
`offchain_worker` functions with the number of the parent block. Besides
that we also pass all digests and not only the pre runtime digests. In
the context where the offchain worker is executed we have all digests, so
there is no real reason to only pass pre runtime digests. Another fix is
that we also insert the hash of the current header into the block hash map.

* Use inbound peerslot slots when a substream is received, rather than a connection (#7464)

* Use inbound peerslot slots when a substream is received, rather than a connection

* Refactor PeerState

* Some bugfixes

* Fix warnings so that CI runs, gmlrlblbl

* Bugfixes

* Update docs

* Apply suggestions from code review

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>

* Clean up Banned state

* Refactor connections state

* Fix possibility of Enabled with no Opening or Open connection

* Line width

* Add some debug_asserts! and fix TODO

* Refactor legacy handler

* Rewrite group.rs entirely [part 1]

* Rewrite group.rs entirely [part 2]

* Remove faulty assertion

Because of the asynchronous nature of the behaviour <-> handler communications, it is possible to receive notifications while in the Closing state

* Don't poll the legacy substream is not Open

* Tolerate when not all substreams are accepted

* Remove TODOs

* Dummy commit to make CI log interesting things

* Try race condition fix

* Revert "Try race condition fix"

This reverts commit 0675c659d06195c30f8c5bc13e2d88141d57a3ba.

* Correctly rebuild pending_opening

* Minor tweaks

* Printlns for CI debugging

* Revert "Printlns for CI debugging"

This reverts commit e7852a231f4fc418898767aaa27c9a4358e12e8b.

* Revert "Dummy commit to make CI log interesting things"

This reverts commit 259ddd74088e53e7c6a9b0a62a8d1573a0063ce3.

* mv group.rs ../handler.rs

* Apply suggestions from code review

Co-authored-by: Max Inden <mail@max-inden.de>

* Banned => Backoff

* Mention the actual PeerStates

* OpenDesired -> OpenDesiredByRemote

* OpeningThenClosing

* Add doc links to PeerState

* Simplify increment logic

* One more debug_assert

* debug_assert!

* OpenDesiredByRemote

* Update client/network/src/protocol/generic_proto/behaviour.rs

Co-authored-by: Max Inden <mail@max-inden.de>

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>

* *: Update to libp2p v0.30.0 (#7508)

* *: Update to libp2p v0.30.0

* Cargo.lock: Update

* *: Update to libp2p v0.30.1

* make ClientConfig public (#7544)

* sc-basic-authorship: remove useless dependencies (#7550)

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* Add slashing events to elections-phragmen. (#7543)

* Add slashing events to elections-phragmen.

* Fix build

* Apply suggestions from code review

* Update frame/elections-phragmen/src/lib.rs

* Update frame/elections-phragmen/src/lib.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Remove necessity to pass ConsensusEngineId when registering notifications protocol (#7549)

* Remove necessity to pass ConsensusEngineId when registering notifications protocol

* Line width

* Fix tests protocol name

* Other renames

* Doc update

* Change issue in TODO

* sc-cli: replace bip39 with tiny-bip39 (#7551)

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* Add extra docs to on_initialize (#7552)

* Add some extra on_initialize docs.

* Address review comments.

* More Extensible Multiaddress Format (#7380)

* More extensible multiaddress format

* update name

* Don't depend on indices to define multiaddress type

* Use MultiAddress in Node Template too!

* reduce traits, fix build

* support multiple `StaticLookup`

* bump tx version

* feedback

* Fix weight template to remove ugliness in rust doc (#7565)

fixed weight template

* Cargo.lock: Run cargo update (#7553)

* Cargo.lock: Run cargo update

* Cargo.lock: Downgrade cc to v1.0.62

* Cargo.lock: Revert wasm-* updates

* .github: Add dependabot config and thus enable dependabot (#7509)

* .github: Add dependabot config and thus enable dependabot

* Update .github/dependabot.yml

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>

* Thread-local parameter_types for testing. (#7542)

* Thread-local parameter_types for testing.

* Better docs.

* Some minors

* Merge'em

* Update frame/support/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Align more to basti's trick

* Update frame/support/src/lib.rs

* Update frame/support/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>

* Bump wasm-bindgen-test from 0.3.12 to 0.3.17 (#7567)

* Bump wasm-bindgen-test from 0.3.12 to 0.3.17

Bumps [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen) from 0.3.12 to 0.3.17.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Signed-off-by: dependabot[bot] <support@github.com>

* Update wasm-bindgen pin to 0.2.68

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>

* wk2047 | D6 | treasury refactor | review comments fix | p2

* wk2048 | D1 | treasury refactor | review comments fix | p3

* Update bin/node/runtime/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Update bin/node/runtime/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* wk2048 | D3 | treasury refactor | review comments fix | p4

* wk2048 | D3 | treasury refactor | review comments fix | p5

* wk2048 | D4 | treasury refactor | review comments fix |  removal of deadcode | p6

* remove broken link

* wk2048 | D5 | treasury refactor | review comments fix | bountise doc string | p7

* wk2048 | D5 | treasury refactor | review comments fix | p8

* docs and formatting

* Update frame/tips/src/benchmarking.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* formatting nits

* Trait -> Config

* trait -> config in benchmarks

* clean up weight docs

* Trait -> Config in Runtime

* fix test build

* try to fix polkadot build check

* fix traits

* Update lib.rs

* Apply suggestions from code review

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Apply suggestions from code review

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* fix trait location

* nits

* uncomment on_initialize for bounties benchmarks

* update weights

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
Co-authored-by: Caio <c410.f3r@gmail.com>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Antoine Le Calvez <alecalve@users.noreply.github.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Jon Häggblad <jon.haggblad@gmail.com>
Co-authored-by: Wei Tang <wei@that.world>
Co-authored-by: Sergei Shulepov <sergei@parity.io>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
Co-authored-by: Kirill Pimenov <kirill@parity.io>
Co-authored-by: Andrew Plaza <aplaza@liquidthink.net>
Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Qinxuan Chen <koushiro.cqx@gmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Addie Wagenknecht <addie@nortd.com>
2020-12-16 10:32:16 +00:00
Sergei Shulepov 581e723a11 Leave some header related info for inspection (#7727)
* Leave some system data for inspection

There is not much benefit in being active when removing this data. It's
actively harmful when one tries to read the block number in runtime
APIs in the context of a block.

* Update the expected root hash

This is excepted since now we persist new members.

* Revert extrinsics_root to `take`

It's going away in one of the following PRs anyway

* Update the state root once again

* Update the comment on the storage items that are left in the storage

Excluding ExtrinsicsRoot since it's going away
2020-12-15 19:07:04 +00:00
RK c79fde5fae Participating in Council Governance is Free for First Time Voters and Successful Closing (#7661)
* wk2049 | D5 | addition-motions first free vote for members | p1

* Update frame/collective/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* wk2049 | D6 | addition-motions first free vote for members | p2

* Update frame/collective/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Update frame/collective/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* wk2049 | D7 | addition-motions first free vote for members | p3

* Update frame/collective/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* wk2049 | D7 | addition-motions first free vote for members | p4

* wk2049 | D7 | addition-motions first free vote for members | p6

* Update frame/collective/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update frame/collective/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update frame/collective/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update frame/collective/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update frame/collective/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update frame/collective/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update frame/collective/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* wk2050 | D3 | addition-motions first free vote for members | p7

* wk2050 | D3 | addition-motions first free vote for members | p8

* update comment

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2020-12-15 18:29:11 +00:00
Kian Paimani 9706023ec7 remove duplicate accounts in chain-spec. (#7725)
* remove duplicate accounts in chain-spec.

* Fix build

* Enforce in balances modules.

* Apply suggestions from code review

* Update frame/balances/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
2020-12-15 10:30:44 +00:00
Kian Paimani 6b08b37bc9 Prevent dust in staking by disallowing cheap bond_extra (#7718)
* prevent bond_extra to cause staking actve lower than ed

* prevent bond_extra to cause staking actve lower than ed

* Check in post conditions.

* check rebond as well.

* also change withdraw_unbonded.

* Fix build

* change check format.

* Apply suggestions from code review

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-12-14 15:45:49 +00:00
Tomasz Drwięga aa2191642f Avoid too high values. (#7716) 2020-12-14 12:34:41 +00:00