@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.
@@ -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
- constructor(chainGetter: ChainGetter, initialChainId: string, msgOpts: CosmosMsgOpts);
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
- setSender(): void;
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;
@@ -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 chain_1 = require("../tx/chain");
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 chain_1.TxChainSetter {
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 (!((_a = this.signDocHelper) === null || _a === void 0 ? void 0 : _a.signDocWrapper) ||
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
- setSender() {
147
- // noop
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":";;;;;;;;;AACA,uCAA4C;AAO5C,+BAAoE;AACpE,6CAA2D;AAE3D,iCAAiC;AACjC,2CAAwC;AAExC,iDAA8C;AAE9C,gGAAgG;AAChG,8BAA8B;AAC9B,6GAA6G;AAC7G,MAAa,mBACX,SAAQ,qBAAa;IAQrB,YACE,WAAwB,EACxB,cAAsB,EACtB,OAAsB;QAEtB,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAP3B,kBAAa,GAAmB,SAAS,CAAC;QAmDpD,uBAAkB,GAAG,uBAAU,CAC7B,GAAkB,EAAE;;YAClB,IACE,QAAC,IAAI,CAAC,aAAa,0CAAE,cAAc,CAAA;gBACnC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EACzC;gBACA,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB;iBAC1C,CAAC;aACH;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE;gBACtD,OAAO,IAAI,CAAC,wBAAwB,CAClC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CACpD,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,CAAC,wBAAwB,CAClC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CACtD,CAAC;aACH;QACH,CAAC,CACF,CAAC;QAhEA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,qBAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAGD,UAAU,CAAC,IAAmB;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAGD,gBAAgB,CAAC,aAA4B;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAGD,IAAI,MAAM;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE5C,OAAO,IAAI,iBAAU,CACnB,IAAI,CAAC,YAAY,EACjB,IAAI,UAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAC1B,CAAC,QAAQ,EAAE,CAAC;IACf,CAAC;IAED,IAAI,YAAY;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,OAAO,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACnC;QAED,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,EAAE,CAAC;IACZ,CAAC;IA0BS,wBAAwB,CAAC,IAAoB;QACrD,MAAM,MAAM,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,UAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI;gBACF,QAAQ,GAAG,CAAC,IAAI,EAAE;oBAChB,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;wBAChC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;4BACvD,KAAK,MAAM,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;gCAC1C,IAAI,WAAW,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE;oCACtC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAC/B,IAAI,UAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAC5B,CAAC;iCACH;6BACF;yBACF;wBACD,MAAM;oBACR,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;wBAC7B,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE;4BAC/D,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAC/B,IAAI,UAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CACjC,CAAC;yBACH;wBACD,MAAM;iBACT;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CACT,iCAAiC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7D,CAAC;aACH;SACF;QAED,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;IAES,wBAAwB,CAAC,IAAW;;QAC5C,MAAM,MAAM,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,UAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI;gBACF,QAAQ,GAAG,CAAC,WAAW,EAAE;oBACvB,KAAK,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;wBAC9B,MAAM,OAAO,GAAG,GAAkC,CAAC;wBACnD,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE;4BACxC,IAAI,WAAW,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE;gCAC5D,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,UAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;6BAChE;yBACF;wBACD,MAAM;oBACR,KAAK,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;wBACrC,MAAM,WAAW,GAAG,GAAyC,CAAC;wBAC9D,IACE,OAAA,WAAW,CAAC,MAAM,0CAAE,KAAK,MAAK,MAAM,CAAC,KAAK;4BAC1C,WAAW,CAAC,MAAM,CAAC,MAAM,EACzB;4BACA,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAC/B,IAAI,UAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CACnC,CAAC;yBACH;wBACD,MAAM;iBACT;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CACT,iCAAiC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7D,CAAC;aACH;SACF;QAED,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,CAAU;QACjB,OAAO;IACT,CAAC;IACD,WAAW;QACT,OAAO;IACT,CAAC;IAED,IAAI,KAAK;QACP,OAAO;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS;QACP,OAAO;IACT,CAAC;IAED,eAAe;QACb,OAAO;IACT,CAAC;IAED,SAAS;QACP,OAAO;IACT,CAAC;CACF;AAtLC;IADC,iBAAU,CAAC,GAAG;oDACkB;AAGjC;IADC,iBAAU,CAAC,GAAG;0DACqC;AAepD;IADC,aAAM;qDAGN;AAGD;IADC,aAAM;2DAGN;AAGD;IADC,eAAQ;iDAQR;AAvCH,kDA0LC;AAEM,MAAM,sBAAsB,GAAG,CACpC,WAAwB,EACxB,OAAe,EACf,OAAsB,EACtB,EAAE;IACF,MAAM,CAAC,MAAM,CAAC,GAAG,gBAAQ,CACvB,GAAG,EAAE,CAAC,IAAI,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE3B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAZW,QAAA,sBAAsB,0BAYjC"}
1
+ {"version":3,"file":"amount.js","sourceRoot":"","sources":["../../src/sign-doc/amount.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8BAAqD;AAOrD,+BAAoE;AACpE,6CAA2D;AAE3D,iCAAiC;AACjC,2CAAwC;AAExC,iDAA8C;AAE9C,gGAAgG;AAChG,8BAA8B;AAC9B,6GAA6G;AAC7G,MAAa,mBACX,SAAQ,kBAAa;IAcrB,YACE,WAAwB,EACxB,cAAsB,EACtB,OAAsB,EACtB,MAAc;QAEd,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAd3B,kBAAa,GAAmB,SAAS,CAAC;QAM1C,yBAAoB,GAAY,KAAK,CAAC;QA0DhD,uBAAkB,GAAG,uBAAU,CAC7B,GAAkB,EAAE;;YAClB,IACE,IAAI,CAAC,mBAAmB;gBACxB,QAAC,IAAI,CAAC,aAAa,0CAAE,cAAc,CAAA;gBACnC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EACzC;gBACA,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB;iBAC1C,CAAC;aACH;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE;gBACtD,OAAO,IAAI,CAAC,wBAAwB,CAClC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CACpD,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,CAAC,wBAAwB,CAClC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CACtD,CAAC;aACH;QACH,CAAC,CACF,CAAC;QAvEA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,qBAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAGD,UAAU,CAAC,IAAmB;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAGD,gBAAgB,CAAC,aAA4B;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAGD,IAAI,MAAM;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE5C,OAAO,IAAI,iBAAU,CACnB,IAAI,CAAC,YAAY,EACjB,IAAI,UAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAC1B,CAAC,QAAQ,EAAE,CAAC;IACf,CAAC;IAED,IAAI,YAAY;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,OAAO,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACnC;QAED,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IAGD,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IA2BS,wBAAwB,CAAC,IAAoB;QACrD,MAAM,MAAM,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,UAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI;gBACF,QAAQ,GAAG,CAAC,IAAI,EAAE;oBAChB,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;wBAChC,IACE,GAAG,CAAC,KAAK,CAAC,YAAY;4BACtB,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,MAAM,EACtC;4BACA,OAAO;gCACL,MAAM,EAAE,GAAG;gCACX,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB;6BAC1C,CAAC;yBACH;wBACD,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;4BACvD,KAAK,MAAM,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;gCAC1C,IAAI,WAAW,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE;oCACtC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAC/B,IAAI,UAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAC5B,CAAC;iCACH;6BACF;yBACF;wBACD,MAAM;oBACR,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;wBAC7B,IACE,GAAG,CAAC,KAAK,CAAC,iBAAiB;4BAC3B,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,MAAM,EAC3C;4BACA,OAAO;gCACL,MAAM,EAAE,GAAG;gCACX,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB;6BAC1C,CAAC;yBACH;wBACD,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE;4BAC/D,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAC/B,IAAI,UAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CACjC,CAAC;yBACH;wBACD,MAAM;iBACT;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CACT,iCAAiC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7D,CAAC;aACH;SACF;QAED,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;IAES,wBAAwB,CAAC,IAAW;;QAC5C,MAAM,MAAM,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,UAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI;gBACF,QAAQ,GAAG,CAAC,WAAW,EAAE;oBACvB,KAAK,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;wBAC9B,MAAM,OAAO,GAAG,GAAkC,CAAC;wBACnD,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,MAAM,EAAE;4BAC9D,OAAO;gCACL,MAAM,EAAE,GAAG;gCACX,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB;6BAC1C,CAAC;yBACH;wBACD,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE;4BACxC,IAAI,WAAW,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE;gCAC5D,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,UAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;6BAChE;yBACF;wBACD,MAAM;oBACR,KAAK,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;wBACrC,MAAM,WAAW,GAAG,GAAyC,CAAC;wBAC9D,IACE,WAAW,CAAC,gBAAgB;4BAC5B,WAAW,CAAC,gBAAgB,KAAK,IAAI,CAAC,MAAM,EAC5C;4BACA,OAAO;gCACL,MAAM,EAAE,GAAG;gCACX,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB;6BAC1C,CAAC;yBACH;wBACD,IACE,OAAA,WAAW,CAAC,MAAM,0CAAE,KAAK,MAAK,MAAM,CAAC,KAAK;4BAC1C,WAAW,CAAC,MAAM,CAAC,MAAM,EACzB;4BACA,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAC/B,IAAI,UAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CACnC,CAAC;yBACH;wBACD,MAAM;iBACT;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CACT,iCAAiC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7D,CAAC;aACH;SACF;QAED,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,CAAU;QACjB,OAAO;IACT,CAAC;IACD,WAAW;QACT,OAAO;IACT,CAAC;IAED,IAAI,KAAK;QACP,OAAO;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS;QACP,OAAO;IACT,CAAC;IAED,eAAe;QACb,OAAO;IACT,CAAC;IAGD,sBAAsB,CAAC,IAAa;QAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;CACF;AA1OC;IADC,iBAAU,CAAC,GAAG;oDACkB;AAGjC;IADC,iBAAU,CAAC,GAAG;0DACqC;AAGpD;IADC,iBAAU;oDACe;AAG1B;IADC,iBAAU;iEACqC;AAiBhD;IADC,aAAM;qDAGN;AAGD;IADC,aAAM;2DAGN;AAGD;IADC,eAAQ;iDAQR;AAgBD;IADC,aAAM;oDAGN;AAsKD;IADC,aAAM;iEAGN;AAzOH,kDA8OC;AAEM,MAAM,sBAAsB,GAAG,CACpC,WAAwB,EACxB,OAAe,EACf,OAAsB,EACtB,MAAc,EACd,EAAE;IACF,MAAM,CAAC,MAAM,CAAC,GAAG,gBAAQ,CACvB,GAAG,EAAE,CAAC,IAAI,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CACrE,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEzB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC"}
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));
@@ -1 +1 @@
1
- {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../src/tx/fee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../src/tx/fee.ts"],"names":[],"mappings":"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"}
@@ -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
- import { CosmosMsgOpts, SecretMsgOpts } from "@keplr-wallet/stores";
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"];
@@ -29,6 +29,8 @@ class SendGasConfig extends gas_1.GasConfig {
29
29
  switch (denomHelper.type) {
30
30
  case "secret20":
31
31
  return this.sendMsgOpts.secret20.gas;
32
+ case "cw20":
33
+ return this.sendMsgOpts.cw20.gas;
32
34
  default:
33
35
  return this.sendMsgOpts.native.gas;
34
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"send-gas.js","sourceRoot":"","sources":["../../src/tx/send-gas.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAAkC;AAClC,iDAAmD;AAGnD,iCAAiC;AAEjC,+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;oBACE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;aACtC;SACF;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AAtCC;IADC,iBAAU,CAAC,GAAG;kDACwB;AAgBvC;IADC,aAAM;mDAGN;AApBH,sCAwCC;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"}
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"}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"send-tx.js","sourceRoot":"","sources":["../../src/tx/send-tx.ts"],"names":[],"mappings":";;;AAMA,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"}
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.7",
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.7",
25
- "@keplr-wallet/common": "^0.9.7",
26
- "@keplr-wallet/cosmos": "^0.9.7",
27
- "@keplr-wallet/crypto": "^0.9.7",
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.7",
31
- "@keplr-wallet/types": "^0.9.6",
32
- "@keplr-wallet/unit": "^0.9.6",
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": "5295e9b866f01459b7809b54b6cf9c146b115721"
40
+ "gitHead": "ead06cf2f414219770f0e27a8ab69d166a392b27"
41
41
  }
@@ -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
- setSender(): void {
204
- // noop
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 = (
@@ -1,12 +1,16 @@
1
1
  import { GasConfig } from "./gas";
2
2
  import { DenomHelper } from "@keplr-wallet/common";
3
- import { ChainGetter } from "@keplr-wallet/stores";
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,