Skip to content

Commit e604fd2

Browse files
committed
cr comments
1 parent e0410a2 commit e604fd2

3 files changed

Lines changed: 43 additions & 24 deletions

File tree

chains/evm/deployment/v2_0_0/adapters/ccv_committee_verifier_onchain.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ func (a *EVMCCVCommitteeVerifierOnchainAdapter) ApplySignatureConfigs(
113113
for _, c := range change.NewConfigs {
114114
signers := make([]common.Address, 0, len(c.Signers))
115115
for _, s := range c.Signers {
116+
if !common.IsHexAddress(s) {
117+
return fmt.Errorf("invalid signer address %q for source chain %d", s, c.SourceChainSelector)
118+
}
116119
signers = append(signers, common.HexToAddress(s))
117120
}
118121
sigConfigs = append(sigConfigs, cv.SignatureQuorumValidatorSignatureConfig{

chains/evm/deployment/v2_0_0/adapters/ccv_executor_config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ func (a *EVMCCVExecutorConfigAdapter) GetDeployedChains(ds datastore.DataStore,
2727
refs := ds.Addresses().Filter(
2828
datastore.AddressRefByQualifier(qualifier),
2929
datastore.AddressRefByType(datastore.ContractType(sequences.ExecutorProxyType)),
30+
datastore.AddressRefByVersion(execop.Version),
3031
)
3132
seen := make(map[uint64]struct{}, len(refs))
3233
chains := make([]uint64, 0, len(refs))

chains/evm/deployment/v2_0_0/adapters/ccv_token_verifier_config.go

Lines changed: 39 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,16 @@ func (a *EVMCCVTokenVerifierConfigAdapter) ResolveTokenVerifierAddresses(
2626
toAddress := func(ref datastore.AddressRef) (string, error) { return ref.Address, nil }
2727

2828
onRampAddr, err := dsutils.FindAndFormatRef(ds, datastore.AddressRef{
29-
Type: datastore.ContractType(onrampop.ContractType),
29+
Type: datastore.ContractType(onrampop.ContractType),
30+
Version: onrampop.Version,
3031
}, chainSelector, toAddress)
3132
if err != nil {
3233
return nil, fmt.Errorf("failed to get on ramp address for chain %d: %w", chainSelector, err)
3334
}
3435

3536
rmnRemoteAddr, err := dsutils.FindAndFormatRef(ds, datastore.AddressRef{
36-
Type: datastore.ContractType(rmnremote.ContractType),
37+
Type: datastore.ContractType(rmnremote.ContractType),
38+
Version: rmnremote.Version,
3739
}, chainSelector, toAddress)
3840
if err != nil {
3941
return nil, fmt.Errorf("failed to get rmn remote address for chain %d: %w", chainSelector, err)
@@ -44,35 +46,48 @@ func (a *EVMCCVTokenVerifierConfigAdapter) ResolveTokenVerifierAddresses(
4446
RMNRemoteAddress: rmnRemoteAddr,
4547
}
4648

47-
cctpVerifierAddr, cctpVerifierErr := dsutils.FindAndFormatRef(ds, datastore.AddressRef{
48-
Type: datastore.ContractType(cctpverifier.ContractType),
49-
Qualifier: cctpQualifier,
50-
}, chainSelector, toAddress)
49+
cctpVerifierRefs := ds.Addresses().Filter(
50+
datastore.AddressRefByChainSelector(chainSelector),
51+
datastore.AddressRefByType(datastore.ContractType(cctpverifier.ContractType)),
52+
datastore.AddressRefByQualifier(cctpQualifier),
53+
datastore.AddressRefByVersion(cctpverifier.Version),
54+
)
55+
if len(cctpVerifierRefs) > 1 {
56+
return nil, fmt.Errorf("chain %d: expected at most 1 CCTPVerifier with qualifier %q, found %d", chainSelector, cctpQualifier, len(cctpVerifierRefs))
57+
}
5158

52-
cctpResolverAddr, cctpResolverErr := dsutils.FindAndFormatRef(ds, datastore.AddressRef{
53-
Type: datastore.ContractType(versioned_verifier_resolver.CCTPVerifierResolverType),
54-
Qualifier: cctpQualifier,
55-
}, chainSelector, toAddress)
59+
cctpResolverRefs := ds.Addresses().Filter(
60+
datastore.AddressRefByChainSelector(chainSelector),
61+
datastore.AddressRefByType(datastore.ContractType(versioned_verifier_resolver.CCTPVerifierResolverType)),
62+
datastore.AddressRefByQualifier(cctpQualifier),
63+
datastore.AddressRefByVersion(versioned_verifier_resolver.Version),
64+
)
65+
if len(cctpResolverRefs) > 1 {
66+
return nil, fmt.Errorf("chain %d: expected at most 1 CCTPVerifierResolver with qualifier %q, found %d", chainSelector, cctpQualifier, len(cctpResolverRefs))
67+
}
5668

57-
if (cctpVerifierErr == nil) != (cctpResolverErr == nil) {
69+
if (len(cctpVerifierRefs) == 1) != (len(cctpResolverRefs) == 1) {
5870
return nil, fmt.Errorf(
59-
"chain %d: cctp verifier and resolver must both exist or both be absent (verifier error: %v, resolver error: %v)",
60-
chainSelector, cctpVerifierErr, cctpResolverErr,
71+
"chain %d: CCTP verifier and resolver must both exist or both be absent (verifier found: %v, resolver found: %v)",
72+
chainSelector, len(cctpVerifierRefs) == 1, len(cctpResolverRefs) == 1,
6173
)
6274
}
63-
64-
if cctpVerifierErr == nil {
65-
result.CCTPVerifierAddress = cctpVerifierAddr
66-
result.CCTPVerifierResolverAddress = cctpResolverAddr
75+
if len(cctpVerifierRefs) == 1 {
76+
result.CCTPVerifierAddress = cctpVerifierRefs[0].Address
77+
result.CCTPVerifierResolverAddress = cctpResolverRefs[0].Address
6778
}
6879

69-
lombardResolverAddr, lombardResolverErr := dsutils.FindAndFormatRef(ds, datastore.AddressRef{
70-
Type: datastore.ContractType(versioned_verifier_resolver.LombardVerifierResolverType),
71-
Qualifier: lombardQualifier,
72-
}, chainSelector, toAddress)
73-
74-
if lombardResolverErr == nil {
75-
result.LombardVerifierResolverAddress = lombardResolverAddr
80+
lombardResolverRefs := ds.Addresses().Filter(
81+
datastore.AddressRefByChainSelector(chainSelector),
82+
datastore.AddressRefByType(datastore.ContractType(versioned_verifier_resolver.LombardVerifierResolverType)),
83+
datastore.AddressRefByQualifier(lombardQualifier),
84+
datastore.AddressRefByVersion(versioned_verifier_resolver.Version),
85+
)
86+
if len(lombardResolverRefs) > 1 {
87+
return nil, fmt.Errorf("chain %d: expected at most 1 LombardVerifierResolver with qualifier %q, found %d", chainSelector, lombardQualifier, len(lombardResolverRefs))
88+
}
89+
if len(lombardResolverRefs) == 1 {
90+
result.LombardVerifierResolverAddress = lombardResolverRefs[0].Address
7691
}
7792

7893
return result, nil

0 commit comments

Comments
 (0)