docs: address GMP review comments (FOU-1386, FOU-1392) - #1400
Merged
Conversation
Signed-off-by: srdtrk <srdtrk@hotmail.com>
…392) Signed-off-by: srdtrk <srdtrk@hotmail.com>
…ivation The delivery paragraph on the GMP page said a failed attempt could be re-delivered with more gas, which reads as the general rule for an out-of-gas destination call and contradicts the FailedCall paragraph later on the same page. ICS26Router.recvPacket writes the packet receipt before it calls the application, so past proof verification the packet is consumed either way; only a delivery that reverts before the receipt is written leaves it in flight. Say that instead. Also restore two details dropped with the old packet-handlers section: how ICS27GMP derives the callback's success flag, and that the three router handlers revert ICS27Unauthorized for any other caller. Signed-off-by: srdtrk <srdtrk@hotmail.com>
Contributor
Greptile SummaryThe PR refines the GMP documentation following review feedback.
Confidence Score: 5/5The documentation-only PR appears safe to merge with no actionable correctness issue identified. The revised payload, relayer, receipt, account, and acknowledgement explanations remain consistent with the repository’s documented GMP model, while moved material preserves the existing contracts. Important Files Changed
Reviews (1): Last reviewed commit: "docs: correct the gas-retry boundary and..." | Re-trigger Greptile |
dhfang
pushed a commit
that referenced
this pull request
Aug 26, 2026
* docs: address GMP review comments on gmp.md (FOU-1386) Signed-off-by: srdtrk <srdtrk@hotmail.com> * docs: address GMP review comments on ics27-gmp-and-accounts.md (FOU-1392) Signed-off-by: srdtrk <srdtrk@hotmail.com> * docs: correct the gas-retry boundary and restore the success-flag derivation The delivery paragraph on the GMP page said a failed attempt could be re-delivered with more gas, which reads as the general rule for an out-of-gas destination call and contradicts the FailedCall paragraph later on the same page. ICS26Router.recvPacket writes the packet receipt before it calls the application, so past proof verification the packet is consumed either way; only a delivery that reverts before the receipt is written leaves it in flight. Say that instead. Also restore two details dropped with the old packet-handlers section: how ICS27GMP derives the callback's success flag, and that the three router handlers revert ICS27Unauthorized for any other caller. Signed-off-by: srdtrk <srdtrk@hotmail.com> --------- Signed-off-by: srdtrk <srdtrk@hotmail.com>
dhfang
added a commit
that referenced
this pull request
Aug 26, 2026
* Add docs Add IBC docs drafts for review * update link -> cli * docs: review fixes for core router and store (FOU-1382) * docs: IBC Link -> IBC CLI in core router page * docs: cut two redundant sentences from packet lifecycle (FOU-1385) * docs: review fixes for ICS26Router page (FOU-1391) * Update clients-and-counterparties.md Signed-off-by: dhfang <dhsfang@gmail.com> * Update packets-and-applications.md Signed-off-by: dhfang <dhsfang@gmail.com> * docs: address GMP review comments (FOU-1386, FOU-1392) (#1400) * docs: address GMP review comments on gmp.md (FOU-1386) Signed-off-by: srdtrk <srdtrk@hotmail.com> * docs: address GMP review comments on ics27-gmp-and-accounts.md (FOU-1392) Signed-off-by: srdtrk <srdtrk@hotmail.com> * docs: correct the gas-retry boundary and restore the success-flag derivation The delivery paragraph on the GMP page said a failed attempt could be re-delivered with more gas, which reads as the general rule for an out-of-gas destination call and contradicts the FailedCall paragraph later on the same page. ICS26Router.recvPacket writes the packet receipt before it calls the application, so past proof verification the packet is consumed either way; only a delivery that reverts before the receipt is written leaves it in flight. Say that instead. Also restore two details dropped with the old packet-handlers section: how ICS27GMP derives the callback's success flag, and that the three router handlers revert ICS27Unauthorized for any other caller. Signed-off-by: srdtrk <srdtrk@hotmail.com> --------- Signed-off-by: srdtrk <srdtrk@hotmail.com> * Update relayer.md * Update relayer.md Signed-off-by: dhfang <dhsfang@gmail.com> * Update relayer.md Signed-off-by: dhfang <dhsfang@gmail.com> * add minor edis to ift docs (#1408) * move codeblock * updates * update * docs: add IBC CLI tutorial, guides, and reference (#1419) * docs: add the IBC CLI page set * small updates * updates * Update 1-overview.md --------- Co-authored-by: Dennis Fang <dhsfang@gmail.com> * update links and rename files * Update README.md * update links * update links * updates * update links and move GMP guide * correct the relayer API reference and Go version in the docs * regenerate the CLI and configuration reference tables from source * warn against hosting several attestors in one process for security-critical deployments * tighten the attestor warning and note the manual render-config merge * add SPDX license headers to the docs pages Signed-off-by: Dennis Fang <dhsfang@gmail.com> * scope SPDX headers to source and exclude prose documentation Signed-off-by: Dennis Fang <dhsfang@gmail.com> * drop the paths-ignore comment Signed-off-by: Dennis Fang <dhsfang@gmail.com> --------- Signed-off-by: dhfang <dhsfang@gmail.com> Signed-off-by: srdtrk <srdtrk@hotmail.com> Signed-off-by: Dennis Fang <dhsfang@gmail.com> Co-authored-by: Gjermund Garaba <gjermund@garaba.net> Co-authored-by: dhfang <dhsfang@gmail.com> Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: Dmitry S <11892559+swift1337@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 Gnut (automated assistant posting on behalf of Serdar)
Addresses the 8 inline comments I left in review #1380 (review) on the two GMP pages (FOU-1386, FOU-1392). Based on
docs, notmain, so it lands as a follow-up on top of #1380's branch.Two commits, one per page/ticket, so they can be reviewed separately.
gmp.md:46— payload is opaque, must be encoded for the counterparty GMP implpayloadbullet and the paragraph now say the payload is opaque to GMP and that encoding it for the destination implementation is the sender's job; for IBC-solidity that is an ABI-encoded Solidity call (selector + ABI args) handed to the target verbatim. Split out the packet data encoding (application/x-solidity-abi) into its own paragraph, which the old text conflated with the payload encoding.gmp.md:80— mostly packet lifecycle; say the relayer pays gas and insufficient gas can be retried/how-ibc-works/packet-lifecyclelink, kept the six GMP-specific steps, and added: the relayer delivers and pays, the call runs on whatever gas its transaction leaves, and an attempt that reverts before the packet is received leaves the packet in flight and can be re-delivered with more gas until the timeout. Also moved the gas paragraph out of "What comes back", where it was repeated.ics27-…:36— flowchart not useful(clientId, sender, salt)" line it sat above is kept.ics27-…:72— diagram too complex, split it and box each chainsequenceDiagrams — send, receive-and-execute, acknowledge — each paired with its own paragraph and usingbox Chain A … end/box Chain B … endso the chain name is no longer repeated in every participant label.ics27-…:140— title doesn't say what the section is;ics27-…:160— not sure this section is neededonRecvPacketchecks, and that the router alone may call the three handlers — moved up into "How a call moves through the contracts". If you'd rather keep the section under a clearer title, say so and I'll restore it.ics27-…:176— note that empty salt is allowedgmp.mdalready said.sendCallonly rejects an empty payload (ICS27PayloadEmpty); salt length is never checked and is hashed as-is into the identifier.ics27-…:247— "this is actually a bug in ICS27GMP if true"ics27-gmp-and-accounts.mdandgmp.md) are left byte-identical and untouched, pending the answer to the bug question. If theFailedCall/ empty-revert-data reasoning is wrong, both need rewriting together. Item 2's new wording is scoped to attempts that fail before the packet is received, so it doesn't contradict either copy whichever way that lands.Net effect:
gmp.md+7/−7,ics27-gmp-and-accounts.md+42/−51 (one flowchart and one ~20-line section gone, one diagram split into three smaller ones).Two things worth a look:
boxinsequenceDiagramis standard mermaid ≥9.4, but no other page in this docs set uses it, so it hasn't been confirmed against Mintlify's renderer here. If it doesn't render, the fallback is short participant aliases plus aNote overper chain.Draft on purpose — marking it ready is @evan's call.