feat: link refactor#71
Conversation
989ac55 to
8752a72
Compare
|
You may want to leave the existing changesets instead of replacing them. Think about an easy to use directory structure that would be intuitive for users to use. Perhaps something link We will also want to consider how to handle different chains |
328e048 to
30dcf46
Compare
Yeah, changed the structure a little bit too. |
There was a problem hiding this comment.
Pull request overview
This PR refactors LINK token deployment and transfer test setup to align with the newer CLDF deployment flow, resolving contract addresses via the DataStore (instead of the legacy AddressBook) and introducing reusable LINK token changesets/operations.
Changes:
- Added new LINK token deployment operations (EVM burn/mint + EVM static + Solana SPL) and a multi-chain
DeployLinkTokenChangesetthat persists results to theDataStore. - Added
TransferLinkTokenChangesetfor building an MCMS timelock proposal to transfer LINK using addresses resolved from theDataStore. - Updated legacy MCMS tests to use the new LINK deployment changeset and to resolve LINK token addresses from the
DataStore.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tokens/link/operations/deploy.go | Introduces EVM/Solana LINK token deploy operations used by the new changeset flow. |
| tokens/link/changesets/validation.go | Adds shared helpers for type/version selection, selector-family validation, and datastore address ref persistence. |
| tokens/link/changesets/deploy_link_token.go | New LINK deployment changeset that deploys per-chain and writes resulting addresses to a datastore output. |
| tokens/link/changesets/deploy_link_token_test.go | Adds tests for the new LINK deployment changeset behavior (variants, family validation, existing-state blocking). |
| tokens/link/changesets/transfer_link_token.go | New changeset to build an MCMS timelock proposal for transferring LINK based on datastore-resolved addresses. |
| tokens/link/changesets/transfer_link_token_test.go | Adds tests for transfer preconditions, proposal building, and ValidUntil behavior. |
| legacy/mcms/changesets/transfer_to_mcms_with_timelock_test.go | Updates legacy MCMS timelock transfer tests to deploy LINK via new changeset and resolve via datastore. |
| legacy/mcms/changesets/set_config_mcms_test.go | Updates legacy MCMS config test setup to use the new LINK changeset import + invocation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
f78146c to
33355b0
Compare
|
🤖 I have created a release *beep* *boop* --- ## [0.5.0](v0.4.0...v0.5.0) (2026-05-29) ### ⚠ BREAKING CHANGES * Deletes the ApproveToken helper and related tests. * Removes the Solana MCMS state views from the public API. * Removes the LinkToken and StaticLinkToken state views from the public API. * Moves version constants out of the public API and into internal. * Remove `ValidateSelectorsInEnvironment` method from `pkg/cldfutil/selectors.go`. ### Features * delete ApproveToken helper ([#70](#70)) ([83f59e7](83f59e7)) * delete Link state views ([#68](#68)) ([d5f643b](d5f643b)) * link refactor ([#71](#71)) ([177dbc5](177dbc5)) * remove Solana MCMS state views ([#69](#69)) ([eb948dd](eb948dd)) * remove ValidateSelectorsInEnvironment method ([#61](#61)) ([72f431f](72f431f)) ### Bug Fixes * move contract version to internal package ([#64](#64)) ([936a00b](936a00b)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: app-token-issuer-ops-platform[bot] <275822481+app-token-issuer-ops-platform[bot]@users.noreply.github.com>




This pull request refactors how LINK token deployment is handled in the MCMS changeset tests and introduces a new, reusable LINK token deployment changeset in the codebase. The main changes include switching to the new
DeployLinkTokenChangesetfor both EVM and Solana chains, updating test code to use the new data store pattern for contract lookups.