* Bump Substrate to version used by Polkadot (`5f056830`)
* Use `log` crate for runtime logging
See https://github.com/paritytech/substrate/pull/8128/ for more info.
* Stop using return value from `execute_block`
* Update test weight
* Add relevant storage items from Substrate pallet
* Add function for importing finalized headers to storage
* Remove unused getter functions
* Add GenesisConfig to pallet
* Add initialization extrinsic
* Add operational extrinsic
* Get existing finality verifier tests compiling again
* Add tests for pallet initialization
* Add tests related to pallet's operational status
* Update tests which were using `pallet-substrate-bridge`
* Add tests related to header imports
* Use wrapper function when init-ing some tests
* Add prefix to tests related to rate limiter
* Fix failed compilation related to GenesisConfig
* Add some documentation
* Change some extrinsics to be Operational
* Add public interface to pallet
* Implement runtime APIs for finality-verifier pallet
* Justify use of `expect` when importing headers
* Reject headers with forced changes
* Add weight to initialize extrinsic
* Remove TODO which will be addressed later
* Move succesful import log to correct location
* Expand proof for when `best_finalized` is fetched
* Move check for newer finalized blocks earlier in pipeline
* Rename `ConflictingFork` error to be more generic
* Only compute finality_target's hash once
* Add missing documentation to Runtime APIs
* Add TODO about using `set_id` from `ScheduledChange` digest
* Use no-op ancestry checker
* Check that current header height is greater than last finalized
* Ensure that incoming headers are strictly greater than last finalized
* Ensure that header numbers always increase in tests
* Add inspect command to take a look at extrinsics.
* cargo fmt --all
* New weight for on-chain remark in tests
* Minor style tweaks.
Co-authored-by: adoerr <0xad@gmx.net>
* Issue with SS58 decoding.
* Switch to test branch.
* Fix set.
* Revert "Switch to test branch."
This reverts commit d79e42ea9bc780edb20296dae546d534f1916fc7.
* cargo fmt --all
Co-authored-by: adoerr <0xad@gmx.net>
* Revert "Pin Rust Nightly to 2020-12-17 (#652)"
This reverts commit e54e6f7e3d34c28d698e637f9099162b3c1917e9.
* fix clippy
* clippy again
* more clippy in test code
* and new cargo fmt
* another try
* Make AncestryProof type more flexible
* Only import single finalized header instead of a chain
* Fix unchecked header import tests
* Add option for limiting ancestry proof size
* Update finality verifier Config in runtimes
* Update some documentation
* Fix Clippy warning
* Allow AncestryChecker to return proof size
Stops us from abusing the `Size` trait
* Remove Size impl for Vec<T>
* Remove size contraints for ancestry proofs
With different proof types its unclear how to "size" should be interpreted,
so we remove this requirement all together to avoid confusion.
* Add Finality Verifier pallet to runtimes
* Implement simple ancestry checker
* Use the new checker in runtimes
* Remove unused import warning
* Bump max allowed ancestry proof size
* Add a few optimization suggestions when verifying ancestry
* Use session length as upper bound for ancestry proof size
* Remove unused time units
* Use more unique prefix when generating account IDs
* Update derived addresses used in tests
* Make `account` prefix more unique
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Update test account IDs again
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* 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>
* Document relayers fund existence and add root account.
* Introduce initialize method instead of assuming that relayer_fund_account is always required.
* cargo fmt --all
* Fix benchmarks.
* cargo fmt --all
* Fix docs for the relayer fund account.
* Add AccountIdConverter impl to Kusama and Polkadot primitives
* Add missing message lane config constants
* Add more consts
* Add another missing const
* Move consts in primitives so that they're consistent across files
* Move types and consts to more intuitive locations
* Downgrade hyper from v0.13.8 to v0.13.6
This conflicts with a requirement on the Polkadot side
which requires that hyper is =v0.13.6
* Update hyper to v0.13.9
* Update async-io to v1.3.1
* Update socket2 from v0.3.15 to v0.3.18
* Update message weight/size constants
* Make BlockWeights/Length parameter types
Allows us to re-use these types from both the runtime and
the message lane config files without creating a new instance
of them.
* Remove uneccesary weight constants
These can be found in the `runtime-common` crate used
by Polkadot/Kusama. The constants there will also be
the most up-to-date versions.
* Add option to relay for sending transfers to Millau chain
* Endow derived accounts on Millau chain
* Update message generator entrypoint script to send transfers
* Use correct command when sending messages
* Send Root messages from Root origin on source chain
* Wrap calls from Root Origin in Sudo Call
* Allow Root to send messages without paying fees
* Use correct variable when sending messages to Rialto
* Print warning if no message type is provided to script.
* Add note mentioning that certain source origins aren't supported yet
* Use correct runtime when initializing header sync
* Remove option to send messages as Root
* Remove endowment of derived Root accounts
* Fix indentation.
Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
* 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>
* limit maximal number of unconfirmed messages at inbound lane
* unrewarded_relayer_entries API
* change relay to support max unrewarded relayer entries
* Update modules/message-lane/src/inbound_lane.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Update relays/messages-relay/src/message_lane_loop.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>
* removed pub
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>
* 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>
* 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>