* 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>
* 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
* 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>
* 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
* fixed clippy warnings
* Revert "Actually use pinned nightly version when building runtimes (#465)"
This reverts commit dedddb6b0f22260e00053c28873a0cb1fbea22e2.
* Revert "Pin Rust Nightly Version (#420)"
This reverts commit 8902ac2030cf7ef48ec512463424f134a3b38804.
* fix after revert
* another fix after revert
* more clippy fixes
* Expose two nodes publicly through brucke.link
* Use flags for GNU `sed` instead of BSD `sed`
* Update Substrate relay entrypoint scripts to initialize bridge
* Add Rialto to Millau relay to Compose deployment
* Stop initializing Rialto chain through chainspec
* Include logging for Substrate pallet
* Make Rialto to Millau entrypoint executable
* Use YAML references for relay components
* Use published Substrate Relay image
* Relay messages from Millau to Rialto
* Use Bob nodes to serve message lane
* Fix some port number issues for PoA-Rialto deployment
* Stop directly referencing `environment` anchor in nodes
* Add probable cause to relayer error message
* Edit monitoring config file in-place
* Add some sleep time between bridge init call and starting relays
* Expose grafana.
* Use Root key as bridge pallet owner
In our case that's going to be Alice since she's Root for our Dev
and Local chains.
Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
* initialize substrate bridge from relay
* is_halted: false
* initialize using su instead of owner
* Fix wording in comments
Co-authored-by: Hernando Castano <castano.ha@gmail.com>
* Copy-Pasta owner and freezing code from `message-lane`
* Halt pallet if bridge hasn't been initialized
* Make owner optional in `message-lane` pallet
* Add `is_halted` to `InitializationData`
* Fix initialization tests
* Only allow pallet to be initialized once
* Add some logging around halting and ownership changes
* Remove `target` in debugging calls
* Rename `rialto` deployment to `eth-sub-bridge`
* Add base Compose configs for Rialto and Eth-PoA nodes
* Add new compose file for eth-sub deployment
* Rename bridge-nodes to rialto-nodes
* Update bootnode entries for Rialto nodes
* Remove new compose file since it was used for quick test
* Rename bridge nodes in entrypoint scripts
* Remove all nodes from Eth-Sub Compose file
The nodes should be getting pulled in from the new compose files.
* Remove TODO comment
* Rename nodes to networks
Reflects the fact that a set of nodes makes up a network.
* Add Compose file for Millau network nodes
* Enable logging for all Millau nodes
* Delete Rialto reserved peers file
* Rename `bridge-config` to `scripts`
* Add Compose file for Rialto-Millau bridge
* Move bridge deployments into `bridges` folder
* Drop `bridges` prefix from bridge deployments
* Rename folder that had scripts for working with binaries
* Move proxy configuration to common top level folder
* Make a top level `monitoring` folder
* Start updating deployment README
* More updates in the README
* Remove usage of Git overrides
* Remove scripts to run Eth<->Sub
I don't think these are used anymore
* Remove Github Docker build instructions from main README
* Add note about monitoring
* Update Millau state root
* Add script for running and updating Compose deployments
* Remove old update script
* Explain usage of `run` script
* Update Millau state_root again
* Remove repeated Prom image from Rialto-Millau bridge
* Quick fix to stop containers in `run` script
* Pin GrafanaMatrix Dockerfile to old commit
The latest master has some changes in how the application is run. We don't
want to update just yet so we're pinning to an old commit.
* Make Compose files use a project directory
The main consequence of this change is that all paths have to be specified
from the root of the `deployments` folder. However, this makes it so that
we can reuse components in different deployments, like the GranfaMatrix
Dockerfile which is shared by all bridges.
* Use `project-directory` when stopping and updating network
If we don't use the full Compose command which includes `project-directory`
not all the containers get cleaned up correctly.
* Update path in Bridge Dockerfile
* Correctly ignore `target` folders in Docker builds
* Wait for Rialto nodes before running relay
* Make `run` script a little less sketchy
* Clean up deployment README
* Remove stray line
* Have run script automatically change into correct directory
* Use PoA-to-Rialto instead of Eth-to-Sub in names
* Rename `eth-poa-sub` bridge deployment to `poa-rialto`
* Use /entrypoints volume for entrypoint scripts
* Be more consistent with relay service names
* Remove `docker-compose` prefix from network Compose files
* Add comment explaning Grafana Matrix commit
* Fix wording in README
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Cleanup unused line in README
* Add link to Slava's test scripts
* Remove uneccessary piping when `cd`-ing in `run.sh`
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Add dispatchable for intializing pallet
* Add Polkadot JS types for Substrate bridge pallet
* Ensure Root is the only one that can initialize the pallet
* Add some tests
* Pack initialization data into struct
* Only allow pallet to be initialized once
* Use new initialization config in nodes
* Rename ScheduledChange in Ethereum pallet
We're renaming it to prevent clashes with Substrate bridge pallet type
of the same name. This is relevant when importing types to Polkadot JS
Apps.
* Move all Polkadot JS types into one file
* Appease Clippy