Skip to content
This repository was archived by the owner on Mar 19, 2025. It is now read-only.

Commit bb5d80a

Browse files
authored
Merge pull request #90 from sideprotocol/ping/feat/update-fee-rate
Ping/feat/update fee rate
2 parents e70c608 + 2e68c99 commit bb5d80a

File tree

6 files changed

+71
-36
lines changed

6 files changed

+71
-36
lines changed

local_node_dev.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#!/bin/bash
22

3-
KEYS=("dev0" "dev1" "dev2")
3+
KEYS=("validator" "user" "relayer")
44
CHAINID="devnet"
55
MONIKER="Side Labs"
66
BINARY="$HOME/go/bin/sided"
7-
DENOM_STR="uside,sat"
7+
DENOM_STR="uside,uusdt"
88
INITIAL_ACCOUNT_STR=""
99
set -f
1010
IFS=,

proto/side/btcbridge/tx.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ message MsgWithdrawBitcoinRequest {
9696
// withdraw amount in satoshi, etc: 100000000sat = 1btc
9797
string amount = 2;
9898
// fee rate in sats/vB
99-
int64 fee_rate = 3;
99+
string fee_rate = 3;
100100
}
101101

102102
// MsgWithdrawBitcoinResponse defines the Msg/WithdrawBitcoin response type.

x/btcbridge/keeper/keeper_withdraw.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,10 @@ func (k Keeper) NewSigningRequest(ctx sdk.Context, sender string, coin sdk.Coin,
7070
k.LockUTXOs(ctx, selectedUTXOs)
7171

7272
// save the change utxo and mark minted
73-
k.saveUTXO(ctx, changeUTXO)
74-
k.addToMintHistory(ctx, psbt.UnsignedTx.TxHash().String())
73+
if changeUTXO != nil {
74+
k.saveUTXO(ctx, changeUTXO)
75+
k.addToMintHistory(ctx, psbt.UnsignedTx.TxHash().String())
76+
}
7577

7678
signingRequest := &types.BitcoinSigningRequest{
7779
Address: sender,

x/btcbridge/keeper/msg_server.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bytes"
55
"context"
66
"encoding/base64"
7+
"strconv"
78

89
"github.com/btcsuite/btcd/btcutil/psbt"
910
sdk "github.com/cosmos/cosmos-sdk/types"
@@ -137,7 +138,11 @@ func (m msgServer) WithdrawBitcoin(goCtx context.Context, msg *types.MsgWithdraw
137138
return nil, err
138139
}
139140

140-
_, err = m.Keeper.NewSigningRequest(ctx, msg.Sender, coin, msg.FeeRate, "")
141+
feeRate, err := strconv.ParseInt(msg.FeeRate, 10, 64)
142+
if err != nil {
143+
return nil, err
144+
}
145+
_, err = m.Keeper.NewSigningRequest(ctx, msg.Sender, coin, feeRate, "")
141146
if err != nil {
142147
return nil, err
143148
}
@@ -170,6 +175,11 @@ func (m msgServer) SubmitWithdrawSignatures(goCtx context.Context, msg *types.Ms
170175
if err != nil {
171176
return nil, err
172177
}
178+
179+
if packet.UnsignedTx.TxHash().String() != msg.Txid {
180+
return nil, types.ErrInvalidSignatures
181+
}
182+
173183
if err = packet.SanityCheck(); err != nil {
174184
return nil, err
175185
}

x/btcbridge/types/message_withdraw_bitcoin.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package types
22

33
import (
4+
"strconv"
5+
46
sdkerrors "cosmossdk.io/errors"
57
sdk "github.com/cosmos/cosmos-sdk/types"
68
)
@@ -10,7 +12,7 @@ const TypeMsgWithdrawBitcoin = "withdraw_bitcoin"
1012
func NewMsgWithdrawBitcoinRequest(
1113
sender string,
1214
amount string,
13-
feeRate int64,
15+
feeRate string,
1416
) *MsgWithdrawBitcoinRequest {
1517
return &MsgWithdrawBitcoinRequest{
1618
Sender: sender,
@@ -56,7 +58,12 @@ func (msg *MsgWithdrawBitcoinRequest) ValidateBasic() error {
5658
return err
5759
}
5860

59-
if msg.FeeRate <= 0 {
61+
feeRate, err := strconv.ParseInt(msg.FeeRate, 10, 64)
62+
if err != nil {
63+
return err
64+
}
65+
66+
if feeRate <= 0 {
6067
return sdkerrors.Wrap(ErrInvalidFeeRate, "fee rate must be greater than zero")
6168
}
6269

x/btcbridge/types/tx.pb.go

Lines changed: 44 additions & 28 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)