@keplr-wallet/hooks 0.9.7 → 0.9.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/sign-doc/amount.d.ts +8 -5
- package/build/sign-doc/amount.js +58 -9
- package/build/sign-doc/amount.js.map +1 -1
- package/build/tx/fee.d.ts +3 -0
- package/build/tx/fee.js +16 -0
- package/build/tx/fee.js.map +1 -1
- package/build/tx/send-gas.d.ts +2 -3
- package/build/tx/send-gas.js +2 -0
- package/build/tx/send-gas.js.map +1 -1
- package/build/tx/send-tx.d.ts +2 -2
- package/build/tx/send-tx.js.map +1 -1
- package/package.json +9 -9
- package/src/sign-doc/amount.ts +61 -8
- package/src/tx/fee.ts +16 -0
- package/src/tx/send-gas.ts +9 -3
- package/src/tx/send-tx.ts +2 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { IAmountConfig } from "../tx";
|
|
2
|
-
import { TxChainSetter } from "../tx/chain";
|
|
1
|
+
import { IAmountConfig, TxChainSetter } from "../tx";
|
|
3
2
|
import { ChainGetter, CoinPrimitive, CosmosMsgOpts } from "@keplr-wallet/stores";
|
|
4
3
|
import { AppCurrency } from "@keplr-wallet/types";
|
|
5
4
|
import { SignDocHelper } from "./index";
|
|
@@ -7,12 +6,15 @@ import { Msg } from "@cosmjs/launchpad";
|
|
|
7
6
|
export declare class SignDocAmountConfig extends TxChainSetter implements IAmountConfig {
|
|
8
7
|
protected msgOpts: CosmosMsgOpts;
|
|
9
8
|
protected signDocHelper?: SignDocHelper;
|
|
10
|
-
|
|
9
|
+
protected _sender: string;
|
|
10
|
+
protected _disableBalanceCheck: boolean;
|
|
11
|
+
constructor(chainGetter: ChainGetter, initialChainId: string, msgOpts: CosmosMsgOpts, sender: string);
|
|
11
12
|
setMsgOpts(opts: CosmosMsgOpts): void;
|
|
12
13
|
setSignDocHelper(signDocHelper: SignDocHelper): void;
|
|
13
14
|
get amount(): string;
|
|
14
15
|
get sendCurrency(): AppCurrency;
|
|
15
16
|
get sendableCurrencies(): AppCurrency[];
|
|
17
|
+
setSender(sender: string): void;
|
|
16
18
|
get sender(): string;
|
|
17
19
|
getAmountPrimitive: () => CoinPrimitive;
|
|
18
20
|
protected computeAmountInAminoMsgs(msgs: readonly Msg[]): {
|
|
@@ -29,6 +31,7 @@ export declare class SignDocAmountConfig extends TxChainSetter implements IAmoun
|
|
|
29
31
|
get isMax(): boolean;
|
|
30
32
|
setAmount(): void;
|
|
31
33
|
setSendCurrency(): void;
|
|
32
|
-
|
|
34
|
+
setDisableBalanceCheck(bool: boolean): void;
|
|
35
|
+
get disableBalanceCheck(): boolean;
|
|
33
36
|
}
|
|
34
|
-
export declare const useSignDocAmountConfig: (chainGetter: ChainGetter, chainId: string, msgOpts: CosmosMsgOpts) => SignDocAmountConfig;
|
|
37
|
+
export declare const useSignDocAmountConfig: (chainGetter: ChainGetter, chainId: string, msgOpts: CosmosMsgOpts, sender: string) => SignDocAmountConfig;
|
package/build/sign-doc/amount.js
CHANGED
|
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.useSignDocAmountConfig = exports.SignDocAmountConfig = void 0;
|
|
10
|
-
const
|
|
10
|
+
const tx_1 = require("../tx");
|
|
11
11
|
const mobx_1 = require("mobx");
|
|
12
12
|
const unit_1 = require("@keplr-wallet/unit");
|
|
13
13
|
const react_1 = require("react");
|
|
@@ -16,13 +16,15 @@ const cosmos_1 = require("@keplr-wallet/cosmos");
|
|
|
16
16
|
// This config helps the fee config to calculate that the fee is enough to send with considering
|
|
17
17
|
// the amount in the sign doc.
|
|
18
18
|
// This sets the amount as the sum of the messages in the sign doc if the message is known and can be parsed.
|
|
19
|
-
class SignDocAmountConfig extends
|
|
20
|
-
constructor(chainGetter, initialChainId, msgOpts) {
|
|
19
|
+
class SignDocAmountConfig extends tx_1.TxChainSetter {
|
|
20
|
+
constructor(chainGetter, initialChainId, msgOpts, sender) {
|
|
21
21
|
super(chainGetter, initialChainId);
|
|
22
22
|
this.signDocHelper = undefined;
|
|
23
|
+
this._disableBalanceCheck = false;
|
|
23
24
|
this.getAmountPrimitive = mobx_utils_1.computedFn(() => {
|
|
24
25
|
var _a;
|
|
25
|
-
if (
|
|
26
|
+
if (this.disableBalanceCheck ||
|
|
27
|
+
!((_a = this.signDocHelper) === null || _a === void 0 ? void 0 : _a.signDocWrapper) ||
|
|
26
28
|
this.chainInfo.feeCurrencies.length === 0) {
|
|
27
29
|
return {
|
|
28
30
|
amount: "0",
|
|
@@ -37,6 +39,7 @@ class SignDocAmountConfig extends chain_1.TxChainSetter {
|
|
|
37
39
|
}
|
|
38
40
|
});
|
|
39
41
|
this.msgOpts = msgOpts;
|
|
42
|
+
this._sender = sender;
|
|
40
43
|
mobx_1.makeObservable(this);
|
|
41
44
|
}
|
|
42
45
|
setMsgOpts(opts) {
|
|
@@ -59,8 +62,11 @@ class SignDocAmountConfig extends chain_1.TxChainSetter {
|
|
|
59
62
|
get sendableCurrencies() {
|
|
60
63
|
return [this.sendCurrency];
|
|
61
64
|
}
|
|
65
|
+
setSender(sender) {
|
|
66
|
+
this._sender = sender;
|
|
67
|
+
}
|
|
62
68
|
get sender() {
|
|
63
|
-
return
|
|
69
|
+
return this._sender;
|
|
64
70
|
}
|
|
65
71
|
computeAmountInAminoMsgs(msgs) {
|
|
66
72
|
const amount = new unit_1.Coin(this.sendCurrency.coinMinimalDenom, new unit_1.Int(0));
|
|
@@ -68,6 +74,13 @@ class SignDocAmountConfig extends chain_1.TxChainSetter {
|
|
|
68
74
|
try {
|
|
69
75
|
switch (msg.type) {
|
|
70
76
|
case this.msgOpts.send.native.type:
|
|
77
|
+
if (msg.value.from_address &&
|
|
78
|
+
msg.value.from_address !== this.sender) {
|
|
79
|
+
return {
|
|
80
|
+
amount: "0",
|
|
81
|
+
denom: this.sendCurrency.coinMinimalDenom,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
71
84
|
if (msg.value.amount && Array.isArray(msg.value.amount)) {
|
|
72
85
|
for (const amountInMsg of msg.value.amount) {
|
|
73
86
|
if (amountInMsg.denom === amount.denom) {
|
|
@@ -77,6 +90,13 @@ class SignDocAmountConfig extends chain_1.TxChainSetter {
|
|
|
77
90
|
}
|
|
78
91
|
break;
|
|
79
92
|
case this.msgOpts.delegate.type:
|
|
93
|
+
if (msg.value.delegator_address &&
|
|
94
|
+
msg.value.delegator_address !== this.sender) {
|
|
95
|
+
return {
|
|
96
|
+
amount: "0",
|
|
97
|
+
denom: this.sendCurrency.coinMinimalDenom,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
80
100
|
if (msg.value.amount && msg.value.amount.denom === amount.denom) {
|
|
81
101
|
amount.amount = amount.amount.add(new unit_1.Int(msg.value.amount.amount));
|
|
82
102
|
}
|
|
@@ -100,6 +120,12 @@ class SignDocAmountConfig extends chain_1.TxChainSetter {
|
|
|
100
120
|
switch (msg.constructor) {
|
|
101
121
|
case cosmos_1.cosmos.bank.v1beta1.MsgSend:
|
|
102
122
|
const sendMsg = msg;
|
|
123
|
+
if (sendMsg.fromAddress && sendMsg.fromAddress !== this.sender) {
|
|
124
|
+
return {
|
|
125
|
+
amount: "0",
|
|
126
|
+
denom: this.sendCurrency.coinMinimalDenom,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
103
129
|
for (const amountInMsg of sendMsg.amount) {
|
|
104
130
|
if (amountInMsg.denom === amount.denom && amountInMsg.amount) {
|
|
105
131
|
amount.amount = amount.amount.add(new unit_1.Int(amountInMsg.amount));
|
|
@@ -108,6 +134,13 @@ class SignDocAmountConfig extends chain_1.TxChainSetter {
|
|
|
108
134
|
break;
|
|
109
135
|
case cosmos_1.cosmos.staking.v1beta1.MsgDelegate:
|
|
110
136
|
const delegateMsg = msg;
|
|
137
|
+
if (delegateMsg.delegatorAddress &&
|
|
138
|
+
delegateMsg.delegatorAddress !== this.sender) {
|
|
139
|
+
return {
|
|
140
|
+
amount: "0",
|
|
141
|
+
denom: this.sendCurrency.coinMinimalDenom,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
111
144
|
if (((_a = delegateMsg.amount) === null || _a === void 0 ? void 0 : _a.denom) === amount.denom &&
|
|
112
145
|
delegateMsg.amount.amount) {
|
|
113
146
|
amount.amount = amount.amount.add(new unit_1.Int(delegateMsg.amount.amount));
|
|
@@ -143,8 +176,11 @@ class SignDocAmountConfig extends chain_1.TxChainSetter {
|
|
|
143
176
|
setSendCurrency() {
|
|
144
177
|
// noop
|
|
145
178
|
}
|
|
146
|
-
|
|
147
|
-
|
|
179
|
+
setDisableBalanceCheck(bool) {
|
|
180
|
+
this._disableBalanceCheck = bool;
|
|
181
|
+
}
|
|
182
|
+
get disableBalanceCheck() {
|
|
183
|
+
return this._disableBalanceCheck;
|
|
148
184
|
}
|
|
149
185
|
}
|
|
150
186
|
__decorate([
|
|
@@ -153,6 +189,12 @@ __decorate([
|
|
|
153
189
|
__decorate([
|
|
154
190
|
mobx_1.observable.ref
|
|
155
191
|
], SignDocAmountConfig.prototype, "signDocHelper", void 0);
|
|
192
|
+
__decorate([
|
|
193
|
+
mobx_1.observable
|
|
194
|
+
], SignDocAmountConfig.prototype, "_sender", void 0);
|
|
195
|
+
__decorate([
|
|
196
|
+
mobx_1.observable
|
|
197
|
+
], SignDocAmountConfig.prototype, "_disableBalanceCheck", void 0);
|
|
156
198
|
__decorate([
|
|
157
199
|
mobx_1.action
|
|
158
200
|
], SignDocAmountConfig.prototype, "setMsgOpts", null);
|
|
@@ -162,11 +204,18 @@ __decorate([
|
|
|
162
204
|
__decorate([
|
|
163
205
|
mobx_1.computed
|
|
164
206
|
], SignDocAmountConfig.prototype, "amount", null);
|
|
207
|
+
__decorate([
|
|
208
|
+
mobx_1.action
|
|
209
|
+
], SignDocAmountConfig.prototype, "setSender", null);
|
|
210
|
+
__decorate([
|
|
211
|
+
mobx_1.action
|
|
212
|
+
], SignDocAmountConfig.prototype, "setDisableBalanceCheck", null);
|
|
165
213
|
exports.SignDocAmountConfig = SignDocAmountConfig;
|
|
166
|
-
const useSignDocAmountConfig = (chainGetter, chainId, msgOpts) => {
|
|
167
|
-
const [config] = react_1.useState(() => new SignDocAmountConfig(chainGetter, chainId, msgOpts));
|
|
214
|
+
const useSignDocAmountConfig = (chainGetter, chainId, msgOpts, sender) => {
|
|
215
|
+
const [config] = react_1.useState(() => new SignDocAmountConfig(chainGetter, chainId, msgOpts, sender));
|
|
168
216
|
config.setChain(chainId);
|
|
169
217
|
config.setMsgOpts(msgOpts);
|
|
218
|
+
config.setSender(sender);
|
|
170
219
|
return config;
|
|
171
220
|
};
|
|
172
221
|
exports.useSignDocAmountConfig = useSignDocAmountConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amount.js","sourceRoot":"","sources":["../../src/sign-doc/amount.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"amount.js","sourceRoot":"","sources":["../../src/sign-doc/amount.ts"],"names":[],"mappings":"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"}
|
package/build/tx/fee.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare class FeeConfig extends TxChainSetter implements IFeeConfig {
|
|
|
20
20
|
* @protected
|
|
21
21
|
*/
|
|
22
22
|
protected additionAmountToNeedFee: boolean;
|
|
23
|
+
protected _disableBalanceCheck: boolean;
|
|
23
24
|
constructor(chainGetter: ChainGetter, initialChainId: string, sender: string, queryBalances: ObservableQueryBalances, amountConfig: IAmountConfig, gasConfig: IGasConfig, additionAmountToNeedFee?: boolean);
|
|
24
25
|
setAdditionAmountToNeedFee(additionAmountToNeedFee: boolean): void;
|
|
25
26
|
setQueryBalances(queryBalances: ObservableQueryBalances): void;
|
|
@@ -36,5 +37,7 @@ export declare class FeeConfig extends TxChainSetter implements IFeeConfig {
|
|
|
36
37
|
protected getFeeTypePrimitive(feeType: FeeType): CoinPrimitive;
|
|
37
38
|
readonly getFeeTypePretty: (feeType: FeeType) => CoinPretty;
|
|
38
39
|
getError(): Error | undefined;
|
|
40
|
+
setDisableBalanceCheck(bool: boolean): void;
|
|
41
|
+
get disableBalanceCheck(): boolean;
|
|
39
42
|
}
|
|
40
43
|
export declare const useFeeConfig: (chainGetter: ChainGetter, chainId: string, sender: string, queryBalances: ObservableQueryBalances, amountConfig: IAmountConfig, gasConfig: IGasConfig, additionAmountToNeedFee?: boolean) => FeeConfig;
|
package/build/tx/fee.js
CHANGED
|
@@ -29,6 +29,7 @@ class FeeConfig extends chain_1.TxChainSetter {
|
|
|
29
29
|
* @protected
|
|
30
30
|
*/
|
|
31
31
|
this.additionAmountToNeedFee = true;
|
|
32
|
+
this._disableBalanceCheck = false;
|
|
32
33
|
this.getFeeTypePretty = mobx_utils_1.computedFn((feeType) => {
|
|
33
34
|
if (!this.feeCurrency) {
|
|
34
35
|
throw new Error("Fee currency not set");
|
|
@@ -128,6 +129,9 @@ class FeeConfig extends chain_1.TxChainSetter {
|
|
|
128
129
|
if (this.gasConfig.getError()) {
|
|
129
130
|
return this.gasConfig.getError();
|
|
130
131
|
}
|
|
132
|
+
if (this.disableBalanceCheck) {
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
131
135
|
const fee = this.getFeePrimitive();
|
|
132
136
|
if (!fee) {
|
|
133
137
|
return undefined;
|
|
@@ -163,6 +167,12 @@ class FeeConfig extends chain_1.TxChainSetter {
|
|
|
163
167
|
}
|
|
164
168
|
}
|
|
165
169
|
}
|
|
170
|
+
setDisableBalanceCheck(bool) {
|
|
171
|
+
this._disableBalanceCheck = bool;
|
|
172
|
+
}
|
|
173
|
+
get disableBalanceCheck() {
|
|
174
|
+
return this._disableBalanceCheck;
|
|
175
|
+
}
|
|
166
176
|
}
|
|
167
177
|
__decorate([
|
|
168
178
|
mobx_1.observable.ref
|
|
@@ -179,6 +189,9 @@ __decorate([
|
|
|
179
189
|
__decorate([
|
|
180
190
|
mobx_1.observable
|
|
181
191
|
], FeeConfig.prototype, "additionAmountToNeedFee", void 0);
|
|
192
|
+
__decorate([
|
|
193
|
+
mobx_1.observable
|
|
194
|
+
], FeeConfig.prototype, "_disableBalanceCheck", void 0);
|
|
182
195
|
__decorate([
|
|
183
196
|
mobx_1.action
|
|
184
197
|
], FeeConfig.prototype, "setAdditionAmountToNeedFee", null);
|
|
@@ -197,6 +210,9 @@ __decorate([
|
|
|
197
210
|
__decorate([
|
|
198
211
|
mobx_1.computed
|
|
199
212
|
], FeeConfig.prototype, "fee", null);
|
|
213
|
+
__decorate([
|
|
214
|
+
mobx_1.action
|
|
215
|
+
], FeeConfig.prototype, "setDisableBalanceCheck", null);
|
|
200
216
|
exports.FeeConfig = FeeConfig;
|
|
201
217
|
const useFeeConfig = (chainGetter, chainId, sender, queryBalances, amountConfig, gasConfig, additionAmountToNeedFee = true) => {
|
|
202
218
|
const [config] = react_1.useState(() => new FeeConfig(chainGetter, chainId, sender, queryBalances, amountConfig, gasConfig, additionAmountToNeedFee));
|
package/build/tx/fee.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../src/tx/fee.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mCAMiB;AACjB,mCAAwC;AAExC,+BAAoE;AACpE,6CAA0E;AAE1E,2CAAwC;AAExC,iCAAiC;AAEjC,qCAAmE;AAEnE,MAAa,SAAU,SAAQ,qBAAa;
|
|
1
|
+
{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../src/tx/fee.ts"],"names":[],"mappings":"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"}
|
package/build/tx/send-gas.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { GasConfig } from "./gas";
|
|
2
|
-
import { ChainGetter } from "@keplr-wallet/stores";
|
|
2
|
+
import { ChainGetter, CosmosMsgOpts, SecretMsgOpts, CosmwasmMsgOpts } from "@keplr-wallet/stores";
|
|
3
3
|
import { IAmountConfig } from "./types";
|
|
4
|
-
|
|
5
|
-
declare type MsgOpts = CosmosMsgOpts & SecretMsgOpts;
|
|
4
|
+
declare type MsgOpts = CosmosMsgOpts & SecretMsgOpts & CosmwasmMsgOpts;
|
|
6
5
|
export declare class SendGasConfig extends GasConfig {
|
|
7
6
|
protected readonly amountConfig: IAmountConfig;
|
|
8
7
|
protected sendMsgOpts: MsgOpts["send"];
|
package/build/tx/send-gas.js
CHANGED
package/build/tx/send-gas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-gas.js","sourceRoot":"","sources":["../../src/tx/send-gas.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAAkC;AAClC,iDAAmD;
|
|
1
|
+
{"version":3,"file":"send-gas.js","sourceRoot":"","sources":["../../src/tx/send-gas.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAAkC;AAClC,iDAAmD;AAQnD,iCAAiC;AACjC,+BAA0D;AAI1D,MAAa,aAAc,SAAQ,eAAS;IAI1C,YACE,WAAwB,EACxB,cAAsB,EACH,YAA2B,EAC9C,WAA4B;QAE5B,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAHhB,iBAAY,GAAZ,YAAY,CAAe;QAK9C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,qBAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAGD,cAAc,CAAC,IAAqB;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,GAAG;QACL,8DAA8D;QAC9D,2DAA2D;QAC3D,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YACpD,MAAM,WAAW,GAAG,IAAI,oBAAW,CACjC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,gBAAgB,CAChD,CAAC;YAEF,QAAQ,WAAW,CAAC,IAAI,EAAE;gBACxB,KAAK,UAAU;oBACb,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACvC,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;gBACnC;oBACE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;aACtC;SACF;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AAxCC;IADC,iBAAU,CAAC,GAAG;kDACwB;AAgBvC;IADC,aAAM;mDAGN;AApBH,sCA0CC;AAEM,MAAM,gBAAgB,GAAG,CAC9B,WAAwB,EACxB,OAAe,EACf,YAA2B,EAC3B,WAA4B,EAC5B,EAAE;IACF,MAAM,CAAC,SAAS,CAAC,GAAG,gBAAQ,CAC1B,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CACzE,CAAC;IACF,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAEtC,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAbW,QAAA,gBAAgB,oBAa3B"}
|
package/build/tx/send-tx.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ChainGetter, CosmosMsgOpts, SecretMsgOpts } from "@keplr-wallet/stores";
|
|
1
|
+
import { ChainGetter, CosmosMsgOpts, CosmwasmMsgOpts, SecretMsgOpts } from "@keplr-wallet/stores";
|
|
2
2
|
import { ObservableQueryBalances } from "@keplr-wallet/stores/build/query/balances";
|
|
3
|
-
declare type MsgOpts = CosmosMsgOpts & SecretMsgOpts;
|
|
3
|
+
declare type MsgOpts = CosmosMsgOpts & SecretMsgOpts & CosmwasmMsgOpts;
|
|
4
4
|
export declare const useSendTxConfig: (chainGetter: ChainGetter, chainId: string, sendMsgOpts: MsgOpts["send"], sender: string, queryBalances: ObservableQueryBalances, ensEndpoint?: string | undefined) => {
|
|
5
5
|
amountConfig: import("./amount").AmountConfig;
|
|
6
6
|
memoConfig: import("./memo").MemoConfig;
|
package/build/tx/send-tx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-tx.js","sourceRoot":"","sources":["../../src/tx/send-tx.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"send-tx.js","sourceRoot":"","sources":["../../src/tx/send-tx.ts"],"names":[],"mappings":";;;AAOA,mCAA0E;AAC1E,yCAA8C;AAC9C,qCAA2C;AAIpC,MAAM,eAAe,GAAG,CAC7B,WAAwB,EACxB,OAAe,EACf,WAA4B,EAC5B,MAAc,EACd,aAAsC,EACtC,WAAoB,EACpB,EAAE;IACF,MAAM,YAAY,GAAG,wBAAe,CAClC,WAAW,EACX,OAAO,EACP,MAAM,EACN,aAAa,CACd,CAAC;IAEF,MAAM,UAAU,GAAG,qBAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,2BAAgB,CAChC,WAAW,EACX,OAAO,EACP,YAAY,EACZ,WAAW,CACZ,CAAC;IACF,MAAM,SAAS,GAAG,oBAAY,CAC5B,WAAW,EACX,OAAO,EACP,MAAM,EACN,aAAa,EACb,YAAY,EACZ,SAAS,CACV,CAAC;IACF,gFAAgF;IAChF,6EAA6E;IAC7E,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,eAAe,GAAG,0BAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAE9E,OAAO;QACL,YAAY;QACZ,UAAU;QACV,SAAS;QACT,SAAS;QACT,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,eAAe,mBA2C1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keplr-wallet/hooks",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.9",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"author": "chainapsis",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@cosmjs/launchpad": "^0.24.0-alpha.25",
|
|
24
|
-
"@keplr-wallet/background": "^0.9.
|
|
25
|
-
"@keplr-wallet/common": "^0.9.
|
|
26
|
-
"@keplr-wallet/cosmos": "^0.9.
|
|
27
|
-
"@keplr-wallet/crypto": "^0.9.
|
|
24
|
+
"@keplr-wallet/background": "^0.9.9",
|
|
25
|
+
"@keplr-wallet/common": "^0.9.9",
|
|
26
|
+
"@keplr-wallet/cosmos": "^0.9.9",
|
|
27
|
+
"@keplr-wallet/crypto": "^0.9.9",
|
|
28
28
|
"@keplr-wallet/ens": "^0.9.0",
|
|
29
29
|
"@keplr-wallet/popup": "^0.9.6",
|
|
30
|
-
"@keplr-wallet/stores": "^0.9.
|
|
31
|
-
"@keplr-wallet/types": "^0.9.
|
|
32
|
-
"@keplr-wallet/unit": "^0.9.
|
|
30
|
+
"@keplr-wallet/stores": "^0.9.9",
|
|
31
|
+
"@keplr-wallet/types": "^0.9.9",
|
|
32
|
+
"@keplr-wallet/unit": "^0.9.9",
|
|
33
33
|
"long": "^4.0.0",
|
|
34
34
|
"mobx": "^6.1.7",
|
|
35
35
|
"mobx-utils": "^6.0.3",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"react-router": "^5.1.2",
|
|
38
38
|
"utility-types": "^3.10.0"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "ead06cf2f414219770f0e27a8ab69d166a392b27"
|
|
41
41
|
}
|
package/src/sign-doc/amount.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { IAmountConfig } from "../tx";
|
|
2
|
-
import { TxChainSetter } from "../tx/chain";
|
|
1
|
+
import { IAmountConfig, TxChainSetter } from "../tx";
|
|
3
2
|
import {
|
|
4
3
|
ChainGetter,
|
|
5
4
|
CoinPrimitive,
|
|
@@ -26,14 +25,22 @@ export class SignDocAmountConfig
|
|
|
26
25
|
@observable.ref
|
|
27
26
|
protected signDocHelper?: SignDocHelper = undefined;
|
|
28
27
|
|
|
28
|
+
@observable
|
|
29
|
+
protected _sender: string;
|
|
30
|
+
|
|
31
|
+
@observable
|
|
32
|
+
protected _disableBalanceCheck: boolean = false;
|
|
33
|
+
|
|
29
34
|
constructor(
|
|
30
35
|
chainGetter: ChainGetter,
|
|
31
36
|
initialChainId: string,
|
|
32
|
-
msgOpts: CosmosMsgOpts
|
|
37
|
+
msgOpts: CosmosMsgOpts,
|
|
38
|
+
sender: string
|
|
33
39
|
) {
|
|
34
40
|
super(chainGetter, initialChainId);
|
|
35
41
|
|
|
36
42
|
this.msgOpts = msgOpts;
|
|
43
|
+
this._sender = sender;
|
|
37
44
|
|
|
38
45
|
makeObservable(this);
|
|
39
46
|
}
|
|
@@ -71,13 +78,19 @@ export class SignDocAmountConfig
|
|
|
71
78
|
return [this.sendCurrency];
|
|
72
79
|
}
|
|
73
80
|
|
|
81
|
+
@action
|
|
82
|
+
setSender(sender: string): void {
|
|
83
|
+
this._sender = sender;
|
|
84
|
+
}
|
|
85
|
+
|
|
74
86
|
get sender(): string {
|
|
75
|
-
return
|
|
87
|
+
return this._sender;
|
|
76
88
|
}
|
|
77
89
|
|
|
78
90
|
getAmountPrimitive = computedFn(
|
|
79
91
|
(): CoinPrimitive => {
|
|
80
92
|
if (
|
|
93
|
+
this.disableBalanceCheck ||
|
|
81
94
|
!this.signDocHelper?.signDocWrapper ||
|
|
82
95
|
this.chainInfo.feeCurrencies.length === 0
|
|
83
96
|
) {
|
|
@@ -106,6 +119,15 @@ export class SignDocAmountConfig
|
|
|
106
119
|
try {
|
|
107
120
|
switch (msg.type) {
|
|
108
121
|
case this.msgOpts.send.native.type:
|
|
122
|
+
if (
|
|
123
|
+
msg.value.from_address &&
|
|
124
|
+
msg.value.from_address !== this.sender
|
|
125
|
+
) {
|
|
126
|
+
return {
|
|
127
|
+
amount: "0",
|
|
128
|
+
denom: this.sendCurrency.coinMinimalDenom,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
109
131
|
if (msg.value.amount && Array.isArray(msg.value.amount)) {
|
|
110
132
|
for (const amountInMsg of msg.value.amount) {
|
|
111
133
|
if (amountInMsg.denom === amount.denom) {
|
|
@@ -117,6 +139,15 @@ export class SignDocAmountConfig
|
|
|
117
139
|
}
|
|
118
140
|
break;
|
|
119
141
|
case this.msgOpts.delegate.type:
|
|
142
|
+
if (
|
|
143
|
+
msg.value.delegator_address &&
|
|
144
|
+
msg.value.delegator_address !== this.sender
|
|
145
|
+
) {
|
|
146
|
+
return {
|
|
147
|
+
amount: "0",
|
|
148
|
+
denom: this.sendCurrency.coinMinimalDenom,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
120
151
|
if (msg.value.amount && msg.value.amount.denom === amount.denom) {
|
|
121
152
|
amount.amount = amount.amount.add(
|
|
122
153
|
new Int(msg.value.amount.amount)
|
|
@@ -145,6 +176,12 @@ export class SignDocAmountConfig
|
|
|
145
176
|
switch (msg.constructor) {
|
|
146
177
|
case cosmos.bank.v1beta1.MsgSend:
|
|
147
178
|
const sendMsg = msg as cosmos.bank.v1beta1.MsgSend;
|
|
179
|
+
if (sendMsg.fromAddress && sendMsg.fromAddress !== this.sender) {
|
|
180
|
+
return {
|
|
181
|
+
amount: "0",
|
|
182
|
+
denom: this.sendCurrency.coinMinimalDenom,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
148
185
|
for (const amountInMsg of sendMsg.amount) {
|
|
149
186
|
if (amountInMsg.denom === amount.denom && amountInMsg.amount) {
|
|
150
187
|
amount.amount = amount.amount.add(new Int(amountInMsg.amount));
|
|
@@ -153,6 +190,15 @@ export class SignDocAmountConfig
|
|
|
153
190
|
break;
|
|
154
191
|
case cosmos.staking.v1beta1.MsgDelegate:
|
|
155
192
|
const delegateMsg = msg as cosmos.staking.v1beta1.MsgDelegate;
|
|
193
|
+
if (
|
|
194
|
+
delegateMsg.delegatorAddress &&
|
|
195
|
+
delegateMsg.delegatorAddress !== this.sender
|
|
196
|
+
) {
|
|
197
|
+
return {
|
|
198
|
+
amount: "0",
|
|
199
|
+
denom: this.sendCurrency.coinMinimalDenom,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
156
202
|
if (
|
|
157
203
|
delegateMsg.amount?.denom === amount.denom &&
|
|
158
204
|
delegateMsg.amount.amount
|
|
@@ -200,21 +246,28 @@ export class SignDocAmountConfig
|
|
|
200
246
|
// noop
|
|
201
247
|
}
|
|
202
248
|
|
|
203
|
-
|
|
204
|
-
|
|
249
|
+
@action
|
|
250
|
+
setDisableBalanceCheck(bool: boolean) {
|
|
251
|
+
this._disableBalanceCheck = bool;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
get disableBalanceCheck(): boolean {
|
|
255
|
+
return this._disableBalanceCheck;
|
|
205
256
|
}
|
|
206
257
|
}
|
|
207
258
|
|
|
208
259
|
export const useSignDocAmountConfig = (
|
|
209
260
|
chainGetter: ChainGetter,
|
|
210
261
|
chainId: string,
|
|
211
|
-
msgOpts: CosmosMsgOpts
|
|
262
|
+
msgOpts: CosmosMsgOpts,
|
|
263
|
+
sender: string
|
|
212
264
|
) => {
|
|
213
265
|
const [config] = useState(
|
|
214
|
-
() => new SignDocAmountConfig(chainGetter, chainId, msgOpts)
|
|
266
|
+
() => new SignDocAmountConfig(chainGetter, chainId, msgOpts, sender)
|
|
215
267
|
);
|
|
216
268
|
config.setChain(chainId);
|
|
217
269
|
config.setMsgOpts(msgOpts);
|
|
270
|
+
config.setSender(sender);
|
|
218
271
|
|
|
219
272
|
return config;
|
|
220
273
|
};
|
package/src/tx/fee.ts
CHANGED
|
@@ -39,6 +39,9 @@ export class FeeConfig extends TxChainSetter implements IFeeConfig {
|
|
|
39
39
|
@observable
|
|
40
40
|
protected additionAmountToNeedFee: boolean = true;
|
|
41
41
|
|
|
42
|
+
@observable
|
|
43
|
+
protected _disableBalanceCheck: boolean = false;
|
|
44
|
+
|
|
42
45
|
constructor(
|
|
43
46
|
chainGetter: ChainGetter,
|
|
44
47
|
initialChainId: string,
|
|
@@ -183,6 +186,10 @@ export class FeeConfig extends TxChainSetter implements IFeeConfig {
|
|
|
183
186
|
return this.gasConfig.getError();
|
|
184
187
|
}
|
|
185
188
|
|
|
189
|
+
if (this.disableBalanceCheck) {
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
|
|
186
193
|
const fee = this.getFeePrimitive();
|
|
187
194
|
if (!fee) {
|
|
188
195
|
return undefined;
|
|
@@ -226,6 +233,15 @@ export class FeeConfig extends TxChainSetter implements IFeeConfig {
|
|
|
226
233
|
}
|
|
227
234
|
}
|
|
228
235
|
}
|
|
236
|
+
|
|
237
|
+
@action
|
|
238
|
+
setDisableBalanceCheck(bool: boolean) {
|
|
239
|
+
this._disableBalanceCheck = bool;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
get disableBalanceCheck(): boolean {
|
|
243
|
+
return this._disableBalanceCheck;
|
|
244
|
+
}
|
|
229
245
|
}
|
|
230
246
|
|
|
231
247
|
export const useFeeConfig = (
|
package/src/tx/send-gas.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { GasConfig } from "./gas";
|
|
2
2
|
import { DenomHelper } from "@keplr-wallet/common";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
ChainGetter,
|
|
5
|
+
CosmosMsgOpts,
|
|
6
|
+
SecretMsgOpts,
|
|
7
|
+
CosmwasmMsgOpts,
|
|
8
|
+
} from "@keplr-wallet/stores";
|
|
4
9
|
import { IAmountConfig } from "./types";
|
|
5
10
|
import { useState } from "react";
|
|
6
|
-
import { CosmosMsgOpts, SecretMsgOpts } from "@keplr-wallet/stores";
|
|
7
11
|
import { action, makeObservable, observable } from "mobx";
|
|
8
12
|
|
|
9
|
-
type MsgOpts = CosmosMsgOpts & SecretMsgOpts;
|
|
13
|
+
type MsgOpts = CosmosMsgOpts & SecretMsgOpts & CosmwasmMsgOpts;
|
|
10
14
|
|
|
11
15
|
export class SendGasConfig extends GasConfig {
|
|
12
16
|
@observable.ref
|
|
@@ -41,6 +45,8 @@ export class SendGasConfig extends GasConfig {
|
|
|
41
45
|
switch (denomHelper.type) {
|
|
42
46
|
case "secret20":
|
|
43
47
|
return this.sendMsgOpts.secret20.gas;
|
|
48
|
+
case "cw20":
|
|
49
|
+
return this.sendMsgOpts.cw20.gas;
|
|
44
50
|
default:
|
|
45
51
|
return this.sendMsgOpts.native.gas;
|
|
46
52
|
}
|
package/src/tx/send-tx.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ChainGetter,
|
|
3
3
|
CosmosMsgOpts,
|
|
4
|
+
CosmwasmMsgOpts,
|
|
4
5
|
SecretMsgOpts,
|
|
5
6
|
} from "@keplr-wallet/stores";
|
|
6
7
|
import { ObservableQueryBalances } from "@keplr-wallet/stores/build/query/balances";
|
|
@@ -8,7 +9,7 @@ import { useFeeConfig, useMemoConfig, useRecipientConfig } from "./index";
|
|
|
8
9
|
import { useSendGasConfig } from "./send-gas";
|
|
9
10
|
import { useAmountConfig } from "./amount";
|
|
10
11
|
|
|
11
|
-
type MsgOpts = CosmosMsgOpts & SecretMsgOpts;
|
|
12
|
+
type MsgOpts = CosmosMsgOpts & SecretMsgOpts & CosmwasmMsgOpts;
|
|
12
13
|
|
|
13
14
|
export const useSendTxConfig = (
|
|
14
15
|
chainGetter: ChainGetter,
|