Giter Club home page Giter Club logo

Comments (1)

crodriguezvega avatar crodriguezvega commented on September 13, 2024
  • 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.

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.

  • Inconsistency in where events are emitted. For client and connection handlers, events are emitted in the ICS26 code. For channels, events are emitted in ICS04 code.

Currently no events are emitted in ICS26, but in the corresponding handler code (client, connection or channel).

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.