Skip to content
Merged
Show file tree
Hide file tree
Changes from 49 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
6ad313a
Add AdvancedPoolHooks bindings
kylesmartin Dec 16, 2025
ef7b331
WIP - resolve compile issues
kylesmartin Dec 16, 2025
72fd8be
Update deployment pkg
kylesmartin Dec 17, 2025
13acd06
Add transferFeeConfig
kylesmartin Dec 17, 2025
c224099
Updates
kylesmartin Dec 17, 2025
b55b4fa
Update OnRamp optimizations
kylesmartin Dec 17, 2025
4f65206
WIP
kylesmartin Dec 17, 2025
b389f24
Imports
kylesmartin Dec 17, 2025
95bede7
Fix tests
kylesmartin Dec 17, 2025
453511f
Merge & update adapters test
kylesmartin Dec 17, 2025
e254e17
More tests
kylesmartin Dec 17, 2025
8043b7c
Add CCVs above thresh to deployment
kylesmartin Dec 17, 2025
dbd57f7
CCVs above threshold to EVM
kylesmartin Dec 17, 2025
6688d79
Add sequence
kylesmartin Dec 18, 2025
31ee029
Update bindings
kylesmartin Dec 18, 2025
f8cae14
Update test
kylesmartin Dec 18, 2025
7fd460b
Update deployment
kylesmartin Dec 18, 2025
dd748d1
Change to datastore
kylesmartin Dec 18, 2025
04af0d8
Add adapter
kylesmartin Dec 18, 2025
72ec371
test speed
RensR Dec 25, 2025
920562f
rm usdc
RensR Dec 25, 2025
0cc1301
golf usdc proxy lock release
RensR Dec 25, 2025
7ede098
golf usdc proxy contract storage
RensR Dec 25, 2025
1228032
use AuthorizedCallers in CCTPMessageTransmitterProxy
RensR Dec 25, 2025
9529aac
reduce code dup
RensR Dec 25, 2025
d49d20c
rm wrappers
RensR Dec 29, 2025
261b23e
add missing tests
RensR Dec 29, 2025
c5f9a22
Merge branch 'develop' into usdc-cleanup
RensR Dec 29, 2025
da03cc0
Merge branch 'develop' into usdc-cleanup
RensR Dec 29, 2025
f68b328
rename
RensR Dec 29, 2025
5592551
Merge branch 'develop' into usdc-cleanup
RensR Dec 30, 2025
f946b1d
add cov
RensR Dec 30, 2025
8e30f0e
increase min cov requirement
RensR Dec 30, 2025
de04e0b
golf
RensR Dec 30, 2025
0f5b433
rm LR mapping
RensR Dec 30, 2025
425c162
Merge branch 'develop' into usdc-cleanup
RensR Dec 30, 2025
22c289c
Merge from develop
kylesmartin Dec 30, 2025
d9e8846
Fix tests
kylesmartin Dec 30, 2025
9a87f27
Rm unused
kylesmartin Dec 30, 2025
6d875cc
Merge from usdc-cleanup
kylesmartin Dec 31, 2025
744986f
Update top level deployment with new lock release
kylesmartin Dec 31, 2025
486eedd
Sync deployment
kylesmartin Dec 31, 2025
052ef98
Merge
kylesmartin Jan 2, 2026
51ac8f3
Update
kylesmartin Jan 2, 2026
8e4139c
Rm cctp_token_pool
kylesmartin Jan 2, 2026
3e82cf4
Bump CCV deployment
kylesmartin Jan 2, 2026
41a25fe
Remaining comments
kylesmartin Jan 2, 2026
d438bbe
Make CREATE2 required
kylesmartin Jan 2, 2026
3e2fc3b
Gomod
kylesmartin Jan 2, 2026
8496fb2
Merge branch 'develop' into CCIP-8187-pt-2
0xsuryansh Jan 5, 2026
2a9278f
fix padding & linting
RensR Jan 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions ccv/chains/evm/deployment/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ replace github.com/fbsobreira/gotron-sdk => github.com/smartcontractkit/chainlin
require (
github.com/Masterminds/semver/v3 v3.4.0
github.com/ethereum/go-ethereum v1.16.5
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20251229153446-b59dd3a66863
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20251229153446-b59dd3a66863
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251229153446-b59dd3a66863
github.com/smartcontractkit/chain-selectors v1.0.72
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260102164736-8e4139c12021
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260102164736-8e4139c12021
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20260102164736-8e4139c12021
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260102164736-8e4139c12021
github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76
github.com/smartcontractkit/chainlink-deployments-framework v0.56.0
github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20250808121824-2c3544aab8f3
Expand Down Expand Up @@ -198,9 +200,7 @@ require (
github.com/shopspring/decimal v1.4.0 // indirect
github.com/sigurn/crc16 v0.0.0-20211026045750-20ab5afb07e3 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/smartcontractkit/chain-selectors v1.0.72 // indirect
github.com/smartcontractkit/chainlink-aptos v0.0.0-20250915164817-46a35eda083d // indirect
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251229153446-b59dd3a66863 // indirect
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5 // indirect
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5 // indirect
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 // indirect
Expand Down
16 changes: 8 additions & 8 deletions ccv/chains/evm/deployment/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -668,18 +668,18 @@ github.com/smartcontractkit/chain-selectors v1.0.72 h1:AExF2H3mABdLCN0QZd+IjU8Ck
github.com/smartcontractkit/chain-selectors v1.0.72/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8=
github.com/smartcontractkit/chainlink-aptos v0.0.0-20250915164817-46a35eda083d h1:bcfnHPXAhrhUw95X60Y/lDhQAb4SxSyTrqyVCHqfXPI=
github.com/smartcontractkit/chainlink-aptos v0.0.0-20250915164817-46a35eda083d/go.mod h1:tEjqontct1/5cKHm4q75nopZa1rwzaQZwd9U9wn0uZE=
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251229153446-b59dd3a66863 h1:eP2U0LGXVbeyy0LZFnJZgvfkkpTJvE3IS3WZf8RS7pQ=
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251229153446-b59dd3a66863/go.mod h1:pETrvAF8uvkZgtDgI/oRllZZaC4IpPO26tMxh1u9LC4=
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20251229153446-b59dd3a66863 h1:HF0OXOEN2ZsAMazR8Ishf5Q3AoiZhw3iOcFsMlxFUmY=
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20251229153446-b59dd3a66863/go.mod h1:Gl35ExaFLinqVhp50+Yq1GnMuHb3fnDtZUFPCtcfV3M=
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20251229153446-b59dd3a66863 h1:4ArFNtbhkLxTji+JRtXWy3JxNnkS9LB9+qrPeKRjVQM=
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20251229153446-b59dd3a66863/go.mod h1:3Ad9s3g9ZPTNVW+3FgtjxXB31pfW4IXG9l1PHvqCdM4=
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260102164736-8e4139c12021 h1:1mb9Ry/qC1Jm2hMmuj+m7J6MiP8LO3S8rCscel83YDQ=
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260102164736-8e4139c12021/go.mod h1:pETrvAF8uvkZgtDgI/oRllZZaC4IpPO26tMxh1u9LC4=
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260102164736-8e4139c12021 h1:46B3+R8+ivAOf7bXJdaGQdWm2Rz/YHtPk407UdVff2w=
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260102164736-8e4139c12021/go.mod h1:Gl35ExaFLinqVhp50+Yq1GnMuHb3fnDtZUFPCtcfV3M=
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20260102164736-8e4139c12021 h1:2D6YbuGtA8J66r0dCOiEP/TUp+AWHseI2Kq6iDZNggs=
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20260102164736-8e4139c12021/go.mod h1:QsmL/ntEujDE7SFqww4etICQ5Pkq9GNi2f3uhS+AZRw=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5 h1:GmJQqNrWn5pNc8YTei6l2TOSYjK2fRd4+edFZIifCrU=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ=
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5 h1:QhcYGEhRLInr1/qh/3RJiVdvJ0nxBHKhPe65WLbSBnU=
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg=
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251229153446-b59dd3a66863 h1:fOd/nl4WCZ0cpJMAgIMohixnTHOjB8OazsaeXZj2Urc=
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251229153446-b59dd3a66863/go.mod h1:kF7y5J3nAq5FkVhNmguoK09bOdpeZ0kMGQdt/zGSz+k=
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260102164736-8e4139c12021 h1:uK1Nf9se48YY3i2q87vKovlgfAU55GoU9+yBVAHROAg=
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260102164736-8e4139c12021/go.mod h1:kF7y5J3nAq5FkVhNmguoK09bOdpeZ0kMGQdt/zGSz+k=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 h1:Slnws8RoXRUYGgEMYK6X2yYzjZwNgVb93PxU45VEObQ=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76/go.mod h1:1r3aM96KHAESfnayJ3BTHCkP1qJS1BEG1r4czeoaXlA=
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 h1:hvqATtrZ0iMRTI80cpBot/3JFbjz2j+2tvpfooVhRHw=
Expand Down
26 changes: 26 additions & 0 deletions ccv/chains/evm/deployment/v1_7_0/adapters/cctp_chain.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package adapters

import (
"github.com/ethereum/go-ethereum/common"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/sequences/cctp"
seq_core "github.com/smartcontractkit/chainlink-ccip/deployment/utils/sequences"
"github.com/smartcontractkit/chainlink-ccip/deployment/v1_7_0/adapters"
"github.com/smartcontractkit/chainlink-deployments-framework/chain"
"github.com/smartcontractkit/chainlink-deployments-framework/datastore"
"github.com/smartcontractkit/chainlink-deployments-framework/operations"
)

var _ adapters.CCTPChain = &CCTPChainAdapter{}

// CCTPChainAdapter is the adapter for CCTP chains.
type CCTPChainAdapter struct{}

// AddressRefToBytes returns the byte representation of an address for this chain family.
func (c *CCTPChainAdapter) AddressRefToBytes(ref datastore.AddressRef) ([]byte, error) {
return common.HexToAddress(ref.Address).Bytes(), nil
}

// DeployCCTPChain returns the sequence for deploying a CCTP chain.
func (c *CCTPChainAdapter) DeployCCTPChain() *operations.Sequence[adapters.DeployCCTPInput[string, []byte], seq_core.OnChainOutput, chain.BlockChains] {
return cctp.DeployCCTPChain
}
30 changes: 22 additions & 8 deletions ccv/chains/evm/deployment/v1_7_0/adapters/chain_family_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,23 @@ import (
"testing"

"github.com/Masterminds/semver/v3"
"github.com/ethereum/go-ethereum/common"
evm_adapters "github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/adapters"
v1_7_0 "github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/changesets"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/committee_verifier"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/create2_factory"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/executor"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/fee_quoter"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/offramp"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/onramp"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/testsetup"
contract_utils "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/operations/contract"
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_2_0/operations/router"
"github.com/smartcontractkit/chainlink-ccip/deployment/utils/changesets"
"github.com/smartcontractkit/chainlink-ccip/deployment/v1_7_0/adapters"
v1_7_0_changesets "github.com/smartcontractkit/chainlink-ccip/deployment/v1_7_0/changesets"
"github.com/smartcontractkit/chainlink-deployments-framework/datastore"
"github.com/smartcontractkit/chainlink-deployments-framework/deployment"
"github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment"
"github.com/stretchr/testify/require"
)
Expand All @@ -32,13 +36,13 @@ func makeChainConfig(chainSelector uint64, remoteChainSelector uint64) v1_7_0_ch
Type: datastore.ContractType(onramp.ContractType),
Version: semver.MustParse("1.7.0"),
},
CommitteeVerifiers: []adapters.CommitteeVerifierConfig[datastore.AddressRef, datastore.AddressRef]{
CommitteeVerifiers: []adapters.CommitteeVerifierConfig[datastore.AddressRef]{
{
CommitteeVerifier: datastore.AddressRef{
Type: datastore.ContractType(committee_verifier.ContractType),
Version: semver.MustParse("1.7.0"),
},
SupportingContracts: []datastore.AddressRef{
CommitteeVerifier: []datastore.AddressRef{
{
Type: datastore.ContractType(committee_verifier.ContractType),
Version: semver.MustParse("1.7.0"),
},
{
Type: datastore.ContractType(committee_verifier.ResolverType),
Version: semver.MustParse("1.7.0"),
Expand Down Expand Up @@ -121,10 +125,20 @@ func TestChainFamilyAdapter(t *testing.T) {
// On each chain, deploy chain contracts
ds := datastore.NewMemoryDataStore()
for _, chainSel := range []uint64{chainA, chainB} {
create2FactoryRef, err := contract_utils.MaybeDeployContract(e.OperationsBundle, create2_factory.Deploy, e.BlockChains.EVMChains()[chainSel], contract_utils.DeployInput[create2_factory.ConstructorArgs]{
TypeAndVersion: deployment.NewTypeAndVersion(create2_factory.ContractType, *semver.MustParse("1.7.0")),
ChainSelector: chainSel,
Args: create2_factory.ConstructorArgs{
AllowList: []common.Address{e.BlockChains.EVMChains()[chainSel].DeployerKey.From},
},
}, nil)
require.NoError(t, err, "Failed to deploy CREATE2Factory")

deployChainOut, err := v1_7_0.DeployChainContracts(mcmsRegistry).Apply(*e, changesets.WithMCMS[v1_7_0.DeployChainContractsCfg]{
Cfg: v1_7_0.DeployChainContractsCfg{
ChainSel: chainSel,
Params: testsetup.CreateBasicContractParams(),
ChainSel: chainSel,
CREATE2Factory: common.HexToAddress(create2FactoryRef.Address),
Params: testsetup.CreateBasicContractParams(),
},
})
require.NoError(t, err, "Failed to apply DeployChainContracts changeset")
Expand Down
19 changes: 17 additions & 2 deletions ccv/chains/evm/deployment/v1_7_0/adapters/tokens_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,22 @@ import (
v1_7_0 "github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/changesets"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/burn_mint_token_pool"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/committee_verifier"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/create2_factory"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/token_pool"
evm_tokens "github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/sequences/tokens"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/testsetup"
tp_bindings "github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/gobindings/generated/latest/token_pool"
evm_datastore_utils "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/datastore"
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/operations/contract"
contract_utils "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/operations/contract"
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_0_0/operations/burn_mint_erc677"
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_2_0/operations/router"
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_5_0/operations/token_admin_registry"
"github.com/smartcontractkit/chainlink-ccip/deployment/tokens"
"github.com/smartcontractkit/chainlink-ccip/deployment/utils/changesets"
datastore_utils "github.com/smartcontractkit/chainlink-ccip/deployment/utils/datastore"
"github.com/smartcontractkit/chainlink-deployments-framework/datastore"
"github.com/smartcontractkit/chainlink-deployments-framework/deployment"
"github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment"
"github.com/smartcontractkit/chainlink-deployments-framework/operations"
)
Expand Down Expand Up @@ -63,12 +66,24 @@ func TestTokenAdapter(t *testing.T) {
tokenAdapterRegistry.RegisterTokenAdapter("evm", semver.MustParse("1.7.0"), &adapters.TokenAdapter{})

// On each chain, deploy chain contracts & a token + token pool
create2FactoryRefs := make(map[uint64]datastore.AddressRef)
ds := datastore.NewMemoryDataStore()
for _, chainSel := range []uint64{chainA, chainB} {
create2FactoryRef, err := contract_utils.MaybeDeployContract(e.OperationsBundle, create2_factory.Deploy, e.BlockChains.EVMChains()[chainSel], contract_utils.DeployInput[create2_factory.ConstructorArgs]{
TypeAndVersion: deployment.NewTypeAndVersion(create2_factory.ContractType, *semver.MustParse("1.7.0")),
ChainSelector: chainSel,
Args: create2_factory.ConstructorArgs{
AllowList: []common.Address{e.BlockChains.EVMChains()[chainSel].DeployerKey.From},
},
}, nil)
require.NoError(t, err, "Failed to deploy CREATE2Factory")
create2FactoryRefs[chainSel] = create2FactoryRef

deployChainOut, err := v1_7_0.DeployChainContracts(mcmsRegistry).Apply(*e, changesets.WithMCMS[v1_7_0.DeployChainContractsCfg]{
Cfg: v1_7_0.DeployChainContractsCfg{
ChainSel: chainSel,
Params: testsetup.CreateBasicContractParams(),
ChainSel: chainSel,
CREATE2Factory: common.HexToAddress(create2FactoryRef.Address),
Params: testsetup.CreateBasicContractParams(),
},
})
require.NoError(t, err, "Failed to apply DeployChainContracts changeset")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,16 @@ import (
"github.com/Masterminds/semver/v3"
"github.com/ethereum/go-ethereum/common"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/changesets"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/create2_factory"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/sequences"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/testsetup"
contract_utils "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/operations/contract"
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_0_0/operations/link"
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_0_0/operations/weth"
cs_core "github.com/smartcontractkit/chainlink-ccip/deployment/utils/changesets"
"github.com/smartcontractkit/chainlink-ccip/deployment/utils/mcms"
"github.com/smartcontractkit/chainlink-deployments-framework/datastore"
"github.com/smartcontractkit/chainlink-deployments-framework/deployment"
"github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment"
"github.com/stretchr/testify/require"
)
Expand Down Expand Up @@ -111,11 +114,21 @@ func TestDeployChainContracts_Apply(t *testing.T) {
e.DataStore = ds.Seal() // Override datastore in environment to include existing addresses

mcmsRegistry := cs_core.NewMCMSReaderRegistry()
create2FactoryRef, err := contract_utils.MaybeDeployContract(e.OperationsBundle, create2_factory.Deploy, e.BlockChains.EVMChains()[5009297550715157269], contract_utils.DeployInput[create2_factory.ConstructorArgs]{
TypeAndVersion: deployment.NewTypeAndVersion(create2_factory.ContractType, *semver.MustParse("1.7.0")),
ChainSelector: 5009297550715157269,
Args: create2_factory.ConstructorArgs{
AllowList: []common.Address{e.BlockChains.EVMChains()[5009297550715157269].DeployerKey.From},
},
}, nil)
require.NoError(t, err, "Failed to deploy CREATE2Factory")

out, err := changesets.DeployChainContracts(mcmsRegistry).Apply(*e, cs_core.WithMCMS[changesets.DeployChainContractsCfg]{
MCMS: mcms.Input{},
Cfg: changesets.DeployChainContractsCfg{
ChainSel: 5009297550715157269,
Params: testsetup.CreateBasicContractParams(),
ChainSel: 5009297550715157269,
CREATE2Factory: common.HexToAddress(create2FactoryRef.Address),
Params: testsetup.CreateBasicContractParams(),
},
})
require.NoError(t, err, "Failed to apply DeployChainContracts changeset")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package cctp_message_transmitter_proxy

import (
"github.com/Masterminds/semver/v3"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/gobindings/generated/latest/cctp_message_transmitter_proxy"
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/operations/contract"
cldf_deployment "github.com/smartcontractkit/chainlink-deployments-framework/deployment"
)

var ContractType cldf_deployment.ContractType = "CCTPMessageTransmitterProxy"

var Version = semver.MustParse("1.7.0")

type ConstructorArgs struct {
TokenMessenger common.Address
}

type AuthorizedCallerArgs = cctp_message_transmitter_proxy.AuthorizedCallersAuthorizedCallerArgs

var Deploy = contract.NewDeploy(contract.DeployParams[ConstructorArgs]{
Name: "cctp-message-transmitter-proxy:deploy",
Version: Version,
Description: "Deploys the CCTPMessageTransmitterProxy contract",
ContractMetadata: cctp_message_transmitter_proxy.CCTPMessageTransmitterProxyMetaData,
BytecodeByTypeAndVersion: map[string]contract.Bytecode{
cldf_deployment.NewTypeAndVersion(ContractType, *Version).String(): {
EVM: common.FromHex(cctp_message_transmitter_proxy.CCTPMessageTransmitterProxyBin),
},
},
Validate: func(ConstructorArgs) error { return nil },
})

var ApplyAuthorizedCallerUpdates = contract.NewWrite(contract.WriteParams[AuthorizedCallerArgs, *cctp_message_transmitter_proxy.CCTPMessageTransmitterProxy]{
Name: "cctp-message-transmitter-proxy:apply-authorized-caller-updates",
Version: Version,
Description: "Applies authorized caller updates on the CCTPMessageTransmitterProxy",
ContractType: ContractType,
ContractABI: cctp_message_transmitter_proxy.CCTPMessageTransmitterProxyABI,
NewContract: cctp_message_transmitter_proxy.NewCCTPMessageTransmitterProxy,
IsAllowedCaller: contract.OnlyOwner[*cctp_message_transmitter_proxy.CCTPMessageTransmitterProxy, AuthorizedCallerArgs],
Validate: func(AuthorizedCallerArgs) error { return nil },
CallContract: func(proxy *cctp_message_transmitter_proxy.CCTPMessageTransmitterProxy, opts *bind.TransactOpts, args AuthorizedCallerArgs) (*types.Transaction, error) {
return proxy.ApplyAuthorizedCallerUpdates(opts, args)
},
})
Loading
Loading