Michal Kucharczyk
87d41d0a89
GenesisBuild<T,I> deprecated. BuildGenesisConfig added. (#14306 )
...
* frame::support: GenesisConfig types for Runtime enabled
* frame::support: macro generating GenesisBuild::build for RuntimeGenesisConfig
* frame: ambiguity BuildStorage vs GenesisBuild fixed
* fix
* RuntimeGenesisBuild added
* Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed"
This reverts commit 950f3d019d0e21c55a739c44cc19cdabd3ff0293.
* Revert "fix"
This reverts commit a2f76dd24e9a16cf9230d45825ed28787211118b.
* Revert "RuntimeGenesisBuild added"
This reverts commit 3c131b618138ced29c01ab8d15d8c6410c9e128b.
* Revert "Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed""
This reverts commit 2b1ecd467231eddec69f8d328039ba48a380da3d.
* Revert "Revert "fix""
This reverts commit fd7fa629adf579d83e30e6ae9fd162637fc45e30.
* Code review suggestions
* frame: BuildGenesisConfig added, BuildGenesis deprecated
* frame: some pallets updated with BuildGenesisConfig
* constuct_runtime: support for BuildGenesisConfig
* frame::support: genesis_build macro supports BuildGenesisConfig
* frame: BuildGenesisConfig added, BuildGenesis deprecated
* Cargo.lock update
* test-runtime: fixes
* Revert "fix"
This reverts commit a2f76dd24e9a16cf9230d45825ed28787211118b.
* Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed"
This reverts commit 950f3d019d0e21c55a739c44cc19cdabd3ff0293.
* self review
* doc fixed
* ui tests fixed
* fmt
* tests fixed
* genesis_build macrto fixed for non-generic GenesisConfig
* BuildGenesisConfig constraints added
* warning fixed
* some duplication removed
* fmt
* fix
* doc tests fix
* doc fix
* cleanup: remove BuildModuleGenesisStorage
* self review comments
* fix
* Update frame/treasury/src/tests.rs
Co-authored-by: Sebastian Kunert <skunert49@gmail.com >
* Update frame/support/src/traits/hooks.rs
Co-authored-by: Sebastian Kunert <skunert49@gmail.com >
* doc fix: GenesisBuild exposed
* ".git/.scripts/commands/fmt/fmt.sh"
* frame: more serde(skip) + cleanup
* Update frame/support/src/traits/hooks.rs
Co-authored-by: Davide Galassi <davxy@datawok.net >
* frame: phantom fields moved to the end of structs
* chain-spec: Default::default cleanup
* test-runtime: phantom at the end
* merge master fixes
* fix
* fix
* fix
* fix
* fix (facepalm)
* Update frame/support/procedural/src/pallet/expand/genesis_build.rs
Co-authored-by: Bastian Köcher <git@kchr.de >
* fmt
* fix
* fix
---------
Co-authored-by: parity-processbot <>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com >
Co-authored-by: Davide Galassi <davxy@datawok.net >
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-07-12 10:22:12 +00:00
Qinxuan Chen
e8e2048b88
chore: update some deps to prune duplicated deps ( #14515 )
...
* chore: update some deps to prune duplicated deps
- array-bytes: 4.1.0 => 6.1.0
- cid: 0.8.6 => 0.9.0
* fix
2023-07-06 16:46:44 +02:00
Adrian Catangiu
b43a1b0b55
pallet-beefy-mmr: fix when using custom hashing ( #14273 )
...
`Hash` is no longer part of `pallet_mmr::Config`, but this code
would still build because it assumes we're referring to underlying
`<pallet_mmr::Config as frame_system::Config>::Hash` which is not
what we want when using different hashing between `frame_system`
and `pallet_mmr`.
Disambiguate by using correct `pallet_mmr::Config::Hashing` type.
Signed-off-by: acatangiu <adrian@parity.io >
2023-05-31 17:15:05 +03:00
Bastian Köcher
5bf4ff56bc
pallet-merkle-mountain-range: Remove extra Hash type ( #14214 )
...
* pallet-merkle-mountain-range: Remove extra `Hash` type
* FMT
2023-05-24 15:14:53 +00:00
Robert Hambrock
09a7e69012
Revert "Optimize merkle proofs for efficient verification in Solidity ( #12857 )" ( #14176 )
...
* Revert "Optimize merkle proofs for efficient verification in Solidity (#12857 )"
This reverts commit c077597afb since we
still require commitment to the leaves - see #12820 .
* remove PartialOrd trait from mmr hash type
2023-05-22 11:55:40 +00:00
Vivek Pandya
2009821cde
Remove use of trait Store from all pallets and deprecate it. ( #13535 )
...
* Remove use of trait Store from staking pallet
* Remove use of trait Store from bounties pallet
* Remove use of trait Store from collective pallet
* Remove use of trait Store from babe pallet
* Remove use of trait Store from assets pallet
* Remove use of trait Store from grandpa pallet
* Remove use of trait Store from balances pallet
* Remove use of trait Store from authorship pallet
* Remove use of trait Store from authority-discovery pallet
* Remove use of trait Store from atomic-swap pallet
* Remove use of trait Store from sudo pallet
* Remove use of trait Store from scheduler pallet
* Remove use of trait Store from scored-pool pallet
* Remove use of trait Store from society pallet
* Remove use of trait Store from lottery pallet
* Remove use of trait Store from executive pallet
* Remove use of trait Store from democracy pallet
* Remove use of trait Store from elections-phragmen pallet
* Remove use of trait Store from indices pallet
* Remove use of trait Store from identity pallet
* Remove use of trait Store from multisig pallet
* Remove use of trait Store from merkle-mountain-range pallet
* Remove use of trait Store from im-online pallet
* Remove use of trait Store from membership pallet
* Remove use of trait Store from nicks pallet
* Remove use of trait Store from session pallet
* Remove use of trait Store from transaction-payment pallet
* Remove use of trait Store from utility pallet
* Remove use of trait Store from child-bounties pallet
* Remove use of trait Store from nis pallet
* Remove use of trait Store from nfts pallet
* Remove use of trait Store from conviction-voting pallet
* Remove use of trait Store from treasury pallet
* Remove use of trait Store from vesting pallet
* Remove use of trait Store from preimage pallet
* Remove use of trait Store from uniques pallet
* Remove use of trait Store from ranked-collective pallet
* Remove use of trait Store from beefy-mmr pallet
* Remove use of trait Store from referenda pallet
* Remove use of trait Store from whitelist pallet
* Remove use of trait Store from alliance pallet
* Remove use of trait Store from nomination-pools pallet
* Remove use of trait Store from state-trie-migration pallet
* Remove use of trait Store from message-queue pallet
* Remove use of trait Store from root-offences pallet
* Remove use of trait Store from root-testing pallet
* Remove use of trait Store from timestamps pallet
* Remove use of trait Store from system pallet
* Remove use of trait Store from offences pallet
* Remove use of trait Store from recovery pallet
* Remove use of trait Store from node-authorization pallet
* Remove use of trait Store from proxy pallet
* Remove use of trait Store from benchmarking pallet
* Remove use of trait Store from bags-list pallet
* Add deprecated warning in store_trait
* Change warning message
* Run cargo fmt
* Fix warning and update tests
* Remove unnecessary allow deprecated
* Remove use of trait Store
* Fix mismatch in expected output
* Minor update to warning message for deprecation of generate_store with Store trait attribute
* Fixes as per review comments
* Fixes as per review suggestions
* Remove use of Store trait from core-fellowship pallet
* Fix type in store_trait.rs
* Fixes as pre review comment
2023-03-13 15:30:05 +00:00
Davide Galassi
66f3d9e237
BEEFY: introduce offence report system ( #13564 )
...
* Trivial adjustments to beefy and grandpa pallets
* Introduce offence report system to beefy pallet
* Minor adjustments
* Fix beefy-mmr mock
* Apply suggestions from code review
Co-authored-by: Anton <anton.kalyaev@gmail.com >
---------
Co-authored-by: Anton <anton.kalyaev@gmail.com >
2023-03-11 18:05:55 +00:00
Davide Galassi
1ef9c473e7
Move BEEFY code to consensus ( #13484 )
...
* Move beefy primitives to consensus dir
* Move beefy gadget to client consensus folder
* Rename beefy crates
2023-02-28 15:56:22 +01:00
Vivek Pandya
bc53b9a03a
Remove years from copyright notes. ( #13415 )
...
* Change copyright year to 2023 from 2022
* Fix incorrect update of copyright year
* Remove years from copy right header
* Fix remaining files
* Fix typo in a header and remove update-copyright.sh
2023-02-21 18:46:41 +00:00
Adrian Catangiu
67c250fecb
frame/beefy: prune entries in set id session mapping ( #13411 )
...
Add limit for the number of entries in the `SetIdSession` mapping.
For example, it can be set to the bonding duration (in sessions).
Signed-off-by: acatangiu <adrian@parity.io >
2023-02-21 10:50:41 +00:00
Adrian Catangiu
c21f292a02
BEEFY: implement equivocations detection, reporting and slashing ( #13121 )
...
* client/beefy: simplify self_vote logic
* client/beefy: migrate to new state version
* client/beefy: detect equivocated votes
* fix typos
* sp-beefy: add equivocation primitives
* client/beefy: refactor vote processing
* fix version migration for new rounds struct
* client/beefy: track equivocations and create proofs
* client/beefy: adjust tests for new voting logic
* sp-beefy: fix commitment ordering and equality
* client/beefy: simplify handle_vote() a bit
* client/beefy: add simple equivocation test
* client/beefy: submit equivocation proof - WIP
* frame/beefy: add equivocation report runtime api - part 1
* frame/beefy: report equivocation logic - part 2
* frame/beefy: add pluggable Equivocation handler - part 3
* frame/beefy: impl ValidateUnsigned for equivocations reporting
* client/beefy: submit report equivocation unsigned extrinsic
* primitives/beefy: fix tests
* frame/beefy: add default weights
* frame/beefy: fix tests
* client/beefy: fix tests
* frame/beefy-mmr: fix tests
* frame/beefy: cross-check session index with equivocation report
* sp-beefy: make test Keyring useable in pallet
* frame/beefy: add basic equivocation test
* frame/beefy: test verify equivocation results in slashing
* frame/beefy: test report_equivocation_old_set
* frame/beefy: add more equivocation tests
* sp-beefy: fix docs
* beefy: simplify equivocations and fix tests
* client/beefy: address review comments
* frame/beefy: add ValidateUnsigned to test/mock runtime
* client/beefy: fixes after merge master
* fix missed merge damage
* client/beefy: add test for reporting equivocations
Also validated there's no unexpected equivocations reported in the
other tests.
Signed-off-by: acatangiu <adrian@parity.io >
* sp-beefy: move test utils to their own file
* client/beefy: add negative test for equivocation reports
* sp-beefy: move back MmrRootProvider - used in polkadot-service
* impl review suggestions
* client/beefy: add equivocation metrics
---------
Signed-off-by: acatangiu <adrian@parity.io >
Co-authored-by: parity-processbot <>
2023-02-17 09:45:00 +00:00
Davirain
25388b267e
Move beefy-merkle-tree to utils/binary-merkle-tree and make it generic ( #13076 )
...
* move BeefyMmrApi to pallet-beefy-mmr
* fix test_utils use pallet-beefy-mmr BeefyMmrApi
* Move beefy-merkle-tree to utils and Rename to Merkle-tree
* fix fmt and test
* Update merkle-tree to binary-merkle-tree and Remove Keccak256 mod from merkle-tree
* change merkle-tree name to binary-merkle-tree
* mirr fix
2023-02-02 10:07:48 +00:00
David Dunn
c077597afb
Optimize merkle proofs for efficient verification in Solidity ( #12857 )
...
* Sort hashes when generating & verifying MMR proofs
* Remove unused variables
* Double-hash leaves in beefy-merkle-tree
* Revert "Double-hash leaves in beefy-merkle-tree"
This reverts commit f788f5ed85e575a866639316aaef29dffbcd1c8c.
* Retry Polkadot companion CI jobs
2023-01-12 05:23:57 +00:00
Adrian Catangiu
4ae0d9a8e3
pallet-mmr: fix offchain db for sync from zero ( #12498 )
...
* pallet-mmr: cosmetic improvements
* pallet-mmr: fix offchain storage for initial sync
* address review comments
* pallet-mmr: change offchain fork-resistant key to `(prefix, pos, parent_hash)`
Do this so that both canon and fork-resitant keys have the same
`(prefix, pos).encode()` prefix. Might be useful in the future if we'd
be able to to "get" offchain db entries using key prefixes as well.
Signed-off-by: acatangiu <adrian@parity.io >
Signed-off-by: acatangiu <adrian@parity.io >
2022-10-17 09:09:47 +00:00
Serban Iorga
56a9f55c81
BEEFY: Define a BeefyVerify trait for signatures ( #12299 )
...
* Define CustomVerify trait
Signed-off-by: Serban Iorga <serban@parity.io >
* Use ECDSA CustomVerify for MultiSignature
Signed-off-by: Serban Iorga <serban@parity.io >
* beefy: small simplifications
Signed-off-by: Serban Iorga <serban@parity.io >
* Revert "Use ECDSA CustomVerify for MultiSignature"
This reverts commit 136cff82505662dd92c864491814629d2bc349f0.
* Revert "Define CustomVerify trait"
This reverts commit adf91e9e6d1bdea6f00831f6067b74c3d945f9a2.
* Define BeefyAuthorityId and BeefyVerify traits
* Improve BeefyVerify unit tests
Co-authored-by: Robert Hambrock <roberthambrock@gmail.com >
* fmt & import sp_core::blake2_256
* Renamings
* remove SignerToAccountId
* fix
Signed-off-by: Serban Iorga <serban@parity.io >
Co-authored-by: Robert Hambrock <roberthambrock@gmail.com >
2022-10-07 14:19:10 +00:00
Serban Iorga
a35da130ce
BEEFY: Simplify hashing for pallet-beefy-mmr ( #12393 )
...
* beefy-mmr: reuse sp_runtime::traits::Keccak256
* beefy-mmr: use sp_runtime::traits:Hash for generating merkle proofs
* beefy-mmr: use sp_runtime::traits:Hash for validating merkle proofs
* beefy-mmr: remove primitives::Hasher and primitives::Hash
* fixes
* beefy-mmr: reduce the number of generic parameters for merkle_root()
* fix
* compute upper Vec capacity more accurately
2022-10-04 08:47:13 +00:00
Xavier Lau
86198c5471
Use array-bytes for All Array/Bytes/Hex Operations ( #12190 )
...
* Use `array-bytes` for All Array/Bytes/Hex Operations
Signed-off-by: Xavier Lau <xavier@inv.cafe >
* Reorder
* Self Review
* Format
* Fix Tests
* Bump `array-bytes`
* Optimize large test res
Signed-off-by: Xavier Lau <xavier@inv.cafe >
Co-authored-by: parity-processbot <>
2022-09-21 06:12:20 +00:00
Sergej Sakac
e4b6f4a66d
BREAKING: Rename Origin ( #12258 )
...
* BREAKING: Rename Origin
* more renaming
* a bit more renaming
* fix
* more fixing
* fix in frame_support
* even more fixes
* fix
* small fix
* ...
* update .stderr
* docs
* update docs
* update docs
* docs
2022-09-20 22:13:09 +00:00
Sergej Sakac
6e8795afe6
BREAKING: Rename Call & Event ( #11981 )
...
* rename Event to RuntimeEvent
* rename Call
* rename in runtimes
* small fix
* rename Event
* small fix & rename RuntimeCall back to Call for now
* small fixes
* more renaming
* a bit more renaming
* fmt
* small fix
* commit
* prep for renaming associated types
* fix
* rename associated Event type
* rename to RuntimeEvent
* commit
* merge conflict fixes & fmt
* additional renaming
* fix.
* fix decl_event
* rename in tests
* remove warnings
* remove accidental rename
* .
* commit
* update .stderr
* fix in test
* update .stderr
* TRYBUILD=overwrite
* docs
* fmt
* small change in docs
* rename PalletEvent to Event
* rename Call to RuntimeCall
* renamed at wrong places :P
* rename Call
* rename
* rename associated type
* fix
* fix & fmt
* commit
* frame-support-test
* passing tests
* update docs
* rustdoc fix
* update .stderr
* wrong code in docs
* merge fix
* fix in error message
* update .stderr
* docs & error message
* .
* merge fix
* merge fix
* fmt
* fmt
* merge fix
* more fixing
* fmt
* remove unused
* fmt
* fix
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2022-09-12 22:03:31 +00:00
Adrian Catangiu
27b538222e
pallet-mmr: handle forks without collisions in offchain storage ( #11594 )
...
* pallet-mmr: fix some typos
* pallet-mmr: make the MMR resilient to chain forks
* pallet-mmr: get hash for block that added node
* beefy-mmr: add debug logging
* add explanatory comment
* account for block offset of pallet activation
* add support for finding all nodes added by leaf
* minor improvements
* add helper to return all nodes added to mmr with a leaf append
* simplify leaf_node_index_to_leaf_index
summing the (shifted) differences in peak positions adds up to the (shifted) final position, so
don't need to fold over positions.
* dead fish: this also doesn't work
The idea was to keep a rolling window of `(parent_hash, pos)` leaf
entries in the offchain db, with the window matching the one
that provides `block_num -> block_hash` mappings in `frame_system`.
Once a leaf exits the window it would be "canonicalized" by switching
its offchain db key from `(parent_hash, pos)` to simple `pos`.
This doesn't work however because there's no way to get leaf contents
from offchain db while in runtime context.. so no way to get+clear+set
leaf to change its key in offchain db.
Ideas:
1. move the "canonicalization" logic to offchain worker
2. enhance IndexingApi with "offchain::move(old_key, new_key)"
This is weird, but correct, deterministic and safe AFAICT, so
it could be exposed to runtime.
* simplify rightmost_leaf_node_index_from_pos
* minor fix
* move leaf canonicalization to offchain worker
* move storage related code to storage.rs
* on offchain reads use canonic key for old leaves
* fix offchain worker write using canon key
* fix pallet-mmr tests
* add documentation and fix logging
* add offchain mmr canonicalization test
* test canon + generate + verify
* fix pallet-beefy-mmr tests
* implement review suggestions
* improve test
* pallet-mmr: add offchain pruning of forks
* pallet-mmr: improve offchain pruning
Instead of keeping pruning map as single blob in offchain db,
keep individual parent-hash lists with block-num identifier as part
of the offchain key.
Signed-off-by: acatangiu <adrian@parity.io >
* pallet-mmr: improve MMRStore<OffchainStorage>::get()
Do the math and retrieve node using correct (canon or non-canon)
offchain db key, instead of blindly looking in both canon and non-canon
offchain db locations for each node.
Still fallback on looking at both if for any reason it's not where
expected.
Signed-off-by: acatangiu <adrian@parity.io >
* pallet-mmr: storage: improve logs
* fix tests: correctly persist overlay
runtime indexing API works on overlay, whereas offchain context
bypasses overlay, so for loops > canon-window, canon would fail.
* pallet-mmr: fix numeric typo in test
* add comment around LeafData requirements
Signed-off-by: acatangiu <adrian@parity.io >
Co-authored-by: Robert Hambrock <roberthambrock@gmail.com >
2022-07-07 15:02:37 +00:00
Adrian Catangiu
3018051cdd
pallet-beefy-mmr: add API for BEEFY Authority Sets ( #11406 )
...
* pallet-beefy: add Config::OnNewValidatorSet type
Add a hook to pallet-beefy for doing specific work when
BEEFY validator set changes.
For example, this can be used by pallet-beefy-mmr to cache
a lightweight MMR root over validators and make it available
to light clients.
* pallet-beefy-mmr: implement OnNewValidatorSet
Implement pallet-beefy::OnNewValidatorSet to be notified of BEEFY
validator set changes. Use the notifications to compute and cache
a light weight 'BEEFY authority set' which is an MMR root over
BEEFY validator set plus some extra info.
Previously, pallet-beefy-mmr was interogating pallet-beefy about
validator set id on every block to find out when it needs to recompute
the authority set.
By using the event-driven approach in this commit, we also save one
extra state interogation per block.
* pallet-beefy-mmr: add new authority_set() API
Expose current and next BEEFY authority sets through runtime API.
These can be directly used by light clients to avoid having them
compute them themselves based on BEEFY validator sets.
Signed-off-by: acatangiu <adrian@parity.io >
* rename BeefyMmr exposed runtime api
2022-06-22 18:39:24 +00:00
Keith Yeung
4e2fb0af60
Implement MaxEncodedLen on pallet-beefy ( #11584 )
...
* Implement MaxEncodedLen on pallet-beefy
* Return Result in intialize_authorities
* Update docs
* Log error when authorities list gets truncated
* Update frame/beefy/src/lib.rs
Co-authored-by: Adrian Catangiu <adrian@parity.io >
* cargo fmt
Co-authored-by: Adrian Catangiu <adrian@parity.io >
2022-06-13 17:53:07 +00:00
Adrian Catangiu
0d73371bb8
pallet-beefy: ensure mandatory block once per session ( #11269 )
...
* pallet-beefy: ensure mandatory block once per session
Signed-off-by: acatangiu <adrian@parity.io >
* pallet-beefy: fix tests with auth changes every session
Signed-off-by: acatangiu <adrian@parity.io >
* Apply suggestions from code review
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
* beefy: fix incorrect skip session metric on node restart
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
2022-04-28 11:19:32 +00:00
Alexander Gryaznov
9676ce6f36
Add frame_support::crypto::ecdsa::Public.to_eth_address() (k256-based) and use it in pallets ( #11087 )
...
* `ecdsa::Public::to_eth_address` + test, beefy-mmr `convert()` to use it, contracts Ext interface
* `seal_ecdsa_to_eth_address` all but benchmark done
* `seal_ecdsa_to_eth_address` + wasm test
* `seal_ecdsa_to_eth_address` + benchmark
* fixed dependencies
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* fixes from review #1
* ecdsa::Public(*pk).to_eth_address() moved to frame_support and contracts to use it
* beefy-mmr to use newly added frame_support function for convertion
* a doc fix
* import fix
* benchmark fix-1 (still fails)
* benchmark fixed
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* fixes on Alex T feedback
* to_eth_address() put into extension trait for sp-core::ecdsa::Public
* Update frame/support/src/crypto/ecdsa.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Update frame/contracts/src/wasm/mod.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* fixes on issues pointed out in review
* benchmark errors fixed
* fmt fix
* EcdsaRecoverFailed err docs updated
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* make applied suggestions compile
* get rid of unwrap() in runtime
* Remove expect
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <info@kchr.de >
2022-04-16 15:51:40 +03:00
Adrian Catangiu
80ce5c5768
Expose MMR root through runtime API - use it in BEEFY client ( #11183 )
...
* beefy-gadget: allow custom runtime api provider
* beefy-gadget: use mock runtime api in tests
* pallet-mmr: expose mmr root from state through runtime API
* beefy-gadget: get mmr root from runtime state
* pallet-beefy-mmr: remove MmrRoot from header digests
* frame/mmr: move mmr primitives out of frame
* frame/mmr: completely move primitives out of frame
* address review comments
* beefy-mmr: bring back mmr root from header digest
* clippy fixes for rustc 1.60
* address review comments
2022-04-13 10:13:06 +00:00
David Salami
2d3ee74805
Refactor Beefy MMR and remove parachain specific implementations ( #10664 )
...
* refactor beefy mmr
* use plain vector of bytes for leaf extra
* update comment
* update comments
* remove unused vars
* Use sp_std::vec::Vec
Co-authored-by: Adrian Catangiu <adrian@parity.io >
* make extra data generic
* fix tests
* refactor beefy-mmr
* Update frame/beefy-mmr/src/lib.rs
* minor fix
* fmt
* Update frame/beefy-mmr/src/lib.rs
Co-authored-by: Adrian Catangiu <adrian@parity.io >
2022-04-01 08:50:11 +00:00
Davide Galassi
a2b80edf12
Replace libsecp256k1 with k256 in FRAME related code ( #10883 )
...
* Replace libsecp256k1 with k256 in beefy-mmr
* Port of FRAME `contracts` benchmarking from `libsecp256k1` to `k256`
* Newtype to allow `Pcg32` rng usage with `k256` in contracts benchmarks
* Use `sp-io::crypto` to generate dummy keys in `contracts` bechmarks
* More compact code
* Cargo fmt
* Build `sp-keystore` only for dev profile
* Move public key generation back to the `map`
2022-02-23 10:17:47 +01:00
Davide Galassi
6f53b974b2
Fix beefy mock ecdsa keys ( #10854 )
...
Compressed ECDSA keys requires to have 0x02 or 0x03 as their first byte
in order to allow public key recovery.
Nevertheless the test was working because of the `unwrap_or_default()`
at the end of the conversion routine (i.e. the invalid keys were
converted to an empty vector).
2022-02-15 14:19:39 +01:00
Shawn Tabrizi
f6f82d876b
Add Storage Info to Various Pallets ( #10810 )
...
* atomic swap
* bounties
* bounties fmt
* gilt
* indices
* nicks
* randomness-collective-flip
* recovery
* reuse maxapprovals
* Update tests.rs
* Update frame/randomness-collective-flip/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* use the correct bound
* complete recovery
* use `bounded_vec` macro
* Update tests.rs
* transaction payment
* uniques
* mmr
* example offchain worker
* beefy-mmr
* Update frame/recovery/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use BoundedVec instead of a type-parameterized BoundedString
* cargo fmt
* Update frame/atomic-swap/src/lib.rs
* use config const
* Update lib.rs
* update mel_bound
* fmt
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2022-02-08 14:10:35 +00:00
Oliver Tale-Yazdi
362a6d9b28
Require MaxEncodedLen per default ( #10662 )
...
* Remove generate_storage_info
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add without_storage_info where needed
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update doc tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add more without_storage_info
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fix TryBuild
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fix TryBuild tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2022-01-20 11:16:04 +00:00
Bastian Köcher
f3662b4bba
Happy new year 2022 ( #10573 )
2022-01-03 09:22:14 +01:00
Adrian Catangiu
3d8ce67383
Beefy: Provide well-formed ValidatorSet ( #10445 )
...
* beefy: provide well-formed ValidatorSet
* pallet-beefy: use well-formed ValidatorSet
* pallet-beefy-mmr: use well-formed ValidatorSet
* beefy-gadget: fail votes early when ValidatorSet empty
* beefy: small efficiency improvements
* address review comments
Signed-off-by: acatangiu <adrian@parity.io >
2021-12-21 16:34:32 +02:00
dharjeezy
1b0be8ae06
Replace parameter_types with ConstU32 &c. ( #10402 )
...
* remove parameter types and use const type
* remove parameter types and use const type
* Delete {
* Delete count,
* refractor for beefy, benchmarking, child bounties, and collective pallets
* refractor for pallet contracts
* refractor for elections
* refractor for more pallets
* fix CI issues
* fix CI issues
* fix CI issues
* fix CI issues
* remove warning to fix CI issue
* remove warning to fix CI issue
refractor for pallet preimage
* remove warning to fix CI issue
refractor for pallet proxy
* remove warning to fix CI issue
refractor for pallet recovery
refractor for pallet randomness-collective-flip
* remove warning to fix CI issue
refractor for pallet scored-pool
refractor for pallet scheduler
refractor for pallet session
* remove warning to fix CI issue
refractor for pallet society, support, system, timestamp, tips
* remove warning to fix CI issue
refractor for pallet transaction_payment, transaction_storage, treasury, uniques, utility
* remove warning to fix CI issue
* cargo +nightly fmt
* CI fix
* more param refractor on beefy-mmr
* refractor for beefy
* Update frame/babe/src/mock.rs
* Update frame/babe/src/mock.rs
* Update frame/bounties/src/tests.rs
* Update frame/tips/src/tests.rs
* Delete mock.rs
* Update frame/examples/basic/src/tests.rs
* Apply suggestions from code review
* Update frame/im-online/src/mock.rs
* Update frame/im-online/src/mock.rs
* Update frame/offences/benchmarking/src/mock.rs
* Update frame/session/benchmarking/src/mock.rs
* Update frame/support/test/tests/pallet_compatibility.rs
* Update frame/support/test/tests/pallet_compatibility_instance.rs
* Update frame/treasury/src/tests.rs
* Update test-utils/runtime/src/lib.rs
* some cleanup
* fmt
* remove unused
Co-authored-by: Damilare <dakinlose@teamapt.com >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-12-16 03:06:11 +00:00
Gavin Wood
1e24e45ea1
Remove Default bound for AccountId ( #10403 )
...
* Remove Default for AccountId
* More removals of default
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* More work
* More work
* Remove old code
* More work
* pallet-asset-tx-payment
* tips
* sc-consensus-babe
* sc-finality-grandpa
* sc-consensus-babe-rpc
* sc-cli
* make npos crates accept non-default account (#10420 )
* minimal changes to make npos pallets all work
* make this pesky reduce.rs a bit cleaner
* more work
* more work
* Tests build
* Fix imonline tests
* Formatting
* Fixes
* Fixes
* Fix bench
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Formatting
* Fixes
* Formatting
* Fixes
* Formatting
* Fixes
* Formatting
* Fixes
* Formatting
* Update client/keystore/src/local.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/finality-grandpa/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/keystore/src/local.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/keystore/src/local.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/staking/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/staking/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update primitives/runtime/src/traits.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Formatting
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: kianenigma <kian@parity.io >
2021-12-13 15:03:59 +01:00
Gavin Wood
3dd8f83a3a
Insufficient asset quota and deposits ( #10382 )
...
* Allow asset accounts to exist by deposit
* Place limit on consumers (and therefore freebie asset accounts)
* Maximum number of assets
* Fixes
* Fixes
* Formatting
* Docs
* Formatting
* Destroyed assets are properly tidied
* Update frame/assets/src/types.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Docs
* Docs
* Formatting
* Docs
* Docs
* Fixes
* Fixes
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-12-09 13:22:54 +01:00
Guillaume Thiolliere
fcfb766366
Fix some doc link ( #10329 )
...
* fix some doc link
* fmt
2021-11-22 10:48:53 +00:00
Arkadiy Paronyan
4cbbf0cf43
Kill the light client, CHTs and change tries. ( #10080 )
...
* Remove light client, change tries and CHTs
* Update tests
* fmt
* Restore changes_root
* Fixed benches
* Cargo fmt
* fmt
* fmt
2021-11-12 14:15:01 +01:00
André Silva
7e5c022aea
staking: only disable slashed validators and keep them disabled for whole era ( #9448 )
...
* session: remove disabled validators threshold logic
* staking: add logic to track offending validators
* staking: disable validators for the whole era
* frame: fix tests
* staking: add tests for disabling validators handling
* staking: fix adding offending validator when already slashed in era
* address review comments
* session, staking: add comments about sorted vecs
Co-authored-by: Andronik Ordian <write@reusable.software >
2021-10-06 16:22:34 +00:00
Qinxuan Chen
7f550d6dd2
Migrate pallet-session to the new pallet macro ( #9796 )
...
* Migrate pallet-session to the new pallet macro
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* Remove old macros
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* Fix
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
2021-09-28 03:12:57 +00:00
Andreas Doerr
283c8daa81
Integrate BEEFY ( #9833 )
...
* Initial project setup and skeleton (#4 )
* initial project setup for beefy gadget client
* update editorconfig
* update gitignore
* add initial skeleton for beefy gadget worker
* add skeleton for gossip processing
* add app crypto
* move around some code
* add basic flow for voting
* add logic for picking blocks to sign
* add rustfmt config
* add example node with beefy gadget
* use u32::next_power_of_two
* make maximum periodicity configurable
* add copyright header
* rename max_periodicity to min_interval
* CI stuff (#5 )
* CI stuff.
* Fix workspace.
* cargo fmt --all
* Add license for beefy-gadget
* One toolchain to rule them all.
* Clippy.
* Fix clippy.
* Clippy in the runtime.
* Fix clippy grumbles.
* cargo fmt --all
* Primitives & Light Client examples (#8 )
* Primitives.
* Docs.
* Document primitives.
* Simple tests.
* Light client examples.
* Fix stuff.
* cargo fmt --all
* Add a bunch of tests for imports.
* Add more examples.
* cargo fmt --all
* Fix clippy.
* cargo fmt --all
* Apply suggestions from code review
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
* Add GRANDPA / FG clarifications.
* Fix min number of signatures.
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
* Update to substrate master (#22 )
* update to substrate master
* update dependencies
* fix clippy issues
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
* Add beefy pallet (#25 )
* move beefy application crypto to primitives
* make primitives compile under no_std
* add beefy pallet that maintains authority set
* add beefy pallet to node example runtime
* tabify node-example cargo.toml files
* use double quotes in Cargo.toml files
* add missing hex-literal dependency
* add runtime api to fetch BEEFY authorities
* fix clippy warnings
* rename beefy-pallet to pallet-beefy
* sort dependencies in node-example/runtime/Cargo.toml
* Signed commitments rpc pubsub (#26 )
* move beefy application crypto to primitives
* make primitives compile under no_std
* add beefy pallet that maintains authority set
* add beefy pallet to node example runtime
* tabify node-example cargo.toml files
* use double quotes in Cargo.toml files
* add missing hex-literal dependency
* add runtime api to fetch BEEFY authorities
* fix clippy warnings
* gadget: use commitment and signedcommitment
* gadget: send notifications for signed commitments
* gadget: add rpc pubsub for signed commitments
* node-example: enable beefy rpc
* gadget: fix clippy warnings
* rename beefy-pallet to pallet-beefy
* sort dependencies in node-example/runtime/Cargo.toml
* gadget: add documentation on SignedCommitment rpc wrapper type
* gadget: add todos about dummy beefy commitments
* gadget: remove redundant closure
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Integrate MMR and deposit root into the digest. (#24 )
* Add basic MMR.
* Deposit digest item.
* cargo fmt --all
* Merge with primitives.
* cargo fmt --all
* Fix extra spaces.
* cargo fmt --all
* Switch branch.
* remove stray whitespace
* update to latest td-mmr commit
* fix clippy error
Co-authored-by: André Silva <andrerfosilva@gmail.com >
* use new mmr root as commitment payload (#27 )
* use new mmr root as commitment payload
* fix mmr root codec index
* warn on MMR root digest not found
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* add type alias for MMR root hash
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Bump serde_json from 1.0.59 to 1.0.60 (#28 )
* Update to latest substrate. (#32 )
* Update to latest substrate.
* Fix tests.
* cargo fmt --all
* Switch to master.
* Bump serde from 1.0.117 to 1.0.118 (#29 )
* Bump serde from 1.0.117 to 1.0.118
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.117 to 1.0.118.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.117...v1.0.118 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
* Bump arc-swap.
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
* Remove transition flag (#35 )
* Get rid of is_set_transition_flag
* Fix tests.
* cargo fmt --all
* Bump futures from 0.3.9 to 0.3.12 (#50 )
* Bump log from 0.4.11 to 0.4.13 (#52 )
* Bump Substrate and Deps (#57 )
* Update README (#58 )
* Update README
* Apply suggestions from code review
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* address review comments
* missed a typo
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Add validator set to the pallet. (#65 )
* Bump Substrate and Deps (#71 )
* Bump Substrate and Deps
* pin serde and syn
* bump Substrate again for '__Nonexhaustive' fix
* add cargo deny ignore
* Beefy pallet test (#74 )
* setup mock
* test session change
* silence beefy
* clippy still
* no change - no log
* clippy again
* Apply suggestions from code review
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* code review changes, added additional test
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Beefy node cleanup (#75 )
* bump serde
* bump substrate, scale-codec 2.0.0
* we need a proper beefy node
* rename primitives as well
* Sort members.
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
* Migrate beefy-pallet to FRAMEv2 (#76 )
* migrate beefy-pallet to FRAMEv2
* Code review
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Run BEEFY worker as non-validator (#77 )
* run BEEFY worker as non-validator
* don't check for roloe.is_authority
* change enum type name
* Bump Substrate and Deps (#79 )
* Add BEEFY gadget as extra peer set (#80 )
* Add BEEFY gadget as extra peer set
* use BEEFY protocol
* Add ValidatorSetId to BEEFY digest (#85 )
* add ValidatorSetId to BEEFY digest
* apply review changes
* Bump Substrate and Deps (#91 )
* Bump Substrate and Deps
* Bump Substrate again in order to include a hot-fix
* redo again
* use CryptoStore issue
* cargo fmt
* Bump serde_json from 1.0.63 to 1.0.64 (#93 )
* Track BEEFY validator set (#94 )
* Track BEEFY validator set
* Add validator_set_id to BeefyWorker
* Make validattor_set_id optional
* Ad 92 (#97 )
* sign_commitment()
* Error handling todo
* Add error type (#99 )
* Add error type
* Address review
* Extract worker and round logic (#104 )
* Bump serde from 1.0.123 to 1.0.124 (#106 )
* Rework BeefyAPI (#110 )
* Initialize BeefyWorker with current validator set (#111 )
* Update toolchain (#115 )
* Use nightly toolchain
* dongradde to latest clippy stable
* GH workflow trail and error
* next try
* use stable for clippy
* update wasm builder
* yet another try
* fun with CI
* no env var
* and one more
* allow from_over_into bco contruct_runtime
* back to start
* well ...
* full circle
* old version was still used
* Bump Substrate and Deps (#117 )
* Bump Substrate and Deps
* cargo fmt should enforce uniform imports
* merge some imports
* Delayed BEEFY worker initialization (#121 )
* lifecycle state
* add Client convenience trait
* rework trait identifiers
* WIP
* rework BeefyWorker::new() signature
* Delayed BEEFY gadget initialization
* address review
* Bump substrate. (#123 )
* Bump substrate.
* Fix tests.
* Lower log-level for a missing validator set (#124 )
* lower log-level for a missing validator set
* move best_finalized_block initialization
* Setup Prometheus metrics (#125 )
* setup Prometheus metrics
* expose validator set id
* cargo fmt
* Update beefy-gadget/src/lib.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* add vote messages gossiped metric
* track authorities change, before checking for MMR root digest
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Make Client convenience trait public (#126 )
* Bump serde from 1.0.124 to 1.0.125 (#131 )
* Reset rounds on new validator set. (#133 )
* Re-set rounds on new validator set.
* Fix docs.
* Bump Substrate and Deps (#134 )
* beefy: authority set changes fixes (#139 )
* node: fix grandpa peers set config
* gadget: update best finalized number only when finalized with beefy
* gadget: process authorities changes regardless of vote status
* gadget: remove superfluous signature type (#140 )
* node: fix grandpa peers set config
* gadget: update best finalized number only when finalized with beefy
* gadget: process authorities changes regardless of vote status
* gadget: remove superfluous signature type
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
* gadget: reduce gossip spam (#141 )
* node: fix grandpa peers set config
* gadget: update best finalized number only when finalized with beefy
* gadget: process authorities changes regardless of vote status
* gadget: remove superfluous signature type
* gadget: only gossip last 5 rounds
* gadget: note round to gossip validator before gossiping message
* gadget: fix clippy warnings
* gadget: update docs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-authored-by: adoerr <0xad@gmx.net >
* gadget: verify SignedCommitment message signature (#142 )
* gadget: verify SignedCommitment message signature
* gadget: log messages with bad sigs
* gadget: move todo comment
* Bump futures from 0.3.13 to 0.3.14 (#145 )
* Milestone 1 (#144 )
* use best_finalized, prevent race
* make best_finalized_block an Option, should_vote_on bails on None
* Bump futures from 0.3.13 to 0.3.14
* Revert futures bump
* Revert "Revert futures bump"
This reverts commit a1b5e7e9bac526f2897ebfdfee7f02dd29a13ac5.
* Revert "Bump futures from 0.3.13 to 0.3.14"
This reverts commit a4e508b118ad2c4b52909d24143c284073961458.
* debug msg if the bail voting
* validator_set()
* local_id()
* get rid of worker state
* Apply review suggestions
* fix should_vote_on()
* Extract BeefyGossipValidator (#147 )
* Extract BeefyGossipValidator
* Apply review suggestions
* Add block_delta parameter to start_beefy_gadget (#151 )
* Add block_delta parameter
* rename to min_block_delta
* Add additional metrics (#152 )
* Add additional metrics
* add skipped session metric
* add some comment for temp metric
* don't log under info for every concluded round (#156 )
* don't log error on missing validator keys (#157 )
* don't log error on missing validator keys
* remove unused import
* Fix validator set change handling (#158 )
* reduce some logs from debug to trace
* fix validator set changes handling
* rename validator module to gossip
* run rustfmt
* Fix should_vote_on() (#160 )
* Fix should_vote_on()
* by the textbook
* fix the algorithm
* Apply review suggestions
* don't use NumberFor in vote_target
Co-authored-by: André Silva <andrerfosilva@gmail.com >
* Make KeyStore optional (#173 )
* Use builder pattern for NonDefaultSetConfig (#178 )
Co-authored-by: adoerr <0xad@gmx.net >
* Append SignedCommitment to block justifications (#177 )
* Append SignedCommitment
* add BeefyParams
* add WorkerParams
* use warn
* versioned variant for SignedCommitment
* Bump serde from 1.0.125 to 1.0.126 (#184 )
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.125 to 1.0.126.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.125...v1.0.126 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump strum from 0.20.0 to 0.21.0 (#195 )
* Bump strum from 0.20.0 to 0.21.0
Bumps [strum](https://github.com/Peternator7/strum ) from 0.20.0 to 0.21.0.
- [Release notes](https://github.com/Peternator7/strum/releases )
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Peternator7/strum/commits )
---
updated-dependencies:
- dependency-name: strum
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* use dervie feature for strum; clippy and deny housekeeping
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: adoerr <0xad@gmx.net >
* Make concluded round an info log (#200 )
* Remove external crypto trait bounds (#207 )
* BeefyKeystore newtype
* WIP
* remove mod ecdsa
* WIP
* fix tests
* some polishing
* Rename AuthorityId to BeefyId to avoid type conflict in UI (#211 )
* Add trace points; Reduce MAX_LIVE_GOSSIP_ROUNDS (#210 )
* Add trace points; Reduce MAX_LIVE_GOSSIP_ROUNDS
* log local authority id
* Additional initial authority id's (#217 )
* Scratch concluded rounds
* adjust testnet doc
* fix authority key typo
* We don't want no scratches
* address review comments
* Fix note_round() (#219 )
* rename BeefyGossipValidator
* Fix note_round()
* use const for assert
* put message trace points back in
* test case note_same_round_twice()
* address review comments
* remove redundant check
* Use LocalKeystore for tests (#224 )
* private_keys()
* Use LocalKeystore for tests
* Use keystore helper
* Address review
* some reformatting
* Cache known votes in gossip (#227 )
* Implement known messages cache.
* Add tests.
* Appease clippy.
* More clippy
Co-authored-by: adoerr <0xad@gmx.net >
* Some key store sanity checks (#232 )
* verify vote message
* verify_validator_set()
* rework logging
* some rework
* Tone down warnings.
* Add signature verification.
* Tone down more.
* Fix clippy
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
* Use Binary Merkle Tree instead of a trie (#225 )
* Binary tree merkle root.
* Add proofs and verification.
* Clean up debug.
* Use BEEFY addresses instead of pubkeys.
* Use new merkle tree.
* Optimize allocations.
* Add test for larger trees.
* Add tests for larger cases.
* Appease clippy
* Appease clippy2.
* Fix proof generation & verification.
* Add more test data.
* Fix CLI.
* Update README
* Bump version.
* Update docs.
* Rename beefy-merkle-root to beefy-merkle-tree
Co-authored-by: adoerr <0xad@gmx.net >
* Bump Substrate and Deps (#235 )
* BEEFY+MMR pallet (#236 )
* Add MMR leaf format to primitives.
* Fix tests
* Initial work on the BEEFY-MMR pallet.
* Add tests to MMR pallet.
* Use eth addresses.
* Use binary merkle tree.
* Bump libsecp256k1
* Fix compilation.
* Bump deps.
* Appease cargo deny.
* Re-format.
* Module-level docs.
* no-std fix.
* update README
Co-authored-by: adoerr <0xad@gmx.net >
* Fix noting rounds for non-authorities (#238 )
* Bump env_logger from 0.8.4 to 0.9.0 (#242 )
Bumps [env_logger](https://github.com/env-logger-rs/env_logger ) from 0.8.4 to 0.9.0.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases )
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/main/CHANGELOG.md )
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.8.4...v0.9.0 )
---
updated-dependencies:
- dependency-name: env_logger
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* gadget: add global timeout for rebroadcasting messages (#243 )
* gadget: add global timeout for rebroadcasting messages
* update rustfmt.toml
* make message_allowed() a debug trace
Co-authored-by: adoerr <0xad@gmx.net >
* Bump Substrate and Deps (#245 )
* Bump Substrate and Deps
* Bump Substrate again
* Bump futures from 0.3.15 to 0.3.16 (#247 )
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.15 to 0.3.16.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.15...0.3.16 )
---
updated-dependencies:
- dependency-name: futures
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>
* Bump libsecp256k1 from 0.5.0 to 0.6.0 (#249 )
* Bump libsecp256k1 from 0.5.0 to 0.6.0
Bumps [libsecp256k1](https://github.com/paritytech/libsecp256k1 ) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/paritytech/libsecp256k1/releases )
- [Changelog](https://github.com/paritytech/libsecp256k1/blob/master/CHANGELOG.md )
- [Commits](https://github.com/paritytech/libsecp256k1/commits )
---
updated-dependencies:
- dependency-name: libsecp256k1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* use correct crate name
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: adoerr <0xad@gmx.net >
* Derive `scale_info::TypeInfo` for types used in polkadot (#218 )
* Add scale-info TypeInfo derives
* Update scale-info
* Add crates.io patches
* Use substrate aj-metadata-vnext branch
* Revert master branch substrate deps
* Add scale-info to beefy-pallet
* scale-info v0.9.0
* Remove github dependencies and patches
* More TypeInfo derives
* Update scale-info to 0.10.0
* Add missing scale-info dependency
* Add missing TypeInfo derive
* Hide TypeInfo under a feature.
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
* Bump serde from 1.0.126 to 1.0.127 (#260 )
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.126 to 1.0.127.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.126...v1.0.127 )
---
updated-dependencies:
- dependency-name: serde
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>
* Bump Substrate and Deps (#262 )
* Update jsonrpc (#265 )
* Update jsonrpc
* Update Substrate
* bump Substrate and Deps (#268 )
* Bump serde from 1.0.127 to 1.0.128 (#272 )
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.127 to 1.0.128.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.127...v1.0.128 )
---
updated-dependencies:
- dependency-name: serde
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>
* Fix spelling (#271 )
* Bump serde from 1.0.128 to 1.0.130 (#276 )
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.128 to 1.0.130.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.128...v1.0.130 )
---
updated-dependencies:
- dependency-name: serde
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>
* Bump scale-info from 0.10.0 to 0.12.0 (#275 )
Bumps [scale-info](https://github.com/paritytech/scale-info ) from 0.10.0 to 0.12.0.
- [Release notes](https://github.com/paritytech/scale-info/releases )
- [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md )
- [Commits](https://github.com/paritytech/scale-info/commits )
---
updated-dependencies:
- dependency-name: scale-info
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: adoerr <0xad@gmx.net >
* Update to scale-info 1.0 (#278 )
* bump substrate (#282 )
* bump Substrate and Deps
* cargo fmt
Co-authored-by: Wenfeng Wang <kalot.wang@gmail.com >
* Update worker.rs (#287 )
* Bump anyhow from 1.0.43 to 1.0.44 (#290 )
* Bump anyhow from 1.0.43 to 1.0.44
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.43 to 1.0.44.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.43...1.0.44 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* derive Default
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: adoerr <0xad@gmx.net >
* Remove optional `scale-info` feature (#292 )
* Make scale-info dependency non-optional
* Remove feature gated TypeInfo derives
* Import TypeInfo
* Update substrate
* Fix up runtime
* prune .git suffix (#294 )
* remove unused deps (#295 )
* remove unused deps
* update lock file
* Bump libsecp256k1 from 0.6.0 to 0.7.0 (#296 )
* Bump libsecp256k1 from 0.6.0 to 0.7.0
Bumps [libsecp256k1](https://github.com/paritytech/libsecp256k1 ) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/paritytech/libsecp256k1/releases )
- [Changelog](https://github.com/paritytech/libsecp256k1/blob/master/CHANGELOG.md )
- [Commits](https://github.com/paritytech/libsecp256k1/commits )
---
updated-dependencies:
- dependency-name: libsecp256k1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* update sec advisories
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: adoerr <0xad@gmx.net >
* clean compile
* use path dependencies
* beefy-gadget license header
* pallet-beefy license header
* pallet-beefy-mmr license header
* beefy-primitves license header
* carg fmt
* more formatting
* shorten line
* downgrade parity-scale-codec to 2.2.0
* use path dependency for Prometheus endpoint
* remove clippy annotations
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
Co-authored-by: André Silva <andrerfosilva@gmail.com >
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Jones <ascjones@gmail.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: drewstone <drewstone329@gmail.com >
Co-authored-by: Andronik Ordian <write@reusable.software >
Co-authored-by: Wenfeng Wang <kalot.wang@gmail.com >
Co-authored-by: Joshy Orndorff <JoshOrndorff@users.noreply.github.com >
Co-authored-by: Squirrel <gilescope@gmail.com >
2021-09-23 19:02:30 +00:00