Skip to content

Commit f340f63

Browse files
author
gitopia1c2zfrmhra3spfrc2m5ft64hef30guf60lvtcm3
committed
Merge pull request #15 from git-remote-gitopia/fix-os-keyring-feegrant-regression-error
2 parents 052abbd + b4bf5e7 commit f340f63

File tree

4 files changed

+26
-13
lines changed

4 files changed

+26
-13
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
All notable changes will be documented here.
44

5-
## [v1.7.0] - UNRELEASED
5+
## [v1.7.0] - 2023-07-29
66

77
- Command to initialize lfs config
88
- `git gitopia lfs init <remote_name>`
99
- Performance improvements in fetch
1010
- Show progress in fetch and push
11+
- Give priority to wallet balance over feegrant
1112

1213
## [v1.6.0] - 2023-06-07
1314

core/wallet/gitopia_wallet.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,21 +87,25 @@ func InitGitopiaWallet(bankClient banktypes.QueryClient, feegrantClient feegrant
8787
gw.address = sdk.AccAddress(gw.privateKey.PubKey().Address()).String()
8888

8989
if bankClient != nil && feegrantClient != nil {
90-
b, _ := bankClient.Balance(context.Background(), &banktypes.QueryBalanceRequest{
90+
b, err := bankClient.Balance(context.Background(), &banktypes.QueryBalanceRequest{
9191
Address: gw.address,
9292
Denom: config.Denom,
9393
})
94+
if err != nil {
95+
return nil, errors.New("error querying for balance")
96+
}
9497

9598
// Use fee grant only when balance is zero
9699
if b.Balance.Amount.IsZero() {
97100
fr, _ := feegrantClient.Allowance(context.Background(), &feegrant.QueryAllowanceRequest{
98101
Granter: config.FeeGranterAddr,
99102
Grantee: gw.address,
100103
})
101-
102-
if fr != nil {
103-
gw.feeGranterAddr = fr.Allowance.Granter
104+
if fr == nil {
105+
return nil, errors.New("no feegrant available")
104106
}
107+
108+
gw.feeGranterAddr = fr.Allowance.Granter
105109
}
106110
}
107111

core/wallet/ledger.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,21 +53,25 @@ func InitLedgerWallet(bankClient banktypes.QueryClient, feegrantClient feegrant.
5353

5454
feeGranter := ""
5555
if bankClient != nil && feegrantClient != nil {
56-
b, _ := bankClient.Balance(context.Background(), &banktypes.QueryBalanceRequest{
56+
b, err := bankClient.Balance(context.Background(), &banktypes.QueryBalanceRequest{
5757
Address: addr,
5858
Denom: config.Denom,
5959
})
60+
if err != nil {
61+
return nil, errors.New("error querying for balance")
62+
}
6063

6164
// Use fee grant only when balance is zero
6265
if b.Balance.Amount.IsZero() {
6366
fr, _ := feegrantClient.Allowance(context.Background(), &feegrant.QueryAllowanceRequest{
6467
Granter: config.FeeGranterAddr,
6568
Grantee: addr,
6669
})
67-
68-
if fr != nil {
69-
feeGranter = fr.Allowance.Granter
70+
if fr == nil {
71+
return nil, errors.New("no feegrant available")
7072
}
73+
74+
feeGranter = fr.Allowance.Granter
7175
}
7276
}
7377

core/wallet/os_keyring.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,21 +97,25 @@ func InitOSKeyringWallet(bankClient banktypes.QueryClient, feegrantClient feegra
9797
}
9898

9999
if bankClient != nil && feegrantClient != nil {
100-
b, _ := bankClient.Balance(context.Background(), &banktypes.QueryBalanceRequest{
100+
b, err := bankClient.Balance(context.Background(), &banktypes.QueryBalanceRequest{
101101
Address: cc.FromAddress.String(),
102102
Denom: config.Denom,
103103
})
104+
if err != nil {
105+
return nil, errors.New("error querying for balance")
106+
}
104107

105108
// Use fee grant only when balance is zero
106109
if b.Balance.Amount.IsZero() {
107110
fr, _ := feegrantClient.Allowance(context.Background(), &feegrant.QueryAllowanceRequest{
108111
Granter: config.FeeGranterAddr,
109112
Grantee: cc.FromAddress.String(),
110113
})
111-
112-
if fr != nil {
113-
cc.WithFeeGranterAddress(sdk.MustAccAddressFromBech32(fr.Allowance.Granter))
114+
if fr == nil {
115+
return nil, errors.New("no feegrant available")
114116
}
117+
118+
cc = cc.WithFeeGranterAddress(sdk.MustAccAddressFromBech32(fr.Allowance.Granter))
115119
}
116120
}
117121

0 commit comments

Comments
 (0)