Skip to content

Commit bd957ac

Browse files
fix: get defaults per chain pairs and only add a map when dests exist
1 parent 0444847 commit bd957ac

2 files changed

Lines changed: 44 additions & 37 deletions

File tree

deployment/tokens/fees.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -133,17 +133,19 @@ func setTokenTransferFeeApply() func(deployment.Environment, SetTokenTransferFee
133133
feeConfigSettings := map[string]map[uint64]*TokenTransferFeeConfig{}
134134
minBlocksSettings := map[string]uint16{}
135135
for _, pool := range src.TokenPools {
136-
feeConfigSettings[pool.PoolAddress] = map[uint64]*TokenTransferFeeConfig{}
137-
for _, dst := range pool.Destinations {
138-
if args, err := inferTokenTransferFeeArgs(feesAdapter, e, pool.PoolAddress, src.Selector, dst.Selector, dst); err != nil {
139-
return deployment.ChangesetOutput{}, fmt.Errorf("failed to infer token transfer fee args for src %d, dst %d, and pool %s: %w", src.Selector, dst.Selector, pool.PoolAddress, err)
140-
} else {
141-
feeConfigSettings[pool.PoolAddress][dst.Selector] = args
142-
}
143-
}
144136
if minBlockConfirmations, ok := pool.MinBlockConfirmations.Get(); ok {
145137
minBlocksSettings[pool.PoolAddress] = minBlockConfirmations
146138
}
139+
if len(pool.Destinations) > 0 {
140+
feeConfigSettings[pool.PoolAddress] = map[uint64]*TokenTransferFeeConfig{}
141+
for _, dst := range pool.Destinations {
142+
if args, err := inferTokenTransferFeeArgs(feesAdapter, e, pool.PoolAddress, src.Selector, dst.Selector, dst); err != nil {
143+
return deployment.ChangesetOutput{}, fmt.Errorf("failed to infer token transfer fee args for src %d, dst %d, and pool %s: %w", src.Selector, dst.Selector, pool.PoolAddress, err)
144+
} else {
145+
feeConfigSettings[pool.PoolAddress][dst.Selector] = args
146+
}
147+
}
148+
}
147149
}
148150

149151
if len(minBlocksSettings) > 0 {

integration-tests/deployment/set_token_transfer_fee_test.go

Lines changed: 34 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,6 @@ func TestSetTokenPoolTokenTransferFeeV2_0_0(t *testing.T) {
681681

682682
// Get the v2.0 token adapter
683683
tokensV2 := evmadaptersV1_7_0.TokenAdapter{}
684-
defaults := tokens.GetDefaultChainAgnosticTokenTransferFeeConfig(evmChainSelA, evmChainSelB)
685684

686685
// Reset the operation cache
687686
env.OperationsBundle = operations.NewBundle(t.Context, env.OperationsBundle.Logger, operations.NewMemoryReporter())
@@ -725,55 +724,61 @@ func TestSetTokenPoolTokenTransferFeeV2_0_0(t *testing.T) {
725724
require.NoError(t, err)
726725

727726
// Confirm that the configs for A->B match what was set, and that sensible defaults are applied for fields that were not set
727+
defaultsAB := tokens.GetDefaultChainAgnosticTokenTransferFeeConfig(evmChainSelA, evmChainSelB)
728728
require.Equal(t, uint16(100), cfgAB.DefaultFinalityTransferFeeBps)
729-
require.Equal(t, defaults.CustomFinalityTransferFeeBps, cfgAB.CustomFinalityTransferFeeBps)
730-
require.Equal(t, defaults.DefaultFinalityFeeUSDCents, cfgAB.DefaultFinalityFeeUSDCents)
731-
require.Equal(t, defaults.CustomFinalityFeeUSDCents, cfgAB.CustomFinalityFeeUSDCents)
732-
require.Equal(t, defaults.DestBytesOverhead, cfgAB.DestBytesOverhead)
733-
require.Equal(t, defaults.DestGasOverhead, cfgAB.DestGasOverhead)
729+
require.Equal(t, defaultsAB.CustomFinalityTransferFeeBps, cfgAB.CustomFinalityTransferFeeBps)
730+
require.Equal(t, defaultsAB.DefaultFinalityFeeUSDCents, cfgAB.DefaultFinalityFeeUSDCents)
731+
require.Equal(t, defaultsAB.CustomFinalityFeeUSDCents, cfgAB.CustomFinalityFeeUSDCents)
732+
require.Equal(t, defaultsAB.DestBytesOverhead, cfgAB.DestBytesOverhead)
733+
require.Equal(t, defaultsAB.DestGasOverhead, cfgAB.DestGasOverhead)
734734
require.True(t, cfgAB.IsEnabled)
735735

736736
// Confirm that the configs for A->C match what was set, and that sensible defaults are applied for fields that were not set
737-
require.Equal(t, defaults.DefaultFinalityTransferFeeBps, cfgAC.DefaultFinalityTransferFeeBps)
737+
defaultsAC := tokens.GetDefaultChainAgnosticTokenTransferFeeConfig(evmChainSelA, evmChainSelC)
738+
require.Equal(t, defaultsAC.DefaultFinalityTransferFeeBps, cfgAC.DefaultFinalityTransferFeeBps)
738739
require.Equal(t, uint16(10), cfgAC.CustomFinalityTransferFeeBps)
739-
require.Equal(t, defaults.DefaultFinalityFeeUSDCents, cfgAC.DefaultFinalityFeeUSDCents)
740-
require.Equal(t, defaults.CustomFinalityFeeUSDCents, cfgAC.CustomFinalityFeeUSDCents)
741-
require.Equal(t, defaults.DestBytesOverhead, cfgAC.DestBytesOverhead)
742-
require.Equal(t, defaults.DestGasOverhead, cfgAC.DestGasOverhead)
740+
require.Equal(t, defaultsAC.DefaultFinalityFeeUSDCents, cfgAC.DefaultFinalityFeeUSDCents)
741+
require.Equal(t, defaultsAC.CustomFinalityFeeUSDCents, cfgAC.CustomFinalityFeeUSDCents)
742+
require.Equal(t, defaultsAC.DestBytesOverhead, cfgAC.DestBytesOverhead)
743+
require.Equal(t, defaultsAC.DestGasOverhead, cfgAC.DestGasOverhead)
743744
require.True(t, cfgAC.IsEnabled)
744745

745746
// Confirm that the configs for B->A match what was set, and that sensible defaults are applied for fields that were not set
746-
require.Equal(t, defaults.DefaultFinalityTransferFeeBps, cfgBA.DefaultFinalityTransferFeeBps)
747-
require.Equal(t, defaults.CustomFinalityTransferFeeBps, cfgBA.CustomFinalityTransferFeeBps)
747+
defaultsBA := tokens.GetDefaultChainAgnosticTokenTransferFeeConfig(evmChainSelB, evmChainSelA)
748+
require.Equal(t, defaultsBA.DefaultFinalityTransferFeeBps, cfgBA.DefaultFinalityTransferFeeBps)
749+
require.Equal(t, defaultsBA.CustomFinalityTransferFeeBps, cfgBA.CustomFinalityTransferFeeBps)
748750
require.Equal(t, uint32(200), cfgBA.DefaultFinalityFeeUSDCents)
749-
require.Equal(t, defaults.CustomFinalityFeeUSDCents, cfgBA.CustomFinalityFeeUSDCents)
750-
require.Equal(t, defaults.DestBytesOverhead, cfgBA.DestBytesOverhead)
751-
require.Equal(t, defaults.DestGasOverhead, cfgBA.DestGasOverhead)
751+
require.Equal(t, defaultsBA.CustomFinalityFeeUSDCents, cfgBA.CustomFinalityFeeUSDCents)
752+
require.Equal(t, defaultsBA.DestBytesOverhead, cfgBA.DestBytesOverhead)
753+
require.Equal(t, defaultsBA.DestGasOverhead, cfgBA.DestGasOverhead)
752754
require.True(t, cfgBA.IsEnabled)
753755

754756
// Confirm that the configs for B->C match what was set, and that sensible defaults are applied for fields that were not set
755-
require.Equal(t, defaults.DefaultFinalityTransferFeeBps, cfgBC.DefaultFinalityTransferFeeBps)
756-
require.Equal(t, defaults.CustomFinalityTransferFeeBps, cfgBC.CustomFinalityTransferFeeBps)
757-
require.Equal(t, defaults.DefaultFinalityFeeUSDCents, cfgBC.DefaultFinalityFeeUSDCents)
757+
defaultsBC := tokens.GetDefaultChainAgnosticTokenTransferFeeConfig(evmChainSelB, evmChainSelC)
758+
require.Equal(t, defaultsBC.DefaultFinalityTransferFeeBps, cfgBC.DefaultFinalityTransferFeeBps)
759+
require.Equal(t, defaultsBC.CustomFinalityTransferFeeBps, cfgBC.CustomFinalityTransferFeeBps)
760+
require.Equal(t, defaultsBC.DefaultFinalityFeeUSDCents, cfgBC.DefaultFinalityFeeUSDCents)
758761
require.Equal(t, uint32(20), cfgBC.CustomFinalityFeeUSDCents)
759-
require.Equal(t, defaults.DestBytesOverhead, cfgBC.DestBytesOverhead)
760-
require.Equal(t, defaults.DestGasOverhead, cfgBC.DestGasOverhead)
762+
require.Equal(t, defaultsBC.DestBytesOverhead, cfgBC.DestBytesOverhead)
763+
require.Equal(t, defaultsBC.DestGasOverhead, cfgBC.DestGasOverhead)
761764
require.True(t, cfgBC.IsEnabled)
762765

763766
// Confirm that the configs for C->A match what was set, and that sensible defaults are applied for fields that were not set
764-
require.Equal(t, defaults.DefaultFinalityTransferFeeBps, cfgCA.DefaultFinalityTransferFeeBps)
765-
require.Equal(t, defaults.CustomFinalityTransferFeeBps, cfgCA.CustomFinalityTransferFeeBps)
766-
require.Equal(t, defaults.DefaultFinalityFeeUSDCents, cfgCA.DefaultFinalityFeeUSDCents)
767-
require.Equal(t, defaults.CustomFinalityFeeUSDCents, cfgCA.CustomFinalityFeeUSDCents)
767+
defaultsCA := tokens.GetDefaultChainAgnosticTokenTransferFeeConfig(evmChainSelC, evmChainSelA)
768+
require.Equal(t, defaultsCA.DefaultFinalityTransferFeeBps, cfgCA.DefaultFinalityTransferFeeBps)
769+
require.Equal(t, defaultsCA.CustomFinalityTransferFeeBps, cfgCA.CustomFinalityTransferFeeBps)
770+
require.Equal(t, defaultsCA.DefaultFinalityFeeUSDCents, cfgCA.DefaultFinalityFeeUSDCents)
771+
require.Equal(t, defaultsCA.CustomFinalityFeeUSDCents, cfgCA.CustomFinalityFeeUSDCents)
768772
require.Equal(t, uint32(100_000), cfgCA.DestBytesOverhead)
769773
require.Equal(t, uint32(10_000), cfgCA.DestGasOverhead)
770774
require.True(t, cfgCA.IsEnabled)
771775

772776
// Confirm that the configs for C->B match what was set, and that sensible defaults are applied for fields that were not set
773-
require.Equal(t, defaults.DefaultFinalityTransferFeeBps, cfgCB.DefaultFinalityTransferFeeBps)
774-
require.Equal(t, defaults.CustomFinalityTransferFeeBps, cfgCB.CustomFinalityTransferFeeBps)
775-
require.Equal(t, defaults.DefaultFinalityFeeUSDCents, cfgCB.DefaultFinalityFeeUSDCents)
776-
require.Equal(t, defaults.CustomFinalityFeeUSDCents, cfgCB.CustomFinalityFeeUSDCents)
777+
defaultsCB := tokens.GetDefaultChainAgnosticTokenTransferFeeConfig(evmChainSelC, evmChainSelB)
778+
require.Equal(t, defaultsCB.DefaultFinalityTransferFeeBps, cfgCB.DefaultFinalityTransferFeeBps)
779+
require.Equal(t, defaultsCB.CustomFinalityTransferFeeBps, cfgCB.CustomFinalityTransferFeeBps)
780+
require.Equal(t, defaultsCB.DefaultFinalityFeeUSDCents, cfgCB.DefaultFinalityFeeUSDCents)
781+
require.Equal(t, defaultsCB.CustomFinalityFeeUSDCents, cfgCB.CustomFinalityFeeUSDCents)
777782
require.Equal(t, uint32(200_000), cfgCB.DestBytesOverhead)
778783
require.Equal(t, uint32(20_000), cfgCB.DestGasOverhead)
779784
require.True(t, cfgCB.IsEnabled)

0 commit comments

Comments
 (0)