Commit Graph

202 Commits

Author SHA1 Message Date
Svyatoslav Nikolsky 239790fc72 Migrate dispatch pallet to frame v2 (#1089)
* pallet-bridge-dispatch -> frame v2

* fix metadata
2024-04-10 10:28:37 +02:00
Hector Bulgarini b1db3df199 Bridge/This Chain Ids should be exposed as constants on pallet level. (#1085)
* Adding BridgedChainId constant to message pallet

* Addressing PR feedback
2024-04-10 10:28:37 +02:00
Hector Bulgarini c99fb933ca Change ChainSpec::from_genesis for Rialto and Millau chains to reflect the chain names. (#1079)
* Changing chain_spec of Rialto and Millau chains to retrieve their respective name

* Adding development as well

* Addressing PR feedback

Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
2024-04-10 10:28:37 +02:00
Hernando Castano 75df85f52a Make CI happy again (#1086)
* Appease `cargo-spellcheck`

* Increase logging for `cargo-spellcheck`

* Fix config file name
2024-04-10 10:28:37 +02:00
Tomasz Waszczyk f86d101d7c Fix full spellcheck (#1076)
* fix(spellcheck): test of fixing

* fix(hunspell): improved many typos etc.

* fix(hunspell): all errors solved

* fix(hunspell): extended scope of files - the build should fail

* Return error code.

* Fix spelling, sort dictionary.

* fix(hunspell): added fix to gitlabs check

* fix(typo): one typo and test of verification on github

* fix(typo): one typo

Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 9e0efdb7ac extract message_details impl into runtime common (#1070) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 08fd53adef Use BABE to author blocks on Rialto (previously: Aura) (#1050)
* use BABE to author blocks on Rialto (previously: Aura)

* removed extra script

* use bp_rialto::Moment

* fix tests

* Babe should control session end

* test

* Revert "test"

This reverts commit 4bbbd76b1fe0aa65002fcfa600cfdc6d15c899e2.

* clippy

* fix test

* Revert "Revert "test""

This reverts commit e9220184d4a14ef4f5a792b239e835528d3baa31.

* Revert "Revert "Revert "test"""

This reverts commit 9f56a5528945f1d8f82c6346826be68207bf9c75.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 4e18bff37c enable weight fee adjustent in Rialto/Millau (#1044) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky f5f73537a8 bump dependencies before start referencing polkadot repo (#1048) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky dfdd541bc9 pre and post dispatch weights of OnDeliveryConfirmed callback (#1040)
* pre and post dispatch weights of OnDeliveryConfirmed callback

* Update modules/messages/README.md

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* clippy + compilation

* fix test issue from parallel PR

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 165730a2c2 Rococo <> Wococo messages relay (#1030)
* MessagesInstance -> BridgedMessagesInstance

* Chain::ID -> Bridge::THIS_CHAIN_ID+Bridge::BRIDGED_CHAIN_ID

* FromBridgedChainEncodedMessageCall<B> -> FromBridgedChainEncodedMessageCall<DecodedCall>

* impl Parameter for ()

* copypaste storage_map_final_key to avoid different runtime references/dummy runtimes

* moved dummy runtime from primitives to relay client

* Rococo <> Wococo messages relays

* send R<>W messages using relay

* fmt

* return Result from get_dispatch_info

* fix benchmarks compilation

* clippy
2024-04-10 10:28:37 +02:00
Chevdor c8aeb11b26 Update the wasm builder to substrate master (#1029)
* chore: update the wasm builder to substrate master
* Bump Substrate
* Update weight of sending remarks

ref https://github.com/paritytech/polkadot/pull/3354

Co-authored-by: Hernando Castano <hernando@hcastano.com>
2024-04-10 10:28:37 +02:00
kaichao 79e7845544 Fix insufficient balance when send message. (#1020)
* fix insufficient balance when send message.

* Revert "fix insufficient balance when send message."

This reverts commit b7a539c77b1eb0c6f7ccb1333e9fd2c4e18f8cbc.

* More derived account used for send messages.

* typo fix

* trigger build
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 6ff79e9959 Return dispatch_fee_payment from message details RPC (#1014) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ee43a560f8 Relay basic single-bit message dispatch results back to the source chain (#935)
* relay dispatch result flags back to the source chain

* OnMessagesDelivered callback

* add lane id to OnDeliveredMessages callback

* fix benchmarks && upate weights

* clippy

* clippy

* clipy another try

* OnMessagesDelivered -> OnDeliveryConfirmed

* Update primitives/messages/src/source_chain.rs

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 20b7f341e1 pay dispatch fee at target chain (#911)
* pay dispatch fee at target chain

* refund unspent dispatch weight to messages relayer

* test that transfer actually happens

* pay-at-target-cchain benchmarks + fix previous benchmarks (invalid signature)

* include/exclude pay-dispatch-fee weight from delivery_and_dispatch_fee/delivery tx cost

* remvoe some redundant traces

* enum DispatchFeePayment {}

* typo

* update docs

* (revert removal of valid check)

* Update modules/messages/src/benchmarking.rs

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* Update modules/messages/src/benchmarking.rs

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* Update modules/messages/src/benchmarking.rs

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* Update modules/messages/src/benchmarking.rs

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: Tomasz Drwięga <tomasz@parity.io>
2024-04-10 10:28:37 +02:00
Hernando Castano 613803a15d Bump Substrate to 286d7ce (#1006)
* Bump dependencies

- Substrate to `74a1bfdcc`
- `finality-grandpa` to `0.14.1`
- `fs-swap` to `0.2.6`

* Add `pallet_randomness_collective_flip` to runtimes

* Rename GenesisConfig fields

See Substrate PR: https://github.com/paritytech/substrate/pull/8990

* Missed PoA renames in Rialto GenesisConfig

* Use `spawn_essential_handle` for transaction pool

See Substrate PR: https://github.com/paritytech/substrate/pull/9074
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ec8412b6d0 rename messages_dispatch_weight -> message_details (#996)
Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 812e782904 fix clippy issues (#991) 2024-04-10 10:28:37 +02:00
Roman Useinov cab4c7cd05 Make sure GRANDPA shares state with RPC. (#987)
* Make sure GRANDPA shares state with RPC.

* RPC shared state with GRANDPA rialto.

* fmt

* cargo fix

* fix clippy
2024-04-10 10:28:37 +02:00
Hernando Castano a6379d2968 Bump Substrate (#986)
* Bump Substrate to commit `0495ead4`

* Derive MaxEncodedLen for MillauHash

* Add new config params to Balances pallet

* Update Millau and Rialto service files

* Add new Config items to mock runtime

* Bump Substrate to `37bb3ae7`

* Update Aura worker params
2024-04-10 10:28:37 +02:00
Dan Shields 1f75777085 Revert to use InspectCmd, bump substrate 6bef4f4 (#966)
* revert to use InspectCmd

* rust toolchain 1.52

* Bump `finality-grandpa` and `parity-scale-codec`

* bump to same version for substrate as polkadot v0.9.1

* bump to polkadot 0.9.2 deps for substrate `6bef4f4`

Co-authored-by: Hernando Castano <hernando@hcastano.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ff7f8ad098 pass source and target chain ids to account_ownership_proof (#963) 2024-04-10 10:28:37 +02:00
Hernando Castano d85cf36685 Increase account endowment amount (#960) 2024-04-10 10:28:37 +02:00
Hernando Castano d53ecbdb3b Bump Substrate to b094edaf (#958)
* Bump Substrate to commit `b094edafd1cd5d26e49ecbf92b0ce7553cfad717`

* Remove unsafe random seed method

See: https://github.com/paritytech/substrate/pull/8718

* Update Subkey syntax

See: https://github.com/paritytech/substrate/pull/8678
2024-04-10 10:28:37 +02:00
Hernando Castano 1a662c7bb3 Bump endowment amounts on Rialto and Millau (#957) 2024-04-10 10:28:37 +02:00
Hernando Castano 7ebae6fa9e Bump Substrate WASM builder (#947) 2024-04-10 10:28:37 +02:00
Hernando Castano 92b1860f5a Bump Substrate to ec180313 (#955)
* Bump Substrate to commit `0856e0729c5f9cd5d398b93680ab154fe486e588`

* Update service to use new inherent data client

Relevant Substrate PR: https://github.com/paritytech/substrate/pull/8526

* Appease Clippy
2024-04-10 10:28:37 +02:00
fewensa 4ccf7a2f5a Move pallet-bridge-dispatch types to primitives (#948)
* message dispatch support multiple instances

* Move pallet-bridge-dispatch types to primitives

* remove pallet-bridge-dispatch dependency

* Update cargo.lock (remove pallet-bridge-dispatch in substrate-relay)

* remove extra dependencies
2024-04-10 10:28:37 +02:00
Tomasz Drwięga d85240b539 Endow accounts and add bridgeIds to chainspec. (#951)
* Endow more accounts.

* Add bridge ids to properties.

* Change accounts on Millau.
2024-04-10 10:28:37 +02:00
fewensa 01cede2120 Message dispatch support multiple instances (#942)
* message dispatch support multiple instances

* format code

* define millau grandpa instance in rialto
2024-04-10 10:28:37 +02:00
Hernando Castano 982a50df66 Bump Substrate (#939)
* Bump Substrate to `0856e072`

* Fix compilation errors
2024-04-10 10:28:37 +02:00
Tomasz Drwięga 479e51c67b Add pruning to bechmarks & update weights. (#918)
* Insert headers in benchmarks.

* Fix benchmarks.

* Lower number of headers.

* Avoid hardcoding numbers.

* Update weights.

* cargo fmt --all

* Remove todo.

* Fix test.

* Address review comments.

* Fix borrowed value.
2024-04-10 10:28:37 +02:00
Tomasz Drwięga fd44cab992 Add properties to Chain Spec (#917)
* Add properties to chainspec.

* Update bin/millau/node/src/chain_spec.rs

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky a69026af44 Use complex headers+messages relay in test deployments (#905)
* use complex relay in deployments

* enable lane 00000001

* add alerts for lane 00000001

* revert local substrate relay

* updated doc

* review
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 0d60f42b5e Use Substrate state_getReadProof RPC method to get storage proofs (#893)
* use Substrate state_getReadProof method instead of pallet-bridge-messages-rpc

* Fix typo

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
Tomasz Drwięga f92449a461 Grandpa Pallet Pruning (#890)
* Pruning.

* Add tests.

* Address review.
2024-04-10 10:28:37 +02:00
Hernando Castano c6ae74725b Bump Substrate (#871)
* Bump Substrate

* Change usage of "Module" to "Pallet"

Related Substrate PR: https://github.com/paritytech/substrate/pull/8372

* Add `OnSetCode` config param

Related Substrate PR: https://github.com/paritytech/substrate/pull/8496

* Update Aura Slot duration time type

Related Substrate PR: https://github.com/paritytech/substrate/pull/8386

* Add `OnSetCode` to mock runtimes

* Add support for multiple justifications

Related Substrate PR: https://github.com/paritytech/substrate/pull/7640

* Use updated justification type in more places

* Make GenesisConfig type non-optional

Related Substrate PR: https://github.com/paritytech/substrate/pull/8275

* Update service to use updated telemetry

Related Substrate PR: https://github.com/paritytech/substrate/pull/8143

* Appease Clippy
2024-04-10 10:28:37 +02:00
Hernando Castano 2f1c4c23fc Remove Substrate Pallet (#866)
* Remove `pallet-substrate-bridge`

* Fix transfer call encoding test

Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky cb90ea0979 Pre-create metrics registry before loop is started + administrative metrics (#848)
* administrative metrics

* fmt

* fix compilation

* fix compilation again

* and another one

* remove GenericLoopMetrics

* chttp -> isahc

* remove redundant marker

* not about price metrics

* fmt
2024-04-10 10:28:37 +02:00
Hernando Castano 21baffc832 Update Copyright Date to 2021 (#864)
* Update copyright date to 2021

* Bump date in license header template
2024-04-10 10:28:37 +02:00
Hernando Castano 1928e2b870 Use Vote Ancestries Directly in Weight Calculations (#862)
* Use more accurate weight calculation in declared weight

* Remove session length and validator set size config constants

* Remove config params from mock

* Allow specifying total number of votes-ancestries per justification

* Change limits used during benchmarking

* Regenerate weights

* Use simplified weight annotation

* Remove comment

* Address leftover TODO

* Prevent possible divide by zero errors

* Use correct argument order in weight declaration
2024-04-10 10:28:37 +02:00
Hernando Castano 025a9cad59 Weights for pallet-bridge-grandpa (#815)
* Add benchmarking skeleton

* Allow runtime to indicate concrete header type for benches

* Set up skeleton for benchmark tests

* Play around with mutating bench header

* Create a working test for benchmarking

* Add benches related to enacting authority set changes

* Add bench for checking effect of prec-commits/vote ancestries

* Use new `no_std` test utils in benchmarks

* Support pallet instances in benchmarking

* Use correct benchmarking instance macro

* Add instance to runtime benchmark helper impl

* Start using new justification creation API

* Allow mock header's number to be specified

* Set up benches with correct fork/depth parameters

* Use new pallet name during runtime bench setup

* Use correct `set_id` in tests

* Limit number of forks as workaround to get tests passing

* Use number of authorities which matches number of forks

* Make sure test post-conditions are checked properly

* Only read `CurrentAuthoritySet` from storage once

* Add combined benchmark for `submit_finality_proof`

* Add bench test

* Introduce config bounds related to justification verification

* Use config consts from pallet in benchmarking

* Return data relevant to benchmarks from helper functions

* Annotate `submit_finality_proof` with autogenerated weights

* Return actual weight after call execution

* Ignore Clippy warnings in bench template

* Update benchmark template

* Use `test-utils` to create test headers

* Clarify that helper is only for messages benches

* Add more documentation to benches

* Update TODOs

* Clarify return types in comment

* Fix pallet name post-merge

* Update NOTE to a TODO item

* Indicate that Config params are max values, not actual values

* Change Config validator count type to be `u32`

* Return decoded justification instead of fields

* Add missing trait bounds for tests

* Correctly issue weight refund

Thanks for spotting this Tomek!

* Update comment

* Add note about SESSION_LENGTH

* Fix benchmarking code
2024-04-10 10:28:37 +02:00
Tomasz Drwięga 60c1c24784 Expose storage of finality-verifier pallets. (#844)
* Expose storage of finality-verifier pallets.

* Fix compilation.
2024-04-10 10:28:37 +02:00
Hernando Castano 8d122b03f1 Rename Finality Verifier and Call Dispatch Pallets (#838)
* Rename `pallet-finality-verifier` to `pallet-bridge-grandpa`

* Missed some CamelCase ones

* Update logging target in GRANDPA pallet

* Rename `pallet-bridge-call-dispatch` to `pallet-bridge-dispatch`

* Rename the dispatch pallet folder

* Update logging target in Dispatch pallet

* Missed a couple

* Format the repo

* Stop listing individual pallets in Compose logs

* Use correct pallet name in module doc comments

* Add `pallet-bridge-dispatch` to README project layout

* Sort crate names in TOML files

* Rename `pallet-bridge-grandpa` runtime Call alias
2024-04-10 10:28:37 +02:00
Tomasz Drwięga acb872fbb0 Flatten back the structure (#837)
* Remove chains.

* Move relay clients.

* Flatten generic.

* Fix fmt.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 4105575794 Rename pallet-message-lane into pallet-bridge-messages (#834)
* use runtime:: prefix for message-lane pallet traces

* renamed message-lane (module and primitives) folder into messages

* replace "message lane" with "messages" where appropriate
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 401d3847d1 Add multiplier parameter to transaction_payment function (#830)
* transaction_payment_without_multiplier -> transaction_payment

* tests

* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 249a8f73ff Make finality verifier pallet instantiable (#825)
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
2024-04-10 10:28:37 +02:00
Hernando Castano d8852fd197 Clean Finality Verifier Pallet (#804)
* Remove unused Config types from `pallet-finality-verifier`

* Remove unused AncestryChecker trait

* Remove ancestry proof parameter from relayer calls

* Update docs to reflect current state of pallet

* Remove mock ancestry checker

* Remove unused error

* Write headers outside of function used for authority set changes

* Move justification verification into helper function

* Add documentation suggestions

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* Clean up module level documentation a bit

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
2024-04-10 10:28:37 +02:00