Skip to content
  1. Jan 21, 2021
    • Hernando Castano's avatar
      Finality Verifier Pallet (#629) · 6b46db8e
      Hernando Castano authored
      * 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 f74dd660.
      
      * Revert "Move keyring primitives used in tests to shared crate"
      
      This reverts commit b774fa73.
      
      * 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
      6b46db8e
    • Svyatoslav Nikolsky's avatar
      fix compilation (#671) · 518102b3
      Svyatoslav Nikolsky authored
      518102b3
    • Hernando Castano's avatar
      70b231cd
    • Svyatoslav Nikolsky's avatar
      Use real weights to compute message delivery and dispatch fee (#598) · de6850e2
      Svyatoslav Nikolsky authored
      
      
      * 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: default avatarHernando Castano <[email protected]>
      de6850e2
  2. Jan 20, 2021
  3. Jan 15, 2021
    • Hernando Castano's avatar
      Move justification code to primitives crate (#640) · d9e94715
      Hernando Castano authored
      
      
      * 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: default avatarTomasz Drwięga <[email protected]>
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      d9e94715
  4. Jan 14, 2021
  5. Jan 12, 2021
  6. Jan 06, 2021
    • Tomasz Drwięga's avatar
      Relayer rewards improvements (#624) · ed6694a8
      Tomasz Drwięga authored
      * 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.
      ed6694a8
  7. Jan 04, 2021
  8. Dec 28, 2020
  9. Dec 23, 2020
    • Hernando Castano's avatar
      Fixes for Polkadot Integration (#586) · e0ffd953
      Hernando Castano authored
      * 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.
      e0ffd953
  10. Dec 22, 2020
  11. Dec 17, 2020
  12. Dec 16, 2020
    • Hernando Castano's avatar
      Rialto to Millau Transfer Generator (#568) · fad8c928
      Hernando Castano authored
      
      
      * 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: default avatarTomasz Drwięga <[email protected]>
      fad8c928
    • Hernando Castano's avatar
      Update Substrate Dependency (#566) · 64dab9c2
      Hernando Castano authored
      
      
      * 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: default avatarTomasz Drwięga <[email protected]>
      64dab9c2
  13. Dec 15, 2020
  14. Dec 14, 2020
    • Hernando Castano's avatar
      High-Level Documentation (#565) · e31ac43b
      Hernando Castano authored
      
      
      * 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: default avatarAndreas Doerr <[email protected]>
      
      * 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 ...
      e31ac43b
  15. Dec 09, 2020
    • Hernando Castano's avatar
      Cross-Chain Transfer Generator (#535) · 5de2bc3d
      Hernando Castano authored
      * Attempt at adding Cross-Chain Transfer Generator
      
      * Add Transfer subcommand for sending messages to Rialto
      
      * Add temp helper script for sending messages
      
      * Remove Message and Lane Ids from Dispatch Event
      
      * Increase transfer amount used by script
      
      * Endow derived Dave account on Rialto with funds
      
      * Update Message generator to send more types of messages
      
      This commit first of all updates the script to use the new CLI
      commands for sending messages. Second, it adds messages which are
      sent from both Target and Source origins.
      
      * Generate messages from Root origin
      
      * Remove dbg! logs from relayer
      
      * Log AccountId as well as HexId
      
      * Remove Balances logs
      
      * Add InstanceId and MessageId back to Dispatch Event
      
      * Add InstanceId and MessageId types for Apps
      
      * Add missing comment
      
      * Document derived accounts as tests
      
      * Move shared commands to variables
      
      * Add example usage for send_message script
      
      * Add docs to message variants
      
      * Fix Clippy complaint
      5de2bc3d
  16. Dec 08, 2020
  17. Dec 04, 2020
  18. Dec 03, 2020
  19. Nov 30, 2020
    • Hernando Castano's avatar
      Add Derived Account Origins to Dispatcher (#519) · f73286b7
      Hernando Castano authored
      * 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
      f73286b7
  20. Nov 24, 2020
  21. Nov 23, 2020
  22. Nov 18, 2020
  23. Nov 17, 2020
  24. Nov 05, 2020
  25. Nov 03, 2020
  26. Nov 02, 2020
  27. Oct 28, 2020
  28. Oct 27, 2020
    • Hernando Castano's avatar
      Support Tracking Forks in Substrate Pallet (#409) · 45163a72
      Hernando Castano authored
      
      
      * Support multiple "best headers" from different forks
      
      * Update the name of a test
      
      * Add note about multiple scheduled changes
      
      * Disallow multiple scheduled authority set changes
      
      * Return multiple best headers from Runtime APIs
      
      * Remove invalid test write-up
      
      * Add some sketch-ups of test scenarios
      
      * Clean up test scenarios
      
      * Add module for testing forks
      
      * Write headers to storage
      
      * Add way to check expected outcome for header imports
      
      * Add support for importing finality proofs
      
      * Support importing headers which schedule changes
      
      * Write out test scenario using new framework
      
      * Map authority set changes across forks
      
      Gets all the tests in the `forks` module passing
      
      * Remove basic tests
      
      These were used when working on the initial test helper
      
      * Prevent multiple pending set changes on the same fork
      
      * Remove old test which allowed imports past unfinalized header
      
      * Ignore failing test (for now)
      
      * Rewrite `if` comparison using `match` and `cmp`
      
      Fixes Clippy warning: `comparison_chain`
      
      * Add helper for writing test headers with default characteristics
      
      * Fix test that checked authority set updates
      
      * Make note about importing headers on different unfinalized fork
      
      * Perform some cleanup on the fork module
      
      * Fix Clippy complaints
      
      * Provide list of unfinalized headers to Runtime APIs
      
      * Add proofs to expect() calls
      
      * Make tests the focus of the forks module
      
      * Allow specific errors to be checked in fork tests
      
      * Remove unused method
      
      * Replace unreachable() statement with expect()
      
      * Rename storage `unfinalized_headers() `to make its purpose more clear
      
      * Update Runtime API name in relayer to match pallet
      
      * Commit `unfinalized_headers` changes I forgot to add
      
      * Rename ChainTipHeight to BestHeight
      
      * Make schedule_next_set_change require a mutable reference
      
      * Remove check for key when enacting authority set
      
      We only expect to take the happy-path in the pallet anyways, so this check
      to save ourselves the time spent decoding the entry isn't really used.
      
      * Clear justification set when writing headers to storage
      
      * Clarify why we only allow one set change per fork
      
      * Change best_headers() to return HeaderIDs
      
      Prevents us from returning full headers (which are more expensive to
      get from storage) since we only care about header IDs (number, hash)
      anyways.
      
      * Fix Clippy complaint
      
      * Make note about equivocations
      
      * Use HeaderIds when returning incomplete headers
      
      This change stops returning full headers which are more expensive
      to get from storage than header Ids (number, hash) are. Clients likely
      don't need the full header anyways which is why this change is fine.
      
      * Introduce HeaderId type to reduce type complexity
      
      * Add signal hash to storage during genesis config
      
      * Return error instead of expect()-ing
      
      * Fix Clippy lint about `ok_or` fn call
      
      * Rename `forks` module to indicate that it's for testing
      
      * Use `const` for `expect()` proofs
      
      * Remove check that key exists before `kill`-ing value
      
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      45163a72
    • Svyatoslav Nikolsky's avatar
      Integrate message-lane module RPCs into Rialto/Millau nodes (#458) · 480839ce
      Svyatoslav Nikolsky authored
      * integrate message-lane RPCs into Millau and Rialto runtime
      
      * fmt
      
      * use instance in InboundLanes
      
      * moved RialtoMessageLaneKeys/MillauMessageLaneKeys inside rpc_extensions_builder to ease Substrate refs update
      480839ce
  29. Oct 26, 2020