Svyatoslav Nikolsky
fd816b60e3
move "common" code of messages pallet benchmarks helpers to the common library ( #1281 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
eb5a3eecd2
Revert "override conversion rate in estimate-message-fee RPC ( #1189 )" ( #1275 )
...
This reverts commit ad4299f6c91ce4c50cb6fbc739a0c788e2920956.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
741484214e
override conversion rate in estimate-message-fee RPC ( #1189 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
22b1e456ab
move storage keys computation to primitivs ( #1254 )
2024-04-10 10:28:37 +02:00
bear
48121604cd
Expose some const value and type ( #1186 )
...
* change const value visable
* Add docs
* Update docs
* Update docs 2
* Fix ci
* Fix spell check
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
e23266c7e6
Bump dependencies ( #1180 )
...
* substrate: d0f6c1c60da22e04dd25c2eca46ebfe6f1571af0
polkadot: dd4b2e6a34a08a01b876d14641e99e7011be3463
cumulus: 9379cd6c18
* fmt
* fixed lost refs
* spelling
* benckhmarks
* fmt
2024-04-10 10:28:37 +02:00
hacpy
bd70de8b8b
Match substrate's fmt ( #1148 )
...
* Alter gitlab.
* Use substrate's rustfmt.toml
* cargo +nightly fmt --all
* Fix spellcheck.
* cargo +nightly fmt --all
* format.
* Fix spellcheck and fmt
* fmt?
* Fix spellcheck
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
eaf519dc1b
Rename MessageId -> BridgeMessageId ( #1152 )
2024-04-10 10:28:37 +02:00
Alfredo Garcia
6b3b6516e7
calculate fee using full message payload ( #1132 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
fc9363619a
[BREAKING] Migrate messages pallet to frame v2 ( #1088 )
...
* get rid of frame_support::traits::Instance usage in messaging
* migrate messages pallet to frame v2
* fix benchmarks
* remove dummy event + add Parameter to metadata
* review
* typo
2024-04-10 10:28:37 +02:00
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
Svyatoslav Nikolsky
9e0efdb7ac
extract message_details impl into runtime common ( #1070 )
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
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
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
Svyatoslav Nikolsky
0261d1e321
Fix clippy in test code ( #993 )
...
* fix clippy issues
* clippy + tests
* more clippy
Co-authored-by: adoerr <0xad@gmx.net >
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
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
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
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
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
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
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
51db99ea79
Move Storage Parser from Bridge Pallet ( #793 )
...
* Move storage proof checker to runtime primtives
* Add method for parsing storage proofs
* Use finality-verifier pallet in runtime-common
* Get bridge pallet compiling again
* Use storage prover from bp-runtime in a few more places
* Don't leak `std` items from proof helper into `no-std` builds
* Fix benchmarking compilation
* Remove unused import in fuzzer
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
324e083cba
Changed delivery and dispatch fee computation methods ( #795 )
...
* removed weight <-> fee mess
* updated documentation
Co-authored-by: Hernando Castano <castano.ha@gmail.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
ca91d34059
limit number of pending messages at outbound lane ( #715 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
2f457775bb
Account proof size in weight formula ( #679 )
...
* fix broken message lane benchmarks
* proof-size related benchmarks
* impl Size for proof parameters
* include proof weight into weight formula
* left TODO
* fixed proof size
* WeightInfoExt::receive_messages_proof_weight
* charge for extra message bytes delivery in send_message
* removed default impl of WeightsInfoExt
* moved weight formulas to WeightInfoExt
* receive_messages_proof_outbound_lane_state_overhead is included twice in weight
* typo
* typo
* fixed TODO
* more asserts
* started wotk on message-lane documentation
* expected_extra_storage_proof_size() is actually expected in delivery confirmation tx
* update README.md
* ensure_able_to_receive_confirmation
* test rialto message lane weights
* removed TODO
* removed unnecessary trait requirements
* fixed arguments
* fix compilation
* decreased basic delivery tx weight
* fmt
* clippy
* Update modules/message-lane/src/benchmarking.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* structs
* Update primitives/millau/src/lib.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* removed readme.md
* removed obsolete trait bounds
* Revert "removed readme.md"
This reverts commit 50b7376a41687a94c27bf77565434be153f87ca1.
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* PreComputedSize
Co-authored-by: Hernando Castano <HCastano@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
d73100cb30
Fixed call encoding in signature digest ( #699 )
...
* fixed call encoding in signature digets
* udpated test
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
19c87db139
Add proof-size related benchmarks to message lane module ( #675 )
...
* fix benchmakrs + proof-size related benchmarks
* Update modules/message-lane/src/benchmarking.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
acee5580ca
decode call after spec_version check ( #663 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
9414c0d6fe
Emit dispatch message when whole message (payload) has invalid encoding ( #664 )
...
* emit dispatch message when whole message (payload) has invalid encoding
* DispatchMessage::dispatch accepts Result
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
0f56f18778
Use real weights to compute message delivery and dispatch fee ( #598 )
...
* message fee formula
* update GetDelvieryConfirmationTransactionFee
* include cost of transactions (i.e. not only dispatch cost) in delivery_and_dispatch_fee
* endow relayers fund account
* include db ops weight in max tx weight estimation
* (in bytes)
Co-authored-by: Hernando Castano <castano.ha@gmail.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
fd7f2a45d8
Fixed messages count check ( #659 )
...
* fixed messages count check
* explicit check of `messages_count` in the receive_messages_proof
* change messages_count to be u32
* Update modules/message-lane/src/lib.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
9fbb922766
Estimate message fee api ( #600 )
...
* estimate_message_delivery_and_dispatch_fee runtime API
* auto-determine message fees in relay
* remove fee argument from relay calls
* Fix import of weight contant
Co-authored-by: Hernando Castano <castano.ha@gmail.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
9deea5d251
Benchmark for message delivery confirmation transaction ( #570 )
...
* receive_delivery_proof benchmarks
* fix compilation
* Update modules/message-lane/src/benchmarking.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update modules/message-lane/src/benchmarking.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update modules/message-lane/src/benchmarking.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update modules/message-lane/src/benchmarking.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update modules/message-lane/src/benchmarking.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
63e2655c8b
Add messages count parameter to delivery transaction ( #581 )
...
* add messages count parameter to delivery transaction
* fix benchmarks compilation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
6317a31e25
Benchmarks for message delivery transaction ( #567 )
...
* benchmarks for pallet_message_lane::receive_messages_proof
* use CallOrigin::TargetAccount (worst case of CallOrigin)
* fmt
* closures
* Update modules/message-lane/src/benchmarking.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update modules/message-lane/src/benchmarking.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* fix compilation
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Hernando Castano
ee655b1057
Update Substrate Dependency ( #566 )
...
* Update `sp-io` dependency
* Rename Trait to Config
* RustFmt
* Bump `sp-io` again
* Use new frame_system weight types in Rialto and Millau runtimes
* Update test Runtimes to use new weight types
* Bump `sp-io` again
* Update to not-the latest first.
* Update benchmarks.
* Another Trai.
* Move new weight types into runtime primitive crates
This allows us to check limits for extrinsics from other parts
of the codebase without pulling in the entire chain runtime.
* Remove leftover comments
* Move new functions to a better location
* Small formatting fixes
* Add actual documentation to new weight config types
* Decrease maximum block weight of Millau chain
* Decreease maximum block length of Millau chain
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
6f6c8c2417
Verify Source origin in TargetChainVerifier ( #558 )
...
* Make sure to verify sender's origin.
* Make sure to use dispatch verification.
* Add tests.
* cargo fmt --all
* Remove superfluous lifetime.
* Move the check to MessageLanVerifier.
* cargo fmt --all
* Fix docs.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
f57b7e9de0
Message lane benchmarks: start ( #554 )
...
* message lane benchmarks: start
* finish send_message_worst_case benchmark
* fix compilation
* removed redundant bench param
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
81a3e7cce3
reject too large (by size) messages ( #551 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
f1949c6342
Limit max number of messages in delivery transaction ( #541 )
...
* limit max number of messages in delivery tx
* support max-messages-in-delivery-tx in relayer
* clippy
* clippy
* Update modules/message-lane/src/lib.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
a872ee6ff1
lower limit for message weight ( #536 )
...
* lower limit for message weight
* fmt
* do not include tx overhead in weights returned by weight_limits_of_message_on_bridged_chain
* Use correct chain in comment
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Hernando Castano
951aa36c2b
Add Derived Account Origins to Dispatcher ( #519 )
...
* Update some docs
* Add derived account origin
* Add tests for derived origin
* Do a little bit of cleanup
* Change Origin type to use AccountIds instead of Public keys
* Update (most) tests to use new Origin types
* Remove redundant test
* Update `runtime-common` tests to use new Origin types
* Remove unused import
* Fix documentation around origin verification
* Update config types to use AccountIds in runtime
* Update Origin type used in message relay
* Use correct type when verifying message origin
* Make CallOrigin docs more consistent
* Use AccountIds instead of Public keys in Runtime types
* Introduce trait for converting AccountIds
* Bring back standalone function for deriving account IDs
* Remove AccountIdConverter configuration trait
* Remove old bridge_account_id derivation function
* Handle target ID decoding errors more gracefully
* Update message-lane to use new AccountId derivation
* Update merged code to use new Origin types
* Use explicit conversion between H256 and AccountIds
* Make relayer fund account a config option in `message-lane` pallet
* Add note about deriving the same account on different chains
* Fix test weight
* Use AccountId instead of Public key when signing Calls
* Semi-hardcode relayer fund address into Message Lane pallet
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
20fc30404a
Fixed referenced balance in rialto_messages.rs ( #509 )
...
* fixed referenced balance in rialto_messages
* names
Co-authored-by: Hernando Castano <castano.ha@gmail.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
20fea45d1f
Verify messages proofs ( #480 )
...
* verify messages proofs
* fmt
* clippy
* grumbles
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
3d24a4e34e
verify messages delivery proofs ( #482 )
2024-04-10 10:28:37 +02:00