Skip to content

Commit 873380f

Browse files
committed
fixes
1 parent bc5157c commit 873380f

8 files changed

Lines changed: 35 additions & 41 deletions

File tree

chains/evm/deployment/utils/common.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,14 @@ func ParseTypeAndVersion(tvStr string) (string, string, error) {
4343
return typeAndVersionValues[0], typeAndVersionValues[1], nil
4444
}
4545

46+
// Wrap returns fmt.Errorf("%s: %w", msg, err) when err is non-nil.
47+
func Wrap(err error, msg string) error {
48+
if err != nil {
49+
return fmt.Errorf("%s: %w", msg, err)
50+
}
51+
return nil
52+
}
53+
4654
// ValidateEVMAddress validates that a non-empty string is a valid Ethereum hex address.
4755
// Returns nil if the address is empty (optional field) or valid.
4856
func ValidateEVMAddress(addr string, fieldName string) error {

chains/evm/deployment/v1_0_0/adapters/token_adapter.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package adapters
22

33
import (
4+
"errors"
45
"fmt"
56

67
"github.com/ethereum/go-ethereum/common"
@@ -74,10 +75,10 @@ func (a *EVMTokenBase) DeployTokenVerify(e deployment.Environment, input tokensa
7475
return nil
7576
}
7677

77-
if err := utils.ValidateEVMAddress(input.CCIPAdmin, "CCIPAdmin"); err != nil {
78-
return err
79-
}
80-
if err := utils.ValidateEVMAddress(input.ExternalAdmin, "ExternalAdmin"); err != nil {
78+
if err := errors.Join(
79+
utils.ValidateEVMAddress(input.CCIPAdmin, "CCIPAdmin"),
80+
utils.ValidateEVMAddress(input.ExternalAdmin, "ExternalAdmin"),
81+
); err != nil {
8182
return err
8283
}
8384

chains/evm/deployment/v1_6_1/sequences/configure_token_pool_for_remote_chain.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/smartcontractkit/chainlink-deployments-framework/chain/evm"
1515
cldf_ops "github.com/smartcontractkit/chainlink-deployments-framework/operations"
1616

17+
evmutils "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils"
1718
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_0_0/operations/type_and_version"
1819
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_6_1/operations/token_pool"
1920
"github.com/smartcontractkit/chainlink-ccip/deployment/tokens"
@@ -37,10 +38,7 @@ func (c ConfigureTokenPoolForRemoteChainInput) Validate(chain evm.Chain) error {
3738
if c.ChainSelector != chain.Selector {
3839
return fmt.Errorf("chain selector %d does not match chain %s", c.ChainSelector, chain)
3940
}
40-
if err := c.RemoteChainConfig.Validate(); err != nil {
41-
return fmt.Errorf("invalid remote chain config: %w", err)
42-
}
43-
return nil
41+
return evmutils.Wrap(c.RemoteChainConfig.Validate(), "invalid remote chain config")
4442
}
4543

4644
var ConfigureTokenPoolForRemoteChain = cldf_ops.NewSequence(

chains/evm/deployment/v2_0_0/changesets/remove_fee_tokens.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -277,10 +277,7 @@ func collectLegacyFeeTokens(
277277
}
278278

279279
feeTokens, err := queryPriceRegistryFeeTokens(e, chain, common.HexToAddress(priceRegistryRef.Address))
280-
if err != nil {
281-
return nil, err
282-
}
283-
return feeTokens, nil
280+
return feeTokens, err
284281
}
285282

286283
func queryPriceRegistryFeeTokens(e cldf_deployment.Environment, chain evm.Chain, priceRegistry common.Address) ([]common.Address, error) {

chains/evm/deployment/v2_0_0/create2_factory/create2_factory_test.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,12 @@ func sendFunds(ctx context.Context, chain evm.Chain, to common.Address, percenta
4848
return err
4949
}
5050

51-
err = chain.Client.SendTransaction(ctx, signedTx)
52-
if err != nil {
51+
if err = chain.Client.SendTransaction(ctx, signedTx); err != nil {
5352
return err
5453
}
5554

5655
_, err = chain.Confirm(signedTx)
57-
if err != nil {
58-
return err
59-
}
60-
61-
return nil
56+
return err
6257
}
6358

6459
func TestCREATE2Factory(t *testing.T) {

chains/evm/deployment/v2_0_0/sequences/deploy_verifier_resolver_via_create2.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,25 +35,26 @@ func validateQualifier(contractType datastore.ContractType, qualifier string) er
3535
// Since all resolver types share the same bytecode, the CREATE2 salt is solely determined by the qualifier.
3636
// Therefore, we must ensure that different resolver types do not use the same qualifier, or else they would collide on CREATE2 address.
3737
// NOTE: DO NOT CHANGE EXISITING VALUES, EVER. Otherwise it will break determistic addresses of already deployed resolvers!!
38-
var LombardVerifierQualifier = versioned_verifier_resolver.LombardVerifierResolverType.String()
39-
var CCTPVerifierQualifier = versioned_verifier_resolver.CCTPVerifierResolverType.String()
38+
lombardVerifierQualifier := versioned_verifier_resolver.LombardVerifierResolverType.String()
39+
cctpVerifierQualifier := versioned_verifier_resolver.CCTPVerifierResolverType.String()
4040

4141
switch contractType {
4242
case datastore.ContractType(versioned_verifier_resolver.CommitteeVerifierResolverType):
4343
// The CommiteeVerifierResolver is allowed to be any value as multiple commitees can be deployed
4444
return nil
4545
case datastore.ContractType(versioned_verifier_resolver.CCTPVerifierResolverType):
46-
if qualifier != CCTPVerifierQualifier {
47-
return fmt.Errorf("qualifier must be %s for %s", CCTPVerifierQualifier, contractType)
46+
if qualifier != cctpVerifierQualifier {
47+
return fmt.Errorf("qualifier must be %s for %s", cctpVerifierQualifier, contractType)
4848
}
49+
return nil
4950
case datastore.ContractType(versioned_verifier_resolver.LombardVerifierResolverType):
50-
if qualifier != LombardVerifierQualifier {
51-
return fmt.Errorf("qualifier must be %s for %s", LombardVerifierQualifier, contractType)
51+
if qualifier != lombardVerifierQualifier {
52+
return fmt.Errorf("qualifier must be %s for %s", lombardVerifierQualifier, contractType)
5253
}
54+
return nil
5355
default:
5456
return fmt.Errorf("unsupported contract type: %s", contractType)
5557
}
56-
return nil
5758
}
5859

5960
var DeployVerifierResolverViaCREATE2 = cldf_ops.NewSequence(

chains/evm/deployment/v2_0_0/sequences/tokens/configure_token_pool_for_remote_chain.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v2_0_0/operations/token_pool"
3030
v17seq "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v2_0_0/sequences"
3131

32+
evmutils "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/utils"
3233
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_0_0/operations/type_and_version"
3334
token_pool_v150 "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_5_0/operations/burn_mint_token_pool_and_proxy"
3435
"github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_5_0/operations/token_admin_registry"
@@ -62,10 +63,7 @@ func (c ConfigureTokenPoolForRemoteChainInput) Validate(chain evm.Chain) error {
6263
if c.ChainSelector != chain.Selector {
6364
return fmt.Errorf("chain selector %d does not match chain %s", c.ChainSelector, chain)
6465
}
65-
if err := c.RemoteChainConfig.Validate(); err != nil {
66-
return fmt.Errorf("invalid remote chain config: %w", err)
67-
}
68-
return nil
66+
return evmutils.Wrap(c.RemoteChainConfig.Validate(), "invalid remote chain config")
6967
}
7068

7169
// activePoolImportedConfig holds config imported from an active pool (< 2.0.0) for upgrade cutover.
@@ -540,10 +538,7 @@ func importConfigFromActivePoolV150(
540538
}
541539
}
542540
cfg, err := fetchRateLimitsAndRemotePoolV150(b, chain, chainSelector, poolForRateLimits, activePool, remoteChainSelector)
543-
if err != nil {
544-
return nil, err
545-
}
546-
return cfg, nil
541+
return cfg, err
547542
}
548543

549544
// fetchRateLimitsAndRemotePoolV150 fetches rate limiter state and the single remote pool for the given remote chain

chains/evm/deployment/v2_0_0/sequences/tokens/set_allowed_finality_config_for_token_pools.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,34 +36,33 @@ var SetAllowedFinalityConfigForTokenPools = operations.NewSequence(
3636
return sequences.OnChainOutput{}, fmt.Errorf("invalid finality config for pool %s for src %d: %w", pool, input.Selector, err)
3737
}
3838

39-
selector := chain.Selector
4039
if !common.IsHexAddress(pool) {
41-
return sequences.OnChainOutput{}, fmt.Errorf("invalid pool address for src %d: %s", selector, pool)
40+
return sequences.OnChainOutput{}, fmt.Errorf("invalid pool address for src %d: %s", chain.Selector, pool)
4241
}
4342

4443
addr := common.HexToAddress(pool)
4544
if addr == (common.Address{}) {
46-
return sequences.OnChainOutput{}, fmt.Errorf("pool address cannot be the zero address for src %d", selector)
45+
return sequences.OnChainOutput{}, fmt.Errorf("pool address cannot be the zero address for src %d", chain.Selector)
4746
}
4847

4948
currentFinalityConfigReport, err := operations.ExecuteOperation(b, token_pool.GetAllowedFinalityConfig, chain, contract.FunctionInput[struct{}]{
50-
ChainSelector: selector,
49+
ChainSelector: chain.Selector,
5150
Address: addr,
5251
Args: struct{}{},
5352
})
5453
if err != nil {
55-
return sequences.OnChainOutput{}, fmt.Errorf("failed to get current finality config for token pool at address %s on chain %d: %w", addr.Hex(), selector, err)
54+
return sequences.OnChainOutput{}, fmt.Errorf("failed to get current finality config for token pool at address %s on chain %d: %w", addr.Hex(), chain.Selector, err)
5655
}
5756

5857
requestedFinalityConfig := finalityConfig.Raw()
5958
if !bytes.Equal(currentFinalityConfigReport.Output[:], requestedFinalityConfig[:]) {
6059
write, err := operations.ExecuteOperation(b, token_pool.SetAllowedFinalityConfig, chain, contract.FunctionInput[[4]byte]{
61-
ChainSelector: selector,
60+
ChainSelector: chain.Selector,
6261
Address: addr,
6362
Args: requestedFinalityConfig,
6463
})
6564
if err != nil {
66-
return sequences.OnChainOutput{}, fmt.Errorf("failed to set finality config for token pool at address %s on chain %d: %w", addr.Hex(), selector, err)
65+
return sequences.OnChainOutput{}, fmt.Errorf("failed to set finality config for token pool at address %s on chain %d: %w", addr.Hex(), chain.Selector, err)
6766
}
6867
writes = append(writes, write.Output)
6968
}

0 commit comments

Comments
 (0)