Skip to content

Commit ab5a40a

Browse files
fix copilot review concerns
1 parent 92b7cbf commit ab5a40a

File tree

4 files changed

+18
-17
lines changed

4 files changed

+18
-17
lines changed

docker-compose/local/docker-compose.lps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ services:
8787
- BTC_RELEASE_WATCHER_START_BLOCK
8888
- BTC_RELEASE_WATCHER_PAGE_SIZE
8989
- BTC_RELEASE_CHECK_TIMEOUT
90-
- REBALANCE_STRATEGY
90+
- REBALANCE_STRATEGY=${REBALANCE_STRATEGY:-ALL_AT_ONCE}
9191
ports:
9292
- "8080:8080"
9393
volumes:

internal/configuration/environment/environment.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ type PegoutEnv struct {
168168
DepositCacheStartBlock uint64 `env:"PEGOUT_DEPOSIT_CACHE_START_BLOCK"`
169169
BtcReleaseWatcherStartBlock uint64 `env:"BTC_RELEASE_WATCHER_START_BLOCK"`
170170
BtcReleaseWatcherPageSize uint64 `env:"BTC_RELEASE_WATCHER_PAGE_SIZE"`
171-
RebalanceStrategy string `env:"REBALANCE_STRATEGY" validate:"required,oneof=ALL_AT_ONCE UTXO_SPLIT"`
171+
RebalanceStrategy string `env:"REBALANCE_STRATEGY" validate:"omitempty,oneof=ALL_AT_ONCE UTXO_SPLIT"`
172172
}
173173

174174
type CaptchaEnv struct {

internal/usecases/pegout/bridge_pegout.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ const (
3030

3131
func ParseRebalanceStrategy(s string) (RebalanceStrategy, error) {
3232
switch s {
33-
case string(AllAtOnce):
33+
case "", string(AllAtOnce):
3434
return AllAtOnce, nil
3535
case string(UtxoSplit):
3636
return UtxoSplit, nil
@@ -132,20 +132,20 @@ func (useCase *BridgePegoutUseCase) runUtxoSplit(
132132
watchedQuotes []quote.WatchedPegoutQuote,
133133
) error {
134134
bridgeMin := pegoutConfig.BridgeTransactionMin
135-
numTxs, err := new(entities.Wei).Div(totalValue, bridgeMin)
135+
numTxsWei, err := new(entities.Wei).Div(totalValue, bridgeMin)
136136
if err != nil {
137137
return usecases.WrapUseCaseError(usecases.BridgePegoutId, err)
138138
}
139-
remainder := new(entities.Wei).Sub(totalValue, new(entities.Wei).Mul(numTxs, bridgeMin))
139+
numTxs := numTxsWei.Uint64()
140+
remainder := new(entities.Wei).Sub(totalValue, new(entities.Wei).Mul(numTxsWei, bridgeMin))
140141

141142
gasPerTx := entities.NewWei(BridgeConversionGasLimit * BridgeConversionGasPrice)
142-
requiredBalance := new(entities.Wei).Add(totalValue, new(entities.Wei).Mul(numTxs, gasPerTx))
143+
requiredBalance := new(entities.Wei).Add(totalValue, new(entities.Wei).Mul(numTxsWei, gasPerTx))
143144
if err := useCase.checkBalance(ctx, requiredBalance); err != nil {
144145
return err
145146
}
146147

147148
bridgeAddress := useCase.contracts.Bridge.GetAddress()
148-
n := numTxs.Uint64()
149149

150150
// First chunk absorbs the remainder (when N=1, firstChunk == totalValue)
151151
firstChunk := new(entities.Wei).Add(bridgeMin.Copy(), remainder)
@@ -155,19 +155,19 @@ func (useCase *BridgePegoutUseCase) runUtxoSplit(
155155
config := blockchain.NewTransactionConfig(firstChunk, BridgeConversionGasLimit, entities.NewWei(BridgeConversionGasPrice))
156156
receipt, txErr = useCase.rskWallet.SendRbtc(ctx, config, bridgeAddress)
157157
if txErr == nil {
158-
log.Debugf("%s: split tx 1/%d sent to the bridge successfully (%s)", usecases.BridgePegoutId, n, receipt.TransactionHash)
158+
log.Debugf("%s: split tx 1/%d sent to the bridge successfully (%s)", usecases.BridgePegoutId, numTxs, receipt.TransactionHash)
159159
} else {
160-
if err := useCase.updateQuotes(ctx, receipt, txErr, watchedQuotes); err != nil {
161-
return usecases.WrapUseCaseError(usecases.BridgePegoutId, err)
162-
}
163-
return usecases.WrapUseCaseError(usecases.BridgePegoutId, txErr)
160+
return usecases.WrapUseCaseError(
161+
usecases.BridgePegoutId,
162+
useCase.updateQuotes(ctx, receipt, txErr, watchedQuotes),
163+
)
164164
}
165165

166-
for i := uint64(1); i < n; i++ {
166+
for i := uint64(1); i < numTxs; i++ {
167167
config = blockchain.NewTransactionConfig(bridgeMin.Copy(), BridgeConversionGasLimit, entities.NewWei(BridgeConversionGasPrice))
168168
receipt, txErr = useCase.rskWallet.SendRbtc(ctx, config, bridgeAddress)
169169
if txErr == nil {
170-
log.Debugf("%s: split tx %d/%d sent to the bridge successfully (%s)", usecases.BridgePegoutId, i+1, n, receipt.TransactionHash)
170+
log.Debugf("%s: split tx %d/%d sent to the bridge successfully (%s)", usecases.BridgePegoutId, i+1, numTxs, receipt.TransactionHash)
171171
} else {
172172
break
173173
}

internal/usecases/pegout/bridge_pegout_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -354,9 +354,10 @@ func TestParseRebalanceStrategy(t *testing.T) {
354354
require.NoError(t, err)
355355
assert.Equal(t, pegout.AllAtOnce, strategy)
356356
})
357-
t.Run("empty string returns error", func(t *testing.T) {
358-
_, err := pegout.ParseRebalanceStrategy("")
359-
require.Error(t, err)
357+
t.Run("empty string defaults to ALL_AT_ONCE", func(t *testing.T) {
358+
strategy, err := pegout.ParseRebalanceStrategy("")
359+
require.NoError(t, err)
360+
assert.Equal(t, pegout.AllAtOnce, strategy)
360361
})
361362
t.Run("unknown value returns error", func(t *testing.T) {
362363
_, err := pegout.ParseRebalanceStrategy("UNKNOWN")

0 commit comments

Comments
 (0)