Commit Graph

7796 Commits

Author SHA1 Message Date
Gavin Wood 781ea7cbdc Various minor fixes (#13945)
* Fix: Incorrect implementation of can_reserve check

* Fix: Incorrect migration of consumer counting for existing accounts with frozen amounts

* Fix: Inconsistent implementation between assets can_deposit and new_account

* Fixes

* Fixes

* Another fix

* Update tests.rs

* Update fungible_tests.rs

* Use `can_accrue_consumers` in the body of `can_inc_consumer`

---------

Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: parity-processbot <>
2023-04-26 14:26:07 +00:00
Sasha Gryaznov 356b752d58 fix a test (#14021) 2023-04-26 13:46:44 +00:00
Qinxuan Chen bed8c87c8a sp-core: remove useless bounded module (#13865) 2023-04-26 11:37:44 +00:00
Sasha Gryaznov 60310de7d6 [contracts] Port host functions to Weight V2 and storage deposit limit (#13565)
* added [unstable][seal2] call()

* updated test to cover new seal_call proof_limit

* docs updated

* add [seal2][unstable] instantiate() and test

* add [seal2][unstable] weight_to_fee() + docs and test

* add [seal2][unstable] gas_left() + docs and test

* update benchmarks

* add DefaultDepositLimit to pallet Config

* specify deposit limit for nested call

add test for nested call deposit limit

save: separate deposit limit for nested calls

* specify deposit limit for nested instantiate

save: works with test

cleaned up debugging outputs

* update benchmarks

* added missing fixtures

* fix benches

* pass explicit deposit limit to storage bench

* explicit deposit limit for another set_storage bench

* add more deposit limit for storage benches

* moving to simplified benchmarks

* moved to simplified benchmarks

* fix seal_weight_to_fee bench

* fix seal_instantiate benchmark

* doc typo fix

* default dl for benchmarking

more dl for tests

dl for tests to max

deposit_limit fix in instantiate bench

fix instantiate bench

fix instantiate benchmark

fix instantiate bench again

remove dbg

fix seal bench again

fixing it still

seal_instantiate zero deposit

less runs to check if deposit enough

try

try 2

try 3

try 4

* max_runtime_mem to Schedule limits

* add default deposit limit fallback check to test

* weight params renaming

* fmt

* Update frame/contracts/src/benchmarking/mod.rs

Co-authored-by: PG Herveou <pgherveou@gmail.com>

* prettify inputs in tests

* typestate param refactored

---------

Co-authored-by: PG Herveou <pgherveou@gmail.com>
2023-04-26 11:27:13 +00:00
Squirrel 01c66da036 Allow missing docs for autogen weights. (#14011) 2023-04-25 22:48:37 +02:00
gupnik 6c8acaa5e2 Removes ReportsByKindIndex (#13936)
* Removes ReportsByKind

* Minor build fixes

* adds migration

* Addresses review comment

* Uses clear but weight check fails

* Uses unique

* Updates test to commit the change before migration

* Uses reads_writes

* ".git/.scripts/commands/fmt/fmt.sh"

* Fixes build

* Addresses review comments

* ".git/.scripts/commands/fmt/fmt.sh"

* fixes typo

---------

Co-authored-by: command-bot <>
2023-04-25 15:20:58 +00:00
Qinxuan Chen b06748e2ab frame-support: migrate some tests from decl_* macros to the new pallet macros (#12401)
* frame-support: migrate some tests from decl macros to new pallet attribute macros

* Remove useless type alias

* Remove useless type alias

* Work around for rust issue 52234

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix tests

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Use polkadot-compatible paste version

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix crate access and add tests

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Typo

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: parity-processbot <>
2023-04-25 11:58:21 +00:00
PG Herveou c11cb1b274 contracts Add LOG_TARGET constant (#14002)
* contracts Add LOG_TARGET constant

* Update frame/contracts/src/lib.rs

Co-authored-by: Sasha Gryaznov <hi@agryaznov.com>

---------

Co-authored-by: Sasha Gryaznov <hi@agryaznov.com>
2023-04-25 11:46:20 +00:00
yjh bcf7601169 refactor(cli): Make some run params reusable (#13870)
* refactor: extract TelemetryParams and PrometheusParams

* improve run_cmd docs

* extract `RuntimeParams`

* use `normalize`

* keep params types same style

* improve `max_runtime_instances`

* fmt

* add license and improve code

* Update client/cli/src/params/runtime_params.rs

Co-authored-by: Bastian Köcher <git@kchr.de>

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
2023-04-25 10:18:35 +02:00
Alexander Samusev b46a512e1a [ci] Add message to cargo-deny (#14001)
* [ci] Add message to cargo-deny

* fix cargo-deny-licenses
2023-04-25 10:15:57 +02:00
Bastian Köcher fcfe769c6c pallet-democracy: Do not request the proposal when scheduling (#13827)
The requesting of the proposal is actually done now in `pallet-scheduler`.

Fixes: https://github.com/paritytech/substrate/issues/13534
2023-04-25 09:21:54 +02:00
Bastian Köcher 3e02be440e frame-support-procedural: Fix detection of the tuples feature (#13996)
We didn't had the tuples features declared for the `frame-support-procedural` crate and thus, it
could not properly detect that the feature was already enabled.
2023-04-24 20:23:26 +00:00
dependabot[bot] 801871afa1 Bump enumflags2 from 0.7.5 to 0.7.7 (#13995)
Bumps [enumflags2](https://github.com/meithecatte/enumflags2) from 0.7.5 to 0.7.7.
- [Release notes](https://github.com/meithecatte/enumflags2/releases)
- [Commits](https://github.com/meithecatte/enumflags2/compare/v0.7.5...v0.7.7)

---
updated-dependencies:
- dependency-name: enumflags2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 21:31:13 +02:00
Alexander Samusev e9ff897511 [ci] Update buildah command and version (#13989) 2023-04-24 17:33:21 +02:00
Muharem Ismailov 97f4a09591 Vote locks for all reasons except RESERVE (#13914)
* Vote locks tip

* except reserve

* reason for delegate

* fix tests

---------

Co-authored-by: parity-processbot <>
2023-04-24 14:57:45 +00:00
gupnik 3688575fd0 Adds force_origin support (#13845)
* Adds force_origin support

* Moves a couple of tests to showcase v2 with force_origin

* Adds remaining tests

* adds documentation

* minor

* adds test for invalid origin

* ".git/.scripts/commands/fmt/fmt.sh"

* updates param to use MaxCalls

* Fixes compilation error

* Updates doc comment

* Fixes test outputs

* Fixes test output

* ".git/.scripts/commands/fmt/fmt.sh"

---------

Co-authored-by: command-bot <>
2023-04-24 17:34:15 +05:30
Davide Galassi b8d94bfad1 Remove superflous Pair::verify_weak (#13972) 2023-04-21 20:32:32 +00:00
ordian 58f5cd6adb cargo upgrade --workspace kvdb-rocksdb (#13973) 2023-04-21 19:58:05 +00:00
PG Herveou 0824b060b4 Update macro use and optimize storage collection (#13970) 2023-04-21 17:24:12 +02:00
Harald Heckmann 4411e8cec2 Add Freeze/Thaw events and tests (#13779)
* Add Freeze/Thaw events and tests

* Remove duplicate docstring

* Correct spelling error

* Cargo fmt

* Use proper punctuation in docstring

Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>

---------

Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
Co-authored-by: parity-processbot <>
2023-04-21 12:06:26 +02:00
Liam Aharon bc1a599284 try-runtime: dynamic storage query sizes (#13923)
* improve batch rpc error message

* wip aimd storage data fetch

* complete aimd function refactor

* make batch_request function async

* improve function name

* fix load_child_remote issue

* slight efficiency improvement

* improve logs and variable name

* remove redundant comment

* improve comment

* address pr comments

* Update utils/frame/remote-externalities/src/lib.rs

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>

* simplify client handling

* fix type issue

* fix clippy issue

* try to trigger ci

* try to trigger ci

---------

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
2023-04-21 09:16:40 +00:00
Liam Aharon eb17581e3c balances impl_currency WithdrawReasons note (#13964)
* add withdrawreason note

* improve comment

* Update frame/balances/src/impl_currency.rs

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

* cargo fmt +nightly

---------

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2023-04-21 18:46:54 +10:00
Aaro Altonen 0e46c9314c Evict inactive peers from SyncingEngine (#13829)
* Evict inactive peers from `SyncingEngine`

If both halves of the block announce notification stream have been
inactive for 2 minutes, report the peer and disconnect it, allowing
`SyncingEngine` to free up a slot for some other peer that hopefully
is more active.

This needs to be done because the node may falsely believe it has open
connections to peers because the inbound substream can be closed without
any notification and closed outbound substream is noticed only when node
attempts to write to it which may not happen if the node has nothing to
send.

* zzz

* wip

* Evict peers only when timeout expires

* Use `debug!()`

---------

Co-authored-by: parity-processbot <>
2023-04-21 08:22:26 +00:00
Aaro Altonen 28d55d2d0b Keep track of the pending response for each peer individually (#13941)
* Keep track of the pending response for each peer individually

When peer disconnects or the syncing is restarted, remove the pending
response so syncing won't start sending duplicate requests/receive stale
responses from disconnected peers.

Before this commit pending responses where stored in `FuturesUnordered`
which made it hard to keep track of pending responses for each individual
peer.

* Update client/network/sync/src/lib.rs

Co-authored-by: Bastian Köcher <git@kchr.de>

* ".git/.scripts/commands/fmt/fmt.sh"

* Apply suggestions from code review

Co-authored-by: Dmitry Markin <dmitry@markin.tech>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>

* Update client/network/sync/src/lib.rs

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: command-bot <>
Co-authored-by: Dmitry Markin <dmitry@markin.tech>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
2023-04-20 13:27:05 +00:00
Jegor Sidorenko 7a1fc72a4a [NFTs] Improve offchain signature validation (#13960)
* Improve signature validation

* Rework
2023-04-20 12:38:45 +00:00
Mira Ressel 9544ec765d replace unused cargo-deny check with a new cargo-deny-licenses job (#13956)
* ci: remove the cargo-deny job

It's been broken and disabled for quite a while, and per internal
discussion there doesn't seem to be any interest in fixing it and
actually using the job output for anything.

* ci: add new cargo-deny-licenses job

It'll run on all PRs and fail if external dependencies with unsuitable
licenses are detected.
2023-04-20 14:03:05 +02:00
Mira Ressel 040011a056 ci: drop skip-if-draft job (#13961)
It's been effectively disabled for half a year already, and according to
internal discussion we don't want it back.
2023-04-20 14:02:40 +02:00
Bastian Köcher a7006184f4 build_network doesn't require the MaintainedTransactionPool bound (#13959) 2023-04-20 08:53:06 +00:00
Muharem Ismailov f8b77f64f3 Collective pallet: max proposal weight (#13771)
* collective: max proposal weight

* fix test

---------

Co-authored-by: parity-processbot <>
2023-04-19 11:00:27 +00:00
gupnik e458bf3795 Adds example for dev_mode and updates doc (#13944)
* Adds example for dev_mode and updates doc

* Addresses review comments

* Update frame/examples/dev-mode/src/lib.rs

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

* Addresses review comment

---------

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2023-04-19 16:24:19 +05:30
Davide Galassi bb394e08ac VRF refactory (#13889)
* First iteration to encapsulate schnorrkel and merlin usage

* Remove schnorkel direct dependency from BABE pallet

* Remove schnorrkel direct dependency from BABE client

* Trivial renaming for VrfTranscript data and value

* Better errors

* Expose a function to get a schnorrkel friendly transcript

* Keep the vrf signature stuff together (preventing some clones around)

* Fix tests

* Remove vrf agnostic transcript and define it as an associated type for VrfSigner and VrfVerifier

* Fix babe pallet mock

* Inner types are required to be public for polkadot

* Update client/consensus/babe/src/verification.rs

Co-authored-by: Koute <koute@users.noreply.github.com>

* Nit

* Remove Deref implementations

* make_bytes as a method

* Trigger CI

---------

Co-authored-by: Koute <koute@users.noreply.github.com>
2023-04-19 09:11:47 +00:00
Mike Ruje d9ad6feac0 Improve has good jugement (#13952)
* improve run_benchmark

* Revert "improve run_benchmark"

This reverts commit 4d9cf7a63e37fedca376d692f1461486d3dca659.

* improve has_good_judgement

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

* ".git/.scripts/commands/fmt/fmt.sh"

---------

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: command-bot <>
2023-04-19 09:03:56 +00:00
Bastian Köcher 43f9fd9357 call_executor: Remove code deduplication (#13948) 2023-04-19 10:15:57 +02:00
William Freudenberger 9eb63f216c feat: pallet asset-rate (#13608)
* poc

* fix: remove AssetIdParameter

* tests: add

* docs: add pallet description

* feat: add benches

* refactor: UnknownAssetId

* fix: normalize mock cfg

* fix: benchmarks

* chore: add weights

* refactor: remove storage getter

* chore: apply suggestions from code review

* docs: add native balance to calls

* chore: apply suggestions from code review

* chore: apply ConversionFromAssetBalance

* tests: update balance mock

* chore: apply suggestions from code review

* ci: set publish to false

* docs: fix missing rustdoc

---------

Co-authored-by: parity-processbot <>
2023-04-19 07:49:42 +00:00
yjh cbc8e5f7df chore(docs): improve some comments (#13937)
* chore(docs): improve some comments

* Update client/network/common/src/sync/message.rs

Co-authored-by: Koute <koute@users.noreply.github.com>

* Update client/rpc-api/src/chain/mod.rs

Co-authored-by: Koute <koute@users.noreply.github.com>

* Update client/rpc/src/chain/mod.rs

Co-authored-by: Koute <koute@users.noreply.github.com>

* Update client/rpc/src/chain/mod.rs

Co-authored-by: Koute <koute@users.noreply.github.com>

* Update frame/staking/src/pallet/impls.rs

Co-authored-by: Koute <koute@users.noreply.github.com>

---------

Co-authored-by: Koute <koute@users.noreply.github.com>
2023-04-18 17:46:46 +02:00
André Silva e8e22b83b8 babe: replace usage of SharedEpochChanges with internal RPC (#13883)
* babe: replace usage of SharedEpochChanges with internal RPC

* babe-rpc: fix tests

* babe: use SinkExt::send instead of Sender::try_send

SinkExt::send provides backpressure in case the channel is full

* Update client/consensus/babe/src/lib.rs

Co-authored-by: Bastian Köcher <git@kchr.de>

* babe: fix spawn

* babe: send handles backpressure

* babe: use testing::TaskExecutor

* babe-rpc: better error handling

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
2023-04-18 09:38:04 +00:00
Aaro Altonen 818976d98e Poll the substream validation before polling Notifications (#13934)
* Poll the substream validation before polling `Notifications`

In tests, it can happen that `Notifications` doesn't produce any events
which causes `poll()` to return `Poll::Pending` and the substream
validation futures won't get polled.

Poll the futures before calling `Notifications` so results for substream
validations are received even if `Notifications` is not producing any
events.

* Remove `pending_messages`

* Remove unused import
2023-04-18 07:47:36 +00:00
Gavin Wood d23a251ee9 Balances: repatriate_reserved should respect freezes (#13885)
* repatriate_reserved should respect freezes

* Docs

* Fix and clean

* Formatting

* Update frame/balances/src/types.rs

Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>

* Fix

* Simplify

* Fixes

* Fixes

---------

Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
2023-04-17 19:13:55 +01:00
Przemek Rzad b66bc22252 Update links in the Referenda Readme (#13929)
* Update links in the Referenda Readme

* Update frame/referenda/README.md

---------

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-04-17 10:22:59 +00:00
Mike Ruje 48ae6ade98 imp function comparison (#13928) 2023-04-17 09:07:14 +00:00
Sergej Sakac afbdfbca2a Try-state for Collective pallet (#13645)
* write the try_state_ function

* update tests

* update check

* fix benchmarking

* fix nonsense

* Update frame/collective/src/lib.rs

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Update frame/collective/src/lib.rs

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* unique proposal index

* prime must be a member of the collective

* oops

* Add new checks

* use ensure

* fix

---------

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-04-17 15:43:13 +10:00
Roman Useinov 5cecb888b2 [Fix] Remove redundant stash from Stake (#13907)
* [Fix] Remove redundant stash from Stake

* fix tests
2023-04-16 00:25:56 +02:00
Bastian Köcher 019faa446c sc-allocator: Do not panic on invalid header pointer (#13925)
We should not panic on an invalid header pointer and instead return an error. It is possible that
the application modifies the header pointer illegally, but then we should return an error instead of
panicking.
2023-04-15 23:27:51 +02:00
gupnik cd1e51a4e7 Updates Benchmark macro parsing to use Generic Argument (#13919)
* WIP

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Removes POC code

* Adds assertion and UT

* adds runtime error

* removes const_assert

* ".git/.scripts/commands/fmt/fmt.sh"

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: command-bot <>
2023-04-14 22:54:26 +05:30
NingLin-P 8d06402e2e Drain all the pending messages in the channel when TracingUnboundedReceiver is dropped (#13917)
Signed-off-by: linning <linningde25@gmail.com>
2023-04-14 16:15:31 +02:00
dependabot[bot] 890a65b87d Bump cargo_metadata from 0.15.3 to 0.15.4 (#13899)
Bumps [cargo_metadata](https://github.com/oli-obk/cargo_metadata) from 0.15.3 to 0.15.4.
- [Release notes](https://github.com/oli-obk/cargo_metadata/releases)
- [Changelog](https://github.com/oli-obk/cargo_metadata/blob/main/CHANGELOG.md)
- [Commits](https://github.com/oli-obk/cargo_metadata/compare/0.15.3...0.15.4)

---
updated-dependencies:
- dependency-name: cargo_metadata
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-14 14:52:51 +02:00
Mira Ressel 378f68a6d1 Fail dependant checks on cargo check warnings (#13922)
* Fail dependant checks on cargo check warnings

* Adjust feature flags for check-dependent-polkadot
2023-04-14 14:16:17 +02:00
Bastian Köcher d1f862a308 Unqueue invalid transactions when skipping (#13918)
The check was intially added by: https://github.com/paritytech/substrate/pull/5121

But a later pr fixed it properly: https://github.com/paritytech/substrate/pull/9789

TLDR: We don't need to check for skipped anymore, as we already remove all transactions that are
being unlocked by an invalid transactions and thus, we will not tag them as invalid directly because
the nonce for example is incorrect.

Fixes: https://github.com/paritytech/substrate/issues/13911
2023-04-14 10:21:06 +02:00
dependabot[bot] 2894069faa Bump h2 from 0.3.16 to 0.3.17 (#13915)
Bumps [h2](https://github.com/hyperium/h2) from 0.3.16 to 0.3.17.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.3.16...v0.3.17)

---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-14 09:32:24 +02:00
Oliver Tale-Yazdi 4175ed6a87 Update proc-macro-warning (#13876)
* Update proc-macro-warning

Closes https://github.com/paritytech/substrate/issues/13872

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Update to v0.3.1 (including syn 2.0)

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Revert "Update to v0.3.1 (including syn 2.0)"

CI is red since it Polkadot uses a different syn version…
Going to update it lean.

This reverts commit 3240d379b72f6f722eaf502ed49e9a1b0f79db4b.

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-04-13 22:44:46 +02:00