Skip to content

Commit 39ac800

Browse files
committed
Copilot comments
1 parent 2c87921 commit 39ac800

File tree

5 files changed

+24
-42
lines changed

5 files changed

+24
-42
lines changed

internal/adapters/entrypoints/watcher/transfer_cold_wallet_watcher.go

Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -69,38 +69,22 @@ func (watcher *TransferColdWalletWatcher) logTransferResult(result *liquidity_pr
6969
if result == nil {
7070
return
7171
}
72+
watcher.logNetworkTransferResult("BTC", result.BtcResult)
73+
watcher.logNetworkTransferResult("RSK", result.RskResult)
74+
}
7275

73-
// Log BTC transfer result
74-
switch result.BtcResult.Status {
75-
case liquidity_provider.TransferStatusSuccess:
76-
log.Infof("TransferColdWalletWatcher: BTC transfer successful - TxHash: %s, Amount: %s, Fee: %s",
77-
result.BtcResult.TxHash,
78-
result.BtcResult.Amount.String(),
79-
result.BtcResult.Fee.String())
80-
case liquidity_provider.TransferStatusSkippedNoExcess:
81-
log.Info("TransferColdWalletWatcher: BTC transfer skipped - no excess liquidity")
82-
case liquidity_provider.TransferStatusSkippedNotEconomical:
83-
log.Info("TransferColdWalletWatcher: BTC transfer skipped - not economical: ", result.BtcResult.Message)
84-
case liquidity_provider.TransferStatusFailed:
85-
log.Errorf("TransferColdWalletWatcher: BTC transfer failed - %s: %v",
86-
result.BtcResult.Message,
87-
result.BtcResult.Error)
88-
}
89-
90-
// Log RSK transfer result
91-
switch result.RskResult.Status {
76+
func (watcher *TransferColdWalletWatcher) logNetworkTransferResult(network string, result liquidity_provider.NetworkTransferResult) {
77+
switch result.Status {
9278
case liquidity_provider.TransferStatusSuccess:
93-
log.Infof("TransferColdWalletWatcher: RSK transfer successful - TxHash: %s, Amount: %s, Fee: %s",
94-
result.RskResult.TxHash,
95-
result.RskResult.Amount.String(),
96-
result.RskResult.Fee.String())
79+
log.Infof("TransferColdWalletWatcher: %s transfer successful - TxHash: %s, Amount: %s, Fee: %s",
80+
network, result.TxHash, result.Amount.String(), result.Fee.String())
9781
case liquidity_provider.TransferStatusSkippedNoExcess:
98-
log.Info("TransferColdWalletWatcher: RSK transfer skipped - no excess liquidity")
82+
log.Infof("TransferColdWalletWatcher: %s transfer skipped - no excess liquidity", network)
9983
case liquidity_provider.TransferStatusSkippedNotEconomical:
100-
log.Info("TransferColdWalletWatcher: RSK transfer skipped - not economical: ", result.RskResult.Message)
84+
log.Infof("TransferColdWalletWatcher: %s transfer skipped - not economical: %s", network, result.Message)
85+
case liquidity_provider.TransferStatusSkippedCooldown:
86+
log.Infof("TransferColdWalletWatcher: %s transfer skipped - liquidity target cooldown active", network)
10187
case liquidity_provider.TransferStatusFailed:
102-
log.Errorf("TransferColdWalletWatcher: RSK transfer failed - %s: %v",
103-
result.RskResult.Message,
104-
result.RskResult.Error)
88+
log.Errorf("TransferColdWalletWatcher: %s transfer failed - %s: %v", network, result.Message, result.Error)
10589
}
10690
}

internal/usecases/liquidity_provider/initialize_state_configuration.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
log "github.com/sirupsen/logrus"
1414
)
1515

16-
const CoolDownAfterRatioChange int64 = 10800 // 3 hours
16+
const CooldownAfterRatioChange int64 = 10800 // 3 hours
1717

1818
type InitializeStateConfigurationUseCase struct {
1919
provider liquidity_provider.LiquidityProvider
@@ -108,7 +108,7 @@ func (useCase *InitializeStateConfigurationUseCase) applyRatioUpdate(stateConfig
108108
log.Infof("BtcLiquidityTargetPercentage changed from %d to %d, activating cooldown",
109109
stateConfig.BtcLiquidityTargetPercentage, useCase.btcLiquidityTargetPercentage)
110110
stateConfig.BtcLiquidityTargetPercentage = useCase.btcLiquidityTargetPercentage
111-
stateConfig.RatioCooldownEndTimestamp = now + CoolDownAfterRatioChange
111+
stateConfig.RatioCooldownEndTimestamp = now + CooldownAfterRatioChange
112112
return stateConfig, true
113113
}
114114
return stateConfig, false

internal/usecases/liquidity_provider/initialize_state_configuration_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ func TestInitializeStateConfigurationUseCase_Run_RatioChangeActivatesCooldown(t
291291
walletMock.AssertExpectations(t)
292292

293293
assert.Equal(t, uint64(60), capturedConfig.Value.BtcLiquidityTargetPercentage)
294-
expectedCooldownEnd := time.Now().Unix() + liquidity_provider.CoolDownAfterRatioChange
294+
expectedCooldownEnd := time.Now().Unix() + liquidity_provider.CooldownAfterRatioChange
295295
cooldownDiff := expectedCooldownEnd - capturedConfig.Value.RatioCooldownEndTimestamp
296296
assert.True(t, cooldownDiff >= 0 && cooldownDiff < 5, "cooldown end timestamp should be approximately now + 3 hours")
297297
}

internal/usecases/liquidity_provider/transfer_excess_to_cold_wallet.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const (
3535
TransferStatusSkippedNoExcess TransferStatus = "skipped_no_excess"
3636
TransferStatusSkippedNotEconomical TransferStatus = "skipped_not_economical"
3737
TransferStatusFailed TransferStatus = "failed"
38+
TransferStatusSkippedCooldown TransferStatus = "skipped_cooldown"
3839
)
3940

4041
type NetworkTransferResult struct {
@@ -159,7 +160,11 @@ func (useCase *TransferExcessToColdWalletUseCase) Run(ctx context.Context) (*Tra
159160

160161
if time.Now().Unix() < stateConfig.RatioCooldownEndTimestamp {
161162
log.Infof("TransferExcessToColdWallet: skipping due to liquidity target cooldown (ends at %d)", stateConfig.RatioCooldownEndTimestamp)
162-
return NewTransferToColdWalletResult(NetworkTransferResult{}, NetworkTransferResult{}), nil
163+
cooldownResult := NetworkTransferResult{
164+
Status: TransferStatusSkippedCooldown,
165+
Message: "Skipped due to liquidity target cooldown",
166+
}
167+
return NewTransferToColdWalletResult(cooldownResult, cooldownResult), nil
163168
}
164169

165170
currentLiquidity, err := useCase.getCurrentLiquidity(ctx)
@@ -253,7 +258,6 @@ func (useCase *TransferExcessToColdWalletUseCase) calculateExcessForBothNetworks
253258
currentLiquidity currentLiquidityResult,
254259
) (excessCalculationResult, error) {
255260
btcPercentage := stateConfig.BtcLiquidityTargetPercentage
256-
rbtcPercentage := 100 - btcPercentage
257261

258262
btcTarget, err := new(entities.Wei).Div(
259263
new(entities.Wei).Mul(generalConfig.MaxLiquidity, entities.NewUWei(btcPercentage)),
@@ -263,13 +267,7 @@ func (useCase *TransferExcessToColdWalletUseCase) calculateExcessForBothNetworks
263267
return excessCalculationResult{}, err
264268
}
265269

266-
rbtcTarget, err := new(entities.Wei).Div(
267-
new(entities.Wei).Mul(generalConfig.MaxLiquidity, entities.NewUWei(rbtcPercentage)),
268-
entities.NewUWei(100),
269-
)
270-
if err != nil {
271-
return excessCalculationResult{}, err
272-
}
270+
rbtcTarget := new(entities.Wei).Sub(generalConfig.MaxLiquidity, btcTarget)
273271

274272
btcThreshold := useCase.calculateThreshold(btcTarget, generalConfig.ExcessTolerance)
275273
rbtcThreshold := useCase.calculateThreshold(rbtcTarget, generalConfig.ExcessTolerance)

internal/usecases/liquidity_provider/transfer_excess_to_cold_wallet_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3247,13 +3247,13 @@ func TestTransferExcessToColdWalletUseCase_Run_CooldownActiveSkipsTransfer(t *te
32473247
require.NoError(t, err)
32483248
require.NotNil(t, result)
32493249

3250-
assert.Equal(t, liquidity_provider.TransferStatus(""), result.BtcResult.Status)
3250+
assert.Equal(t, liquidity_provider.TransferStatusSkippedCooldown, result.BtcResult.Status)
32513251
assert.Empty(t, result.BtcResult.TxHash)
32523252
assert.Nil(t, result.BtcResult.Amount)
32533253
assert.Nil(t, result.BtcResult.Fee)
32543254
require.NoError(t, result.BtcResult.Error)
32553255

3256-
assert.Equal(t, liquidity_provider.TransferStatus(""), result.RskResult.Status)
3256+
assert.Equal(t, liquidity_provider.TransferStatusSkippedCooldown, result.RskResult.Status)
32573257
assert.Empty(t, result.RskResult.TxHash)
32583258
assert.Nil(t, result.RskResult.Amount)
32593259
assert.Nil(t, result.RskResult.Fee)

0 commit comments

Comments
 (0)