Skip to content

Commit 85d7a6c

Browse files
Tanut LertwarachaiTanut Lertwarachai
authored andcommitted
use evm standard
1 parent 96cae9d commit 85d7a6c

3 files changed

Lines changed: 9 additions & 8 deletions

File tree

relayer/chains/evm/provider.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ func (cp *EVMChainProvider) prepareTransaction(
457457
WithChainName(cp.ChainName), err.Error())
458458
} else {
459459
diff := new(big.Int).Sub(newBalance, oldBalance)
460-
balanceDelta = decimal.NewNullDecimal(decimal.NewFromBigInt(diff, -18))
460+
balanceDelta = decimal.NewNullDecimal(decimal.NewFromBigInt(diff, 0))
461461
alert.HandleReset(cp.Alert, alert.NewTopic(alert.GetBalanceErrorMsg).
462462
WithTunnelID(packet.TunnelID).
463463
WithChainName(cp.ChainName))
@@ -502,9 +502,8 @@ func (cp *EVMChainProvider) CheckConfirmedTx(
502502
}
503503

504504
// calculate gas used and effective gas price
505-
// gas_used is gas units (dimensionless), effective_gas_price stored in ETH (converted from wei)
506505
gasUsed := decimal.NewNullDecimal(decimal.New(int64(receipt.GasUsed), 0))
507-
gasPrice := decimal.NewNullDecimal(decimal.NewFromBigInt(receipt.EffectiveGasPrice, -18))
506+
gasPrice := decimal.NewNullDecimal(decimal.New(int64(receipt.EffectiveGasPrice.Uint64()), 0))
508507

509508
if receipt.Status == gethtypes.ReceiptStatusFailed {
510509
return NewTxResult(

relayer/chains/evm/provider_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ func (s *ProviderTestSuite) TestCheckConfirmedTx() {
235235
out: evm.NewTxResult(
236236
chaintypes.TX_STATUS_SUCCESS,
237237
decimal.NewNullDecimal(decimal.New(21000, 0)),
238-
decimal.NewNullDecimal(decimal.NewFromBigInt(big.NewInt(20000), -18)),
238+
decimal.NewNullDecimal(decimal.New(20000, 0)),
239239
big.NewInt(100),
240240
"",
241241
),
@@ -253,7 +253,7 @@ func (s *ProviderTestSuite) TestCheckConfirmedTx() {
253253
out: evm.NewTxResult(
254254
chaintypes.TX_STATUS_FAILED,
255255
decimal.NewNullDecimal(decimal.New(21000, 0)),
256-
decimal.NewNullDecimal(decimal.NewFromBigInt(big.NewInt(20000), -18)),
256+
decimal.NewNullDecimal(decimal.New(20000, 0)),
257257
big.NewInt(100),
258258
"transaction reverted on-chain",
259259
),

relayer/chains/xrpl/provider.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ import (
2222
"github.com/bandprotocol/falcon/relayer/wallet/xrpl"
2323
)
2424

25+
const xrplToWeiExp = 12
26+
2527
var _ chains.ChainProvider = (*XRPLChainProvider)(nil)
2628

2729
// XRPLChainProvider handles interactions with XRPL.
@@ -342,13 +344,13 @@ func (cp *XRPLChainProvider) prepareTransaction(
342344
fee := decimal.NullDecimal{}
343345
balanceDelta := decimal.NullDecimal{}
344346

345-
// Convert fee from drops (string) to XRP decimal
347+
// Convert fee from drops (string) to XRP decimal, scaled by 10^12 to match EVM wei
346348
if txResult.Fee != "" {
347349
feeDecimal, err := decimal.NewFromString(txResult.Fee)
348350
if err != nil {
349351
log.Error("Failed to parse fee", "fee", txResult.Fee, "retry_count", retryCount, err)
350352
} else {
351-
fee = decimal.NewNullDecimal(feeDecimal.Shift(-6))
353+
fee = decimal.NewNullDecimal(feeDecimal.Mul(decimal.NewFromInt(1).Shift(xrplToWeiExp)))
352354
}
353355
}
354356

@@ -363,7 +365,7 @@ func (cp *XRPLChainProvider) prepareTransaction(
363365
WithChainName(cp.ChainName), err.Error())
364366
} else {
365367
diff := new(big.Int).Sub(newBalance, oldBalance)
366-
balanceDelta = decimal.NewNullDecimal(decimal.NewFromBigInt(diff, -6))
368+
balanceDelta = decimal.NewNullDecimal(decimal.NewFromBigInt(diff, xrplToWeiExp))
367369
alert.HandleReset(cp.Alert, alert.NewTopic(alert.GetBalanceErrorMsg).
368370
WithTunnelID(packet.TunnelID).
369371
WithChainName(cp.ChainName))

0 commit comments

Comments
 (0)