You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are thrilled to share the status and plans for the upcoming release of ibc-rs v1.0.0. Our goal is to enable new use cases and business models across the blockchain industry and bring the power of IBC protocol to a wider range of blockchains, developers, operators, and relayers, ultimately paving the way for a truly interconnected blockchain ecosystem.
This tracking issue serves as a beacon of our progress and gives a road toward the future of ibc-rs. View this roadmap as a broad overview rather than a promise of specific outcomes and timelines. As we continue to work towards the release of V1, we try our best to keep this roadmap updated and reflect our status.
Acceptance Criteria
The following are three main objectives we aim to achieve with the implementation. The current issues associated with achieving these goals are outlined in the "Objectives Breakdown" section.
1. Improve Compatibility: with reference to specs and IBC-go enabled chains
We aim to optimize our compatibility with the IBC protocol outlined in the official IBC documentation. To achieve this, we strive to align our data structures, abstractions, and semantics with the protocol set forth by the IBC core, client, and relayer standards and prioritize to support the fungible token transfer (ICS20). We do our best to clearly communicate any deviations from specifications and provide developers with guidance on how to handle them.
In addition to the above, we are committed to achieving compatibility with ibc-go enabled chains, which will expand our system's interoperability and enhance its potential for adoption.
2. Scalable Design: empowering non-cosmos chains
Our goal is to make architectural and design decisions that incorporate implementation with a clear separation of concerns and generic enough modular building blocks. Each with exclusive responsibility and well-defined required and provided APIs that ensure independent maintainability and support the IBC adoption of non-cosmos chains. Thus, this objective is tracked under the following criteria:
2.1. Ensure APIs are delightful and flexible enough for end-users
2.2. Assist non-cosmos chains in adopting IBC and applying feedback
3. Solidify Implementation: by quality assurance measures
This objective will take a number of steps to ensure our designs and implementation function within consistent and reliable behaviors while minimizing backward-incompatible and breaking changes. By taking the following measures, we aim to provide a more robust and user-centric product:
3.1. Clean-ups, public exposure refinement and encapsulation
3.2. Add necessary unit, integration, and e2e compatibility tests and maintain basecoin-rs up-to-date with ibc-rs changes as our primary testing venue
3.3. Fix existing and community-reporting security and functionality findings
3.4. Ensure adequate contents/docs around how to use, integrate and upgrade ibc-rs
Objectives Breakdown
Here, you can check out the list of current and usually more significant issues for each objective!
Note that this list may be subject to periodic updates, meaning it may grow or shrink over time.
The content you are editing has changed. Please copy your edits and refresh the page.
ibc-rs V1 Roadmap
Motivation
We are thrilled to share the status and plans for the upcoming release of ibc-rs v1.0.0. Our goal is to enable new use cases and business models across the blockchain industry and bring the power of IBC protocol to a wider range of blockchains, developers, operators, and relayers, ultimately paving the way for a truly interconnected blockchain ecosystem.
This tracking issue serves as a beacon of our progress and gives a road toward the future of ibc-rs. View this roadmap as a broad overview rather than a promise of specific outcomes and timelines. As we continue to work towards the release of V1, we try our best to keep this roadmap updated and reflect our status.
Acceptance Criteria
The following are three main objectives we aim to achieve with the implementation. The current issues associated with achieving these goals are outlined in the "Objectives Breakdown" section.
1. Improve Compatibility: with reference to specs and IBC-go enabled chains
We aim to optimize our compatibility with the IBC protocol outlined in the official IBC documentation. To achieve this, we strive to align our data structures, abstractions, and semantics with the protocol set forth by the IBC core, client, and relayer standards and prioritize to support the fungible token transfer (ICS20). We do our best to clearly communicate any deviations from specifications and provide developers with guidance on how to handle them.
In addition to the above, we are committed to achieving compatibility with ibc-go enabled chains, which will expand our system's interoperability and enhance its potential for adoption.
2. Scalable Design: empowering non-cosmos chains
Our goal is to make architectural and design decisions that incorporate implementation with a clear separation of concerns and generic enough modular building blocks. Each with exclusive responsibility and well-defined required and provided APIs that ensure independent maintainability and support the IBC adoption of non-cosmos chains. Thus, this objective is tracked under the following criteria:
3. Solidify Implementation: by quality assurance measures
This objective will take a number of steps to ensure our designs and implementation function within consistent and reliable behaviors while minimizing backward-incompatible and breaking changes. By taking the following measures, we aim to provide a more robust and user-centric product:
basecoin-rs
up-to-date withibc-rs
changes as our primary testing venueObjectives Breakdown
Here, you can check out the list of current and usually more significant issues for each objective!
Note that this list may be subject to periodic updates, meaning it may grow or shrink over time.
1.1. Improve Compatibility [app support]
TokenTransfer*Context::escrow_coins_*()
methods #839send_coins_*()
methods #8371.2. Improve Compatibility [compliance with ibc-go]
MsgUpdateClient
handler to also handle misbehaviour due toibc-proto-rs
v0.34.0 updates #835check_misbehaviour_and_update_state
andcheck_header_and_update_state
into two sets of validation/execution functions #5351.3. Improve Compatibility [compliance with specs]
2.1 Scalable Design [delightful APIs]
Error
enums less specific #270ValidationContext
andExecutionContext
#325Module
inModuleValidation
andModuleExecution
#465validate()
andexecute()
handlers for better modularity and API coherence #539ClientState
: consider replacingconfirm_frozen
andexpired
methods with a "status" instead #5362.2. Scalable Design [non-Cosmos support]
ibc
crate #9653.1. Solidify Impl [clean-ups]
client
orapplication
#373dyn ValidationContext
type fromcheck_header_and_update_state()
andcheck_misbehaviour_and_update_state()
#5343.2. Solidify Impl [unit and integration tests]
ibc-testkit
#677mock
module into a standalone crate #953verify_conn_delay_passed
with tests #505RecvPacket
and timeouts #4273.3. Solidify Impl [potential findings]
chan_open_{init, try}
should not return aChannelEnd
#190AcknowledgePacket
andtimeoutOnClose
#2133.4. Solidify Impl [docs]
Features to support after the V1 release
TBD with further Investigation
async
APIMilestone
v1.0.0
The text was updated successfully, but these errors were encountered: