Skip to content

Commit e1abf82

Browse files
authored
[CCIP 8187] CCTP deployment tooling (#1523)
1 parent 9b29716 commit e1abf82

File tree

46 files changed

+2761
-3804
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2761
-3804
lines changed

ccv/chains/evm/deployment/go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ replace github.com/fbsobreira/gotron-sdk => github.com/smartcontractkit/chainlin
88
require (
99
github.com/Masterminds/semver/v3 v3.4.0
1010
github.com/ethereum/go-ethereum v1.16.5
11-
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20251229153446-b59dd3a66863
12-
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20251229153446-b59dd3a66863
13-
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251229153446-b59dd3a66863
11+
github.com/smartcontractkit/chain-selectors v1.0.72
12+
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260102164736-8e4139c12021
13+
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260102164736-8e4139c12021
14+
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20260102164736-8e4139c12021
15+
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260102164736-8e4139c12021
1416
github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76
1517
github.com/smartcontractkit/chainlink-deployments-framework v0.56.0
1618
github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20250808121824-2c3544aab8f3
@@ -198,9 +200,7 @@ require (
198200
github.com/shopspring/decimal v1.4.0 // indirect
199201
github.com/sigurn/crc16 v0.0.0-20211026045750-20ab5afb07e3 // indirect
200202
github.com/sirupsen/logrus v1.9.3 // indirect
201-
github.com/smartcontractkit/chain-selectors v1.0.72 // indirect
202203
github.com/smartcontractkit/chainlink-aptos v0.0.0-20250915164817-46a35eda083d // indirect
203-
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251229153446-b59dd3a66863 // indirect
204204
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5 // indirect
205205
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5 // indirect
206206
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 // indirect

ccv/chains/evm/deployment/go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -668,18 +668,18 @@ github.com/smartcontractkit/chain-selectors v1.0.72 h1:AExF2H3mABdLCN0QZd+IjU8Ck
668668
github.com/smartcontractkit/chain-selectors v1.0.72/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8=
669669
github.com/smartcontractkit/chainlink-aptos v0.0.0-20250915164817-46a35eda083d h1:bcfnHPXAhrhUw95X60Y/lDhQAb4SxSyTrqyVCHqfXPI=
670670
github.com/smartcontractkit/chainlink-aptos v0.0.0-20250915164817-46a35eda083d/go.mod h1:tEjqontct1/5cKHm4q75nopZa1rwzaQZwd9U9wn0uZE=
671-
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251229153446-b59dd3a66863 h1:eP2U0LGXVbeyy0LZFnJZgvfkkpTJvE3IS3WZf8RS7pQ=
672-
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251229153446-b59dd3a66863/go.mod h1:pETrvAF8uvkZgtDgI/oRllZZaC4IpPO26tMxh1u9LC4=
673-
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20251229153446-b59dd3a66863 h1:HF0OXOEN2ZsAMazR8Ishf5Q3AoiZhw3iOcFsMlxFUmY=
674-
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20251229153446-b59dd3a66863/go.mod h1:Gl35ExaFLinqVhp50+Yq1GnMuHb3fnDtZUFPCtcfV3M=
675-
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20251229153446-b59dd3a66863 h1:4ArFNtbhkLxTji+JRtXWy3JxNnkS9LB9+qrPeKRjVQM=
676-
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20251229153446-b59dd3a66863/go.mod h1:3Ad9s3g9ZPTNVW+3FgtjxXB31pfW4IXG9l1PHvqCdM4=
671+
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260102164736-8e4139c12021 h1:1mb9Ry/qC1Jm2hMmuj+m7J6MiP8LO3S8rCscel83YDQ=
672+
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260102164736-8e4139c12021/go.mod h1:pETrvAF8uvkZgtDgI/oRllZZaC4IpPO26tMxh1u9LC4=
673+
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260102164736-8e4139c12021 h1:46B3+R8+ivAOf7bXJdaGQdWm2Rz/YHtPk407UdVff2w=
674+
github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260102164736-8e4139c12021/go.mod h1:Gl35ExaFLinqVhp50+Yq1GnMuHb3fnDtZUFPCtcfV3M=
675+
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20260102164736-8e4139c12021 h1:2D6YbuGtA8J66r0dCOiEP/TUp+AWHseI2Kq6iDZNggs=
676+
github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20260102164736-8e4139c12021/go.mod h1:QsmL/ntEujDE7SFqww4etICQ5Pkq9GNi2f3uhS+AZRw=
677677
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5 h1:GmJQqNrWn5pNc8YTei6l2TOSYjK2fRd4+edFZIifCrU=
678678
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ=
679679
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5 h1:QhcYGEhRLInr1/qh/3RJiVdvJ0nxBHKhPe65WLbSBnU=
680680
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg=
681-
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251229153446-b59dd3a66863 h1:fOd/nl4WCZ0cpJMAgIMohixnTHOjB8OazsaeXZj2Urc=
682-
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251229153446-b59dd3a66863/go.mod h1:kF7y5J3nAq5FkVhNmguoK09bOdpeZ0kMGQdt/zGSz+k=
681+
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260102164736-8e4139c12021 h1:uK1Nf9se48YY3i2q87vKovlgfAU55GoU9+yBVAHROAg=
682+
github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260102164736-8e4139c12021/go.mod h1:kF7y5J3nAq5FkVhNmguoK09bOdpeZ0kMGQdt/zGSz+k=
683683
github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 h1:Slnws8RoXRUYGgEMYK6X2yYzjZwNgVb93PxU45VEObQ=
684684
github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76/go.mod h1:1r3aM96KHAESfnayJ3BTHCkP1qJS1BEG1r4czeoaXlA=
685685
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 h1:hvqATtrZ0iMRTI80cpBot/3JFbjz2j+2tvpfooVhRHw=
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package adapters
2+
3+
import (
4+
"github.com/ethereum/go-ethereum/common"
5+
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/sequences/cctp"
6+
seq_core "github.com/smartcontractkit/chainlink-ccip/deployment/utils/sequences"
7+
"github.com/smartcontractkit/chainlink-ccip/deployment/v1_7_0/adapters"
8+
"github.com/smartcontractkit/chainlink-deployments-framework/chain"
9+
"github.com/smartcontractkit/chainlink-deployments-framework/datastore"
10+
"github.com/smartcontractkit/chainlink-deployments-framework/operations"
11+
)
12+
13+
var _ adapters.CCTPChain = &CCTPChainAdapter{}
14+
15+
// CCTPChainAdapter is the adapter for CCTP chains.
16+
type CCTPChainAdapter struct{}
17+
18+
// AddressRefToBytes returns the byte representation of an address for this chain family.
19+
func (c *CCTPChainAdapter) AddressRefToBytes(ref datastore.AddressRef) ([]byte, error) {
20+
return common.HexToAddress(ref.Address).Bytes(), nil
21+
}
22+
23+
// DeployCCTPChain returns the sequence for deploying a CCTP chain.
24+
func (c *CCTPChainAdapter) DeployCCTPChain() *operations.Sequence[adapters.DeployCCTPInput[string, []byte], seq_core.OnChainOutput, chain.BlockChains] {
25+
return cctp.DeployCCTPChain
26+
}

ccv/chains/evm/deployment/v1_7_0/adapters/chain_family_test.go

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,23 @@ import (
44
"testing"
55

66
"github.com/Masterminds/semver/v3"
7+
"github.com/ethereum/go-ethereum/common"
78
evm_adapters "github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/adapters"
89
v1_7_0 "github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/changesets"
910
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/committee_verifier"
11+
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/create2_factory"
1012
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/executor"
1113
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/fee_quoter"
1214
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/offramp"
1315
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/onramp"
1416
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/testsetup"
17+
contract_utils "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/operations/contract"
1518
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_2_0/operations/router"
1619
"github.com/smartcontractkit/chainlink-ccip/deployment/utils/changesets"
1720
"github.com/smartcontractkit/chainlink-ccip/deployment/v1_7_0/adapters"
1821
v1_7_0_changesets "github.com/smartcontractkit/chainlink-ccip/deployment/v1_7_0/changesets"
1922
"github.com/smartcontractkit/chainlink-deployments-framework/datastore"
23+
"github.com/smartcontractkit/chainlink-deployments-framework/deployment"
2024
"github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment"
2125
"github.com/stretchr/testify/require"
2226
)
@@ -32,13 +36,13 @@ func makeChainConfig(chainSelector uint64, remoteChainSelector uint64) v1_7_0_ch
3236
Type: datastore.ContractType(onramp.ContractType),
3337
Version: semver.MustParse("1.7.0"),
3438
},
35-
CommitteeVerifiers: []adapters.CommitteeVerifierConfig[datastore.AddressRef, datastore.AddressRef]{
39+
CommitteeVerifiers: []adapters.CommitteeVerifierConfig[datastore.AddressRef]{
3640
{
37-
CommitteeVerifier: datastore.AddressRef{
38-
Type: datastore.ContractType(committee_verifier.ContractType),
39-
Version: semver.MustParse("1.7.0"),
40-
},
41-
SupportingContracts: []datastore.AddressRef{
41+
CommitteeVerifier: []datastore.AddressRef{
42+
{
43+
Type: datastore.ContractType(committee_verifier.ContractType),
44+
Version: semver.MustParse("1.7.0"),
45+
},
4246
{
4347
Type: datastore.ContractType(committee_verifier.ResolverType),
4448
Version: semver.MustParse("1.7.0"),
@@ -121,10 +125,20 @@ func TestChainFamilyAdapter(t *testing.T) {
121125
// On each chain, deploy chain contracts
122126
ds := datastore.NewMemoryDataStore()
123127
for _, chainSel := range []uint64{chainA, chainB} {
128+
create2FactoryRef, err := contract_utils.MaybeDeployContract(e.OperationsBundle, create2_factory.Deploy, e.BlockChains.EVMChains()[chainSel], contract_utils.DeployInput[create2_factory.ConstructorArgs]{
129+
TypeAndVersion: deployment.NewTypeAndVersion(create2_factory.ContractType, *semver.MustParse("1.7.0")),
130+
ChainSelector: chainSel,
131+
Args: create2_factory.ConstructorArgs{
132+
AllowList: []common.Address{e.BlockChains.EVMChains()[chainSel].DeployerKey.From},
133+
},
134+
}, nil)
135+
require.NoError(t, err, "Failed to deploy CREATE2Factory")
136+
124137
deployChainOut, err := v1_7_0.DeployChainContracts(mcmsRegistry).Apply(*e, changesets.WithMCMS[v1_7_0.DeployChainContractsCfg]{
125138
Cfg: v1_7_0.DeployChainContractsCfg{
126-
ChainSel: chainSel,
127-
Params: testsetup.CreateBasicContractParams(),
139+
ChainSel: chainSel,
140+
CREATE2Factory: common.HexToAddress(create2FactoryRef.Address),
141+
Params: testsetup.CreateBasicContractParams(),
128142
},
129143
})
130144
require.NoError(t, err, "Failed to apply DeployChainContracts changeset")

ccv/chains/evm/deployment/v1_7_0/adapters/tokens_test.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,22 @@ import (
1212
v1_7_0 "github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/changesets"
1313
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/burn_mint_token_pool"
1414
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/committee_verifier"
15+
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/create2_factory"
1516
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/token_pool"
1617
evm_tokens "github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/sequences/tokens"
1718
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/testsetup"
1819
tp_bindings "github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/gobindings/generated/latest/token_pool"
1920
evm_datastore_utils "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/datastore"
2021
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/operations/contract"
22+
contract_utils "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/operations/contract"
2123
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_0_0/operations/burn_mint_erc677"
2224
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_2_0/operations/router"
2325
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_5_0/operations/token_admin_registry"
2426
"github.com/smartcontractkit/chainlink-ccip/deployment/tokens"
2527
"github.com/smartcontractkit/chainlink-ccip/deployment/utils/changesets"
2628
datastore_utils "github.com/smartcontractkit/chainlink-ccip/deployment/utils/datastore"
2729
"github.com/smartcontractkit/chainlink-deployments-framework/datastore"
30+
"github.com/smartcontractkit/chainlink-deployments-framework/deployment"
2831
"github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment"
2932
"github.com/smartcontractkit/chainlink-deployments-framework/operations"
3033
)
@@ -63,12 +66,24 @@ func TestTokenAdapter(t *testing.T) {
6366
tokenAdapterRegistry.RegisterTokenAdapter("evm", semver.MustParse("1.7.0"), &adapters.TokenAdapter{})
6467

6568
// On each chain, deploy chain contracts & a token + token pool
69+
create2FactoryRefs := make(map[uint64]datastore.AddressRef)
6670
ds := datastore.NewMemoryDataStore()
6771
for _, chainSel := range []uint64{chainA, chainB} {
72+
create2FactoryRef, err := contract_utils.MaybeDeployContract(e.OperationsBundle, create2_factory.Deploy, e.BlockChains.EVMChains()[chainSel], contract_utils.DeployInput[create2_factory.ConstructorArgs]{
73+
TypeAndVersion: deployment.NewTypeAndVersion(create2_factory.ContractType, *semver.MustParse("1.7.0")),
74+
ChainSelector: chainSel,
75+
Args: create2_factory.ConstructorArgs{
76+
AllowList: []common.Address{e.BlockChains.EVMChains()[chainSel].DeployerKey.From},
77+
},
78+
}, nil)
79+
require.NoError(t, err, "Failed to deploy CREATE2Factory")
80+
create2FactoryRefs[chainSel] = create2FactoryRef
81+
6882
deployChainOut, err := v1_7_0.DeployChainContracts(mcmsRegistry).Apply(*e, changesets.WithMCMS[v1_7_0.DeployChainContractsCfg]{
6983
Cfg: v1_7_0.DeployChainContractsCfg{
70-
ChainSel: chainSel,
71-
Params: testsetup.CreateBasicContractParams(),
84+
ChainSel: chainSel,
85+
CREATE2Factory: common.HexToAddress(create2FactoryRef.Address),
86+
Params: testsetup.CreateBasicContractParams(),
7287
},
7388
})
7489
require.NoError(t, err, "Failed to apply DeployChainContracts changeset")

ccv/chains/evm/deployment/v1_7_0/changesets/deploy_chain_contracts_test.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,16 @@ import (
66
"github.com/Masterminds/semver/v3"
77
"github.com/ethereum/go-ethereum/common"
88
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/changesets"
9+
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/operations/create2_factory"
910
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/sequences"
1011
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/deployment/v1_7_0/testsetup"
12+
contract_utils "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/operations/contract"
1113
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_0_0/operations/link"
1214
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_0_0/operations/weth"
1315
cs_core "github.com/smartcontractkit/chainlink-ccip/deployment/utils/changesets"
1416
"github.com/smartcontractkit/chainlink-ccip/deployment/utils/mcms"
1517
"github.com/smartcontractkit/chainlink-deployments-framework/datastore"
18+
"github.com/smartcontractkit/chainlink-deployments-framework/deployment"
1619
"github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment"
1720
"github.com/stretchr/testify/require"
1821
)
@@ -111,11 +114,21 @@ func TestDeployChainContracts_Apply(t *testing.T) {
111114
e.DataStore = ds.Seal() // Override datastore in environment to include existing addresses
112115

113116
mcmsRegistry := cs_core.NewMCMSReaderRegistry()
117+
create2FactoryRef, err := contract_utils.MaybeDeployContract(e.OperationsBundle, create2_factory.Deploy, e.BlockChains.EVMChains()[5009297550715157269], contract_utils.DeployInput[create2_factory.ConstructorArgs]{
118+
TypeAndVersion: deployment.NewTypeAndVersion(create2_factory.ContractType, *semver.MustParse("1.7.0")),
119+
ChainSelector: 5009297550715157269,
120+
Args: create2_factory.ConstructorArgs{
121+
AllowList: []common.Address{e.BlockChains.EVMChains()[5009297550715157269].DeployerKey.From},
122+
},
123+
}, nil)
124+
require.NoError(t, err, "Failed to deploy CREATE2Factory")
125+
114126
out, err := changesets.DeployChainContracts(mcmsRegistry).Apply(*e, cs_core.WithMCMS[changesets.DeployChainContractsCfg]{
115127
MCMS: mcms.Input{},
116128
Cfg: changesets.DeployChainContractsCfg{
117-
ChainSel: 5009297550715157269,
118-
Params: testsetup.CreateBasicContractParams(),
129+
ChainSel: 5009297550715157269,
130+
CREATE2Factory: common.HexToAddress(create2FactoryRef.Address),
131+
Params: testsetup.CreateBasicContractParams(),
119132
},
120133
})
121134
require.NoError(t, err, "Failed to apply DeployChainContracts changeset")
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package cctp_message_transmitter_proxy
2+
3+
import (
4+
"github.com/Masterminds/semver/v3"
5+
"github.com/ethereum/go-ethereum/accounts/abi/bind"
6+
"github.com/ethereum/go-ethereum/common"
7+
"github.com/ethereum/go-ethereum/core/types"
8+
"github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm/gobindings/generated/latest/cctp_message_transmitter_proxy"
9+
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils/operations/contract"
10+
cldf_deployment "github.com/smartcontractkit/chainlink-deployments-framework/deployment"
11+
)
12+
13+
var ContractType cldf_deployment.ContractType = "CCTPMessageTransmitterProxy"
14+
15+
var Version = semver.MustParse("1.7.0")
16+
17+
type ConstructorArgs struct {
18+
TokenMessenger common.Address
19+
}
20+
21+
type AuthorizedCallerArgs = cctp_message_transmitter_proxy.AuthorizedCallersAuthorizedCallerArgs
22+
23+
var Deploy = contract.NewDeploy(contract.DeployParams[ConstructorArgs]{
24+
Name: "cctp-message-transmitter-proxy:deploy",
25+
Version: Version,
26+
Description: "Deploys the CCTPMessageTransmitterProxy contract",
27+
ContractMetadata: cctp_message_transmitter_proxy.CCTPMessageTransmitterProxyMetaData,
28+
BytecodeByTypeAndVersion: map[string]contract.Bytecode{
29+
cldf_deployment.NewTypeAndVersion(ContractType, *Version).String(): {
30+
EVM: common.FromHex(cctp_message_transmitter_proxy.CCTPMessageTransmitterProxyBin),
31+
},
32+
},
33+
Validate: func(ConstructorArgs) error { return nil },
34+
})
35+
36+
var ApplyAuthorizedCallerUpdates = contract.NewWrite(contract.WriteParams[AuthorizedCallerArgs, *cctp_message_transmitter_proxy.CCTPMessageTransmitterProxy]{
37+
Name: "cctp-message-transmitter-proxy:apply-authorized-caller-updates",
38+
Version: Version,
39+
Description: "Applies authorized caller updates on the CCTPMessageTransmitterProxy",
40+
ContractType: ContractType,
41+
ContractABI: cctp_message_transmitter_proxy.CCTPMessageTransmitterProxyABI,
42+
NewContract: cctp_message_transmitter_proxy.NewCCTPMessageTransmitterProxy,
43+
IsAllowedCaller: contract.OnlyOwner[*cctp_message_transmitter_proxy.CCTPMessageTransmitterProxy, AuthorizedCallerArgs],
44+
Validate: func(AuthorizedCallerArgs) error { return nil },
45+
CallContract: func(proxy *cctp_message_transmitter_proxy.CCTPMessageTransmitterProxy, opts *bind.TransactOpts, args AuthorizedCallerArgs) (*types.Transaction, error) {
46+
return proxy.ApplyAuthorizedCallerUpdates(opts, args)
47+
},
48+
})

0 commit comments

Comments
 (0)