Comments (1)
- Spec always calls module handler ("callback") before calling IBC handler. Code alternates
- eg. ChanOpenInit/Try call the IBC handler first, module handler (callback) second, while OpenAck/Confirm do the reverse
- eg. handlePacketRecv and handlePacketAck spec calls app handler first, code calls IBC handler first
- does it matter what order these are called in ? Should we be consistent?
I opened an issue in the spec repo asking if the spec should be updated to match the implementation.
- handlePacketRecv in spec doesnt write the ack; in code it does
The spec says that The writeAcknowledgement function is called by a module
and I guess that module is, in ibc-go, the routing module. I will check with @AdityaSripal if this something that should be added to the pseudocode of handlePacketRecv
in the ICS26 spec.
- All returned results are empty - any data is sent through events.
This is not the case anymore, some of the responses contain some data, like MsgChannelOpenInitResponse
and MsgChannelOpenTryResponse
.
Currently no events are emitted in ICS26, but in the corresponding handler code (client, connection or channel).
- ICS04 handshake handlers return sdk.Result containing events, but they're ignored
This is not the case anymore.
- App module packet callbacks return sdk.Result containing events, but they're ignored (onReceive/Timeout/AcknowledgePacket)
This is also not the case anymore.
- packet-based telemetry code in RecvPacket/Timeout/TimeoutOnClose can be deduplicated
This is still applicable, but I consider this really low priority and I honestly think there's not much to gain by deduplicating this code...
So I think I will close the issue for now, since there's not really any action item for the implementation. There could be some updates needed in the spec, but I will make sure to open issues in the spec repo for those if necessary.
from ibc-go.
Related Issues (20)
- Testing improvements for `PruneAcknowledgements` rpc HOT 2
- Remove `VerifyChannelUpgradeErrorAbsence` from 03-connection HOT 2
- Add tests for `UpdateChannelParams` HOT 2
- Add missing tests for channel upgradability
- Document usage of message for pruning acknowledgements
- Capital Efficient Fee Escrow HOT 15
- Add a sitemap to docs
- Remove the channel type = ordered checks from both host and controller HOT 2
- When a channel reopens the ordering and metadata must not change HOT 6
- Update ICA upgrade callbacks to remove ordering restriction HOT 2
- Write e2e test where unordered channel is used with ICA HOT 1
- Update ICA documentation with support for unordered channels HOT 1
- e2e test where `ChanUpgradeAck` fails on chain A because counterparty-specified timeout has elapsed
- Write e2e test when an ordered ICA channel is upgraded to unordered HOT 1
- e2e: ordered ICA channel can be closed after upgrading to wire up fee middleware and a packet timeout afterwards
- Add CLI to submit gov proposal to upgrade multiple channels HOT 1
- Clean up event testing functions HOT 3
- PoC for v2 02-client routing
- Add docs on denom metadata
- Check active channel is `CLOSED` when reopening an ICA channel HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ibc-go.