* Get pallet compiling with FRAME v2
* Get tests compiling
* Stop printing metadata in tests
* Remove more metadata related code
* Remove unecessary storage attribute
* Add skeleton for `pallet-finality-verifier`
* Sketch out implementation for importing finality proofs
* Get pallet compiling
* Introduce skeleton for mock runtime
* Start using real Grandpa types in finality pallet
* Redefine types in header chain primitives crate
* Implement HeaderChain for Substrate bridge pallet
* Plug Substrate Bridge Pallet into verifier mock
* Fix compilation of `header-chain` primitives
* Start writing to base pallet storage
* Add first "cross-pallet" test
* Move keyring primitives used in tests to shared crate
* Stop pulling `std` deps into `no_std` builds
* Revert "Stop pulling `std` deps into `no_std` builds"
This reverts commit f74dd660652f98b7336936d1534a4e63cc9169a5.
* Revert "Move keyring primitives used in tests to shared crate"
This reverts commit b774fa730b2cdc40545afff308a66b0840266001.
* Use new SS58Prefix type in mock
* Start using `bp-test-utils` in finality pallet
* Start using real justification code
* Get a test working with real justification verification
* Add basic tests for invalid proofs
* Get rid of AncestryProof config type
* Add error types to transaction outcome
* Bound number of headers allowed in a single ancestry proof
* Disallow invalid authority sets
* Remove unused items
* Add some documentation
* Get rid of Clippy warnings
* Rename BaseHeaderChain to TransactionVerifier
* Remove unused code
* Make dummy trait implementations more generic
* Fix more Clippy complaints
* Update tests to use fix for duplicate headers
* Fix benchmarking compilation
* Rename TransactionVerifier to InclusionProofVerifier
* 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>
* Move justification module to header-chain primitives crate
* Get justification module compiling in new location
* Get justification module tests compiling
* Use justification code from `header-chain` crate
Mostly compiles, having issues with std/test feature flags across crates.
* Move some code around
* Move justification tests to integration testing crate
* Add `test-utils` crate
* Remove tests and test-helper module from justification code
* Use `test-utils` in Substrate bridge pallet tests
* Remove `sp-keyring` related code from `pallet-substrate-bridge`
* Remove `helpers` module from `pallet-substrate-bridge`
* Add some documentation
* Add more documentation
* Fix typo
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.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>
* High level docs - start.
* Clean up README
* Start adding details to high level docs
* More docs on the header sync pallet
* Testing scenarios document.
* Add some scenarios.
* Add multi-sig scenario.
* Start writing about message dispatch pallet
* Move content from old README into PoA specific doc
* Apply suggestions from code review
Co-authored-by: Andreas Doerr <adoerr@users.noreply.github.com>
* GRANDPA for consistency.
* Describe scenario steps.
* WiP
* Add notes about block production and forks
* Update.
* Add sequence diagram for Millau to Rialto transfer
* Clean up header sync pallet overview
* Remove leftover example code
* Clean up testing scenarios and amend sequence diagram.
* Linking docs.
* Add some more docs.
* Do a bit of cleanup on the high-level docs
* Clean up the testing scenario
* Fix typos in flow charts
* Fix small typo
* Fix indentation of Rust block
* Another attempt at rendering block correctly
* TIL about lazy list numbering in Markdown
* Add list numbers across sections
* Start counting from correct number
* Update README to use correct path to local scripts
* Wrap ASCII art in code block
Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Andreas Doerr <adoerr@users.noreply.github.com>