Skip to content

Revalidate ticket finality against current policy in ReleaseFromTicket - #838

Draft
JohnChangUK wants to merge 1 commit into
mainfrom
revalidate-ticket
Draft

Revalidate ticket finality against current policy in ReleaseFromTicket#838
JohnChangUK wants to merge 1 commit into
mainfrom
revalidate-ticket

Conversation

@JohnChangUK

Copy link
Copy Markdown
Collaborator

Desc

Revalidate ticket finality against current policy in ReleaseFromTicket

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR tightens ReleaseFromTicket behavior in the CCIP token pool contracts by re-validating a ticket’s requested finality against the pool’s current finality policy at redemption time (not only at ticket minting time), preventing releases based on now-disallowed/stale finality settings.

Changes:

  • Added a ReleaseFromTicket assertion in both Lock/Release and Burn/Mint pool contracts to ensure ticket.finality is still permitted by remoteChainCfg.finalityConfig.
  • Added new DAML tests covering the “policy tightened after ticket mint” scenario, ensuring redemption fails when ticket finality is no longer allowed.
  • Updated DAR/package metadata and regenerated “latest” Go bindings to reflect new package IDs produced by the rebuild.

Reviewed changes

Copilot reviewed 6 out of 16 changed files in this pull request and generated no comments.

Show a summary per file
File Description
contracts/dars/released/PACKAGE_INFO.md Adds new 2.0.1 DAR entries and updates package IDs/dependency references after rebuild.
contracts/dars/dev/PACKAGE_INFO.md Updates dev DAR package IDs to match rebuilt artifacts.
contracts/ccip/test/daml/LockReleaseTokenPoolTest.daml Adds regression test ensuring ReleaseFromTicket rejects tickets whose finality is no longer allowed after policy tightening.
contracts/ccip/test/daml/BurnMintTokenPoolTest.daml Adds analogous regression test for Burn/Mint pool ReleaseFromTicket.
contracts/ccip/pools/lock-release-token-pool/daml/CCIP/LockReleaseTokenPoolV2.daml Enforces ticket.finality against current remoteChainCfg.finalityConfig during ReleaseFromTicket.
contracts/ccip/pools/burn-mint-token-pool/daml/CCIP/BurnMintTokenPoolV2.daml Same finality revalidation for Burn/Mint pool ReleaseFromTicket.
bindings/generated/latest/ccip/lockreleasetokenpool/lockreleasetokenpool.go Updates generated PackageID to the rebuilt lock/release token pool DAR ID.
bindings/generated/latest/ccip/factory/factory.go Updates generated PackageID to the rebuilt factory DAR ID.
bindings/generated/latest/ccip/burnminttokenpool/burnminttokenpool.go Updates generated PackageID to the rebuilt burn/mint token pool DAR ID.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

2 participants