-
Notifications
You must be signed in to change notification settings - Fork 329
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chain Runtime implementation #364
Conversation
5366130
to
62b9498
Compare
62b9498
to
17ba302
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still reviewing..
let _id = config.id.clone(); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let _id = config.id.clone(); |
This is currently blocked because I will take a stab at getting |
Unblocked this by depending on:
This is all a bit of mess at the moment, and it's not clear when any of those libs will get a new release. We are perhaps going to have to push/help on that front directly. |
I opened #410 to collect followup from this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Thanks Romain!!!
* Attemptin integration at the level of Chain trait * Removed rpc client from trait Chain * Removed ChainConfig from trait Chain * Minor fixes as follow-up from #364 * Impl generic runtime instantiation. * Migrated CLIs to use generic runtime spawn. * Added mock light client. First test (incomplete impl). * Almost ready to send_tx (mock has to be mutable). * Added chain executor. * Mutable chain in send_tx, simplified spawn.After review w/ Anca & Romain * impl CosmosSDKChain cleanup * Adapted mock context, ICS18 & 26 to correct abstractions. * Cleaned up Msg trait, added const TYPE_URL. * Basic light client impl to complete create client test. * Removed clippy allow exception * Updated changelog * Revert "Updated changelog" This reverts commit 43bd008. In anticipation of merging master into this dev branch.. * Redid the changelog * After Anca's comments
…es (#448) * Starting refactor for Connection & Channel relayer objects * Make chain handle object-safe via dyn_clone. * Went back to clone() method [h/t Romain for suggesting clone_trait_object!] * Refactoring Connection and ForeignClient * Added tests for client update * Added height check in ForeignClient update tests * Removed useless test/code * Added changelog entry * Consolidating names (cf. review of #364). * Added more semantic deps
* Started v0 impl: re-arranging handlers + initialization. * Clean up chain handle, prepare for generic client creation. * Trying different boundaries of abstraction b/t ForeignClient and ChainHandle. * Version one: introduced assemble_ methods to construct chain-specific data types * Removed signer from foreign client config * FMT quick fix * Client ID parsing * Use ibc::ics24_host::identifier::ChainId instead of its tendermint counterpart * More error handling and split into modules * Move prod handle in its own module * Cleanup * Overhaul subscriptions handling * Add struct to represent a batch of events * Move SplitResults trait into its own module * WIP: More handle inputs * Better errors * Implement `query` in chain runtime * Assemble client state and consensus state in runtime * Launch light clients * Light Block * Remove unused file * Rename two handle inputs * Rename Chain::ics_query to Chain::query * Store the domain MerkleProof in QueryResponse instead of the raw MerkleProof * Implement all chain methods in runtime + handle * Chain methods should return their Self types * Use light client to build consensus state * Use light client to retrieve and build header * Comment out currently unused code * Formatting * Make keybase field of CosmosSDKChain private * Fix tests * Properly spawn runtime * Revert 2afa90f * Allow a ChainId to not include version number, default to 0 * Upgrade Tokio to version 0.3 * WIP: event monitor * Syncify EventMonitor * Cleanup * Use shared Tokio runtime to `block_on` instead of spawning new one * Cleanup * Nest event_handler and event_monitor modules under event module * WIP: event bus * Cleanup * Fix build issue * Add tests for event bus * Cleanup * Update listen command * Point to tendermint-rs branch with Tokio 0.3 * Remove unused downcast_* methods * Re-enable some lints * Cleanup * Use tendermint-rs master * Depend on tendermint-rs prost-dev branch * Formatting * Deserialize client queries in Any types, temp fix for validator set Co-authored-by: Adi Seredinschi <[email protected]> Co-authored-by: Anca Zamfir <[email protected]>
* Attemptin integration at the level of Chain trait * Removed rpc client from trait Chain * Removed ChainConfig from trait Chain * Minor fixes as follow-up from informalsystems#364 * Impl generic runtime instantiation. * Migrated CLIs to use generic runtime spawn. * Added mock light client. First test (incomplete impl). * Almost ready to send_tx (mock has to be mutable). * Added chain executor. * Mutable chain in send_tx, simplified spawn.After review w/ Anca & Romain * impl CosmosSDKChain cleanup * Adapted mock context, ICS18 & 26 to correct abstractions. * Cleaned up Msg trait, added const TYPE_URL. * Basic light client impl to complete create client test. * Removed clippy allow exception * Updated changelog * Revert "Updated changelog" This reverts commit 43bd008. In anticipation of merging master into this dev branch.. * Redid the changelog * After Anca's comments
…es (informalsystems#448) * Starting refactor for Connection & Channel relayer objects * Make chain handle object-safe via dyn_clone. * Went back to clone() method [h/t Romain for suggesting clone_trait_object!] * Refactoring Connection and ForeignClient * Added tests for client update * Added height check in ForeignClient update tests * Removed useless test/code * Added changelog entry * Consolidating names (cf. review of informalsystems#364). * Added more semantic deps
Closes: #330
Depends on: #401
Description
Critical Files
relayer/src/chain.rs
relayer/src/chain/cosmos.rs
relayer/src/chain/handle.rs
relayer/src/chain/handle/prod.rs
relayer/src/chain/runtime.rs
For contributor use:
docs/
) and code comments.Files changed
in the Github PR explorer.