Skip to content

test(e2e): verify ICS20 packet lifecycle - #1325

Merged
gjermundgaraba merged 7 commits into
mainfrom
gjermund/fou-1092
Aug 12, 2026
Merged

test(e2e): verify ICS20 packet lifecycle#1325
gjermundgaraba merged 7 commits into
mainfrom
gjermund/fou-1092

Conversation

@gjermundgaraba

@gjermundgaraba gjermundgaraba commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds ICS20 packet-lifecycle assertions for source commitment creation and clearing, destination receipt creation, acknowledgement writing, and acknowledgement execution.
  • Uses ibc-go v11 as the source of truth for packet keys, the ICS20 port ID, and voucher-denom construction instead of local constants and string assembly.
  • Records the source block on test packets so commitments can be checked at send time, forwards transfer memos, and tightens terminal relayer-status validation.

Testing

  • make check
  • make test-e2e E2E_MODE=complete

Stack created with GitHub Stacks CLIGive Feedback 💬

Closes FOU-1092

@linear-code

linear-code Bot commented Aug 10, 2026

Copy link
Copy Markdown

FOU-1092

@gjermundgaraba
gjermundgaraba changed the base branch from development to gjermund/e2e-generated-event-parsers August 10, 2026 09:57
@gjermundgaraba
gjermundgaraba force-pushed the gjermund/fou-1092 branch 2 times, most recently from bdcc8b5 to 796e92f Compare August 10, 2026 15:11
@gjermundgaraba
gjermundgaraba changed the base branch from gjermund/e2e-generated-event-parsers to gjermund/e2e-batch-receipt-events August 10, 2026 15:53
@gjermundgaraba
gjermundgaraba marked this pull request as ready for review August 10, 2026 16:03
@gjermundgaraba
gjermundgaraba requested a review from a team as a code owner August 10, 2026 16:03
@greptile-apps

greptile-apps Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR extends the ICS20 end-to-end tests to verify packet commitments, receipts, and acknowledgement events across the complete transfer lifecycle.

  • Records each packet's source block so commitment creation can be queried at send time.
  • Uses ibc-go v11 helpers for ICS20 ports, voucher denoms, and packet storage keys.
  • Forwards transfer memos and validates successful receive and acknowledgement transactions.
  • Tightens timed-out relayer-state validation and adds focused unit coverage.

Confidence Score: 5/5

The PR appears safe to merge, with no concrete changed-code failure or reachable security issue identified.

The new lifecycle assertions follow the router commitment-key and transaction-event patterns found in the repository, and the investigated relayer and dependency concerns did not establish an actionable failure on a reachable path.

Important Files Changed

Filename Overview
e2e/internal/e2etest/traffic_transfer.go Adds memo forwarding and packet-lifecycle verification using ibc-go keys, historical commitment queries, and router event parsing.
e2e/internal/e2etest/traffic_relayer.go Rejects timed-out terminal statuses that also report receive or acknowledgement transactions.
e2e/transfer_test.go Extends automatic-relay and timeout tests with commitment, receipt, and acknowledgement lifecycle assertions.
e2e/go.mod Adds ibc-go v11 as the source of ICS20 constants and key helpers, together with its transitive module graph.

Sequence Diagram

sequenceDiagram
    participant Test
    participant Source as Source EVM
    participant Relayer
    participant Destination as Destination EVM
    Test->>Source: Submit ICS20 transfer
    Source-->>Test: Send receipt and source block
    Test->>Source: Verify packet commitment at send block
    Relayer->>Destination: Receive packet
    Destination-->>Relayer: WriteAcknowledgement
    Test->>Destination: Verify receipt and acknowledgement event
    Relayer->>Source: Execute acknowledgement
    Test->>Source: Verify AckPacket and cleared commitment
Loading

Reviews (1): Last reviewed commit: "test(e2e): await packet transaction rece..." | Re-trigger Greptile

srdtrk
srdtrk previously approved these changes Aug 12, 2026
@gjermundgaraba
gjermundgaraba force-pushed the gjermund/fou-1092 branch 2 times, most recently from d84965d to aba849d Compare August 12, 2026 12:16
@gjermundgaraba
gjermundgaraba dismissed srdtrk’s stale review August 12, 2026 12:29

The merge-base changed after approval.

Base automatically changed from gjermund/e2e-batch-receipt-events to main August 12, 2026 14:56
Signed-off-by: Gjermund Garaba <gjermund@garaba.net>
Signed-off-by: Gjermund Garaba <gjermund@garaba.net>
Signed-off-by: Gjermund Garaba <gjermund@garaba.net>
Signed-off-by: Gjermund Garaba <gjermund@garaba.net>
Signed-off-by: Gjermund Garaba <gjermund@garaba.net>
Signed-off-by: Gjermund Garaba <gjermund@garaba.net>
Signed-off-by: Gjermund Garaba <gjermund@garaba.net>
@gjermundgaraba
gjermundgaraba merged commit f299235 into main Aug 12, 2026
18 checks passed
@gjermundgaraba
gjermundgaraba deleted the gjermund/fou-1092 branch August 12, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants