@keplr-wallet/hooks 0.9.9 → 0.9.11-rc.1

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/ibc/gas.js CHANGED
@@ -12,7 +12,7 @@ const mobx_1 = require("mobx");
12
12
  const react_1 = require("react");
13
13
  class IBCTransferGasConfig extends tx_1.GasConfig {
14
14
  constructor(chainGetter, initialChainId, msgOpts) {
15
- super(chainGetter, initialChainId, msgOpts.gas);
15
+ super(chainGetter, initialChainId);
16
16
  this.msgOpts = msgOpts;
17
17
  mobx_1.makeObservable(this);
18
18
  }
@@ -21,10 +21,10 @@ class IBCTransferGasConfig extends tx_1.GasConfig {
21
21
  }
22
22
  get gas() {
23
23
  // If gas not set manually, assume that the tx is for MsgTransfer.
24
- if (this._gas <= 0) {
24
+ if (this._gasRaw == null) {
25
25
  return this.msgOpts.gas;
26
26
  }
27
- return this._gas;
27
+ return super.gas;
28
28
  }
29
29
  }
30
30
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"gas.js","sourceRoot":"","sources":["../../src/ibc/gas.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8BAAkC;AAElC,+BAA0D;AAC1D,iCAAiC;AAEjC,MAAa,oBAAqB,SAAQ,cAAS;IAIjD,YACE,WAAwB,EACxB,cAAsB,EACtB,OAAqC;QAErC,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,qBAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAGD,UAAU,CAAC,IAAkC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,GAAG;QACL,kEAAkE;QAClE,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;YAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SACzB;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AA3BC;IADC,iBAAU,CAAC,GAAG;qDACiC;AAehD;IADC,aAAM;sDAGN;AAnBH,oDA6BC;AAEM,MAAM,uBAAuB,GAAG,CACrC,WAAwB,EACxB,OAAe,EACf,OAAqC,EACrC,EAAE;IACF,MAAM,CAAC,SAAS,CAAC,GAAG,gBAAQ,CAC1B,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAC9D,CAAC;IACF,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAZW,QAAA,uBAAuB,2BAYlC"}
1
+ {"version":3,"file":"gas.js","sourceRoot":"","sources":["../../src/ibc/gas.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8BAAkC;AAElC,+BAA0D;AAC1D,iCAAiC;AAEjC,MAAa,oBAAqB,SAAQ,cAAS;IAIjD,YACE,WAAwB,EACxB,cAAsB,EACtB,OAAqC;QAErC,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAEnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,qBAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAGD,UAAU,CAAC,IAAkC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,GAAG;QACL,kEAAkE;QAClE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SACzB;QAED,OAAO,KAAK,CAAC,GAAG,CAAC;IACnB,CAAC;CACF;AA3BC;IADC,iBAAU,CAAC,GAAG;qDACiC;AAehD;IADC,aAAM;sDAGN;AAnBH,oDA6BC;AAEM,MAAM,uBAAuB,GAAG,CACrC,WAAwB,EACxB,OAAe,EACf,OAAqC,EACrC,EAAE;IACF,MAAM,CAAC,SAAS,CAAC,GAAG,gBAAQ,CAC1B,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAC9D,CAAC;IACF,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAZW,QAAA,uBAAuB,2BAYlC"}
@@ -37,6 +37,12 @@ class SignDocHelper {
37
37
  if (!this._signDocWrapper) {
38
38
  return undefined;
39
39
  }
40
+ // If the sign doc is for ADR-36,
41
+ // The fee and memo should be empty.
42
+ // Ignore the fee and memo config, and just return itself.
43
+ if (this._signDocWrapper.isADR36SignDoc) {
44
+ return this._signDocWrapper;
45
+ }
40
46
  const stdFee = this.feeConfig.toStdFee();
41
47
  if (this._signDocWrapper.mode === "amino") {
42
48
  const signDoc = Object.assign(Object.assign({}, this._signDocWrapper.aminoSignDoc), { fee: stdFee, memo: this.memoConfig.memo });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sign-doc/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sign-doc/index.ts"],"names":[],"mappings":"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"}
@@ -137,7 +137,7 @@ class AmountConfig extends chain_1.TxChainSetter {
137
137
  return new errors_1.InvalidNumberAmountError("Invalid form of number");
138
138
  }
139
139
  if (new unit_1.Dec(this.amount).lt(new unit_1.Dec(0))) {
140
- return new errors_1.NagativeAmountError("Amount is nagative");
140
+ return new errors_1.NegativeAmountError("Amount is negative");
141
141
  }
142
142
  const balance = this.queryBalances
143
143
  .getQueryBech32Address(this.sender)
@@ -22,7 +22,7 @@ export declare class InvalidNumberAmountError extends Error {
22
22
  export declare class ZeroAmountError extends Error {
23
23
  constructor(m: string);
24
24
  }
25
- export declare class NagativeAmountError extends Error {
25
+ export declare class NegativeAmountError extends Error {
26
26
  constructor(m: string);
27
27
  }
28
28
  export declare class InsufficientAmountError extends Error {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InsufficientFeeError = exports.NotLoadedFeeError = exports.InsufficientAmountError = exports.NagativeAmountError = exports.ZeroAmountError = exports.InvalidNumberAmountError = exports.EmptyAmountError = exports.ENSFailedToFetchError = exports.ENSIsFetchingError = exports.ENSNotSupportedError = exports.InvalidBech32Error = exports.EmptyAddressError = void 0;
3
+ exports.InsufficientFeeError = exports.NotLoadedFeeError = exports.InsufficientAmountError = exports.NegativeAmountError = exports.ZeroAmountError = exports.InvalidNumberAmountError = exports.EmptyAmountError = exports.ENSFailedToFetchError = exports.ENSIsFetchingError = exports.ENSNotSupportedError = exports.InvalidBech32Error = exports.EmptyAddressError = void 0;
4
4
  class EmptyAddressError extends Error {
5
5
  constructor(m) {
6
6
  super(m);
@@ -65,14 +65,14 @@ class ZeroAmountError extends Error {
65
65
  }
66
66
  }
67
67
  exports.ZeroAmountError = ZeroAmountError;
68
- class NagativeAmountError extends Error {
68
+ class NegativeAmountError extends Error {
69
69
  constructor(m) {
70
70
  super(m);
71
71
  // Set the prototype explicitly.
72
- Object.setPrototypeOf(this, NagativeAmountError.prototype);
72
+ Object.setPrototypeOf(this, NegativeAmountError.prototype);
73
73
  }
74
74
  }
75
- exports.NagativeAmountError = NagativeAmountError;
75
+ exports.NegativeAmountError = NegativeAmountError;
76
76
  class InsufficientAmountError extends Error {
77
77
  constructor(m) {
78
78
  super(m);
package/build/tx/fee.js CHANGED
@@ -36,9 +36,7 @@ class FeeConfig extends chain_1.TxChainSetter {
36
36
  }
37
37
  const feeTypePrimitive = this.getFeeTypePrimitive(feeType);
38
38
  const feeCurrency = this.feeCurrency;
39
- return new unit_1.CoinPretty(feeCurrency, new unit_1.Int(feeTypePrimitive.amount))
40
- .precision(feeCurrency.coinDecimals)
41
- .maxDecimals(feeCurrency.coinDecimals);
39
+ return new unit_1.CoinPretty(feeCurrency, new unit_1.Int(feeTypePrimitive.amount)).maxDecimals(feeCurrency.coinDecimals);
42
40
  });
43
41
  this._sender = sender;
44
42
  this.queryBalances = queryBalances;
@@ -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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"}
package/build/tx/gas.d.ts CHANGED
@@ -2,10 +2,11 @@ import { IGasConfig } from "./types";
2
2
  import { TxChainSetter } from "./chain";
3
3
  import { ChainGetter } from "@keplr-wallet/stores";
4
4
  export declare class GasConfig extends TxChainSetter implements IGasConfig {
5
- protected _gas: number;
5
+ protected _gasRaw: string | undefined;
6
6
  constructor(chainGetter: ChainGetter, initialChainId: string, initialGas?: number);
7
+ get gasRaw(): string;
7
8
  get gas(): number;
8
- setGas(gas: number): void;
9
+ setGas(gas: number | string): void;
9
10
  getError(): Error | undefined;
10
11
  }
11
- export declare const useGasConfig: (chainGetter: ChainGetter, chainId: string, initialGas?: number) => GasConfig;
12
+ export declare const useGasConfig: (chainGetter: ChainGetter, chainId: string, initialGas?: number | undefined) => GasConfig;
package/build/tx/gas.js CHANGED
@@ -11,18 +11,61 @@ const chain_1 = require("./chain");
11
11
  const mobx_1 = require("mobx");
12
12
  const react_1 = require("react");
13
13
  class GasConfig extends chain_1.TxChainSetter {
14
- constructor(chainGetter, initialChainId, initialGas = 0) {
14
+ constructor(chainGetter, initialChainId, initialGas) {
15
15
  super(chainGetter, initialChainId);
16
- this._gas = initialGas;
16
+ /*
17
+ This field is used to handle the value from the input more flexibly.
18
+ We use string because there is no guarantee that only number is input in input component.
19
+ If the user has never set it, undefined is also allowed to indicate that it is a default value.
20
+ */
21
+ this._gasRaw = undefined;
22
+ this._gasRaw = initialGas === null || initialGas === void 0 ? void 0 : initialGas.toString();
17
23
  mobx_1.makeObservable(this);
18
24
  }
25
+ get gasRaw() {
26
+ if (this._gasRaw == null) {
27
+ return this.gas.toString();
28
+ }
29
+ return this._gasRaw;
30
+ }
19
31
  get gas() {
20
- return this._gas;
32
+ // If the gasRaw is undefined,
33
+ // it means that the user never input something yet.
34
+ // In this case, it should be handled as gas is 0.
35
+ // But, it can be overridden on the child class if it is needed.
36
+ if (this._gasRaw == null) {
37
+ return 0;
38
+ }
39
+ const r = parseInt(this._gasRaw);
40
+ return Number.isNaN(r) ? 0 : r;
21
41
  }
22
42
  setGas(gas) {
23
- this._gas = Math.floor(gas);
43
+ if (typeof gas === "number") {
44
+ this._gasRaw = Math.floor(gas).toString();
45
+ return;
46
+ }
47
+ if (gas === "") {
48
+ this._gasRaw = gas;
49
+ return;
50
+ }
51
+ // Gas must not be floated.
52
+ if (!gas.includes(".")) {
53
+ if (!Number.isNaN(Number.parseInt(gas))) {
54
+ this._gasRaw = gas;
55
+ return;
56
+ }
57
+ }
24
58
  }
25
59
  getError() {
60
+ if (this._gasRaw === "") {
61
+ return new Error("Gas not set");
62
+ }
63
+ if (this._gasRaw && Number.isNaN(this._gasRaw)) {
64
+ return new Error("Gas is not valid number");
65
+ }
66
+ if (!Number.isInteger(this.gas)) {
67
+ return new Error("Gas is not integer");
68
+ }
26
69
  if (this.gas <= 0) {
27
70
  return new Error("Gas should be greater than 0");
28
71
  }
@@ -31,12 +74,12 @@ class GasConfig extends chain_1.TxChainSetter {
31
74
  }
32
75
  __decorate([
33
76
  mobx_1.observable
34
- ], GasConfig.prototype, "_gas", void 0);
77
+ ], GasConfig.prototype, "_gasRaw", void 0);
35
78
  __decorate([
36
79
  mobx_1.action
37
80
  ], GasConfig.prototype, "setGas", null);
38
81
  exports.GasConfig = GasConfig;
39
- const useGasConfig = (chainGetter, chainId, initialGas = 0) => {
82
+ const useGasConfig = (chainGetter, chainId, initialGas) => {
40
83
  const [txConfig] = react_1.useState(() => new GasConfig(chainGetter, chainId, initialGas));
41
84
  txConfig.setChain(chainId);
42
85
  return txConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"gas.js","sourceRoot":"","sources":["../../src/tx/gas.ts"],"names":[],"mappings":";;;;;;;;;AACA,mCAAwC;AAExC,+BAA0D;AAC1D,iCAAiC;AAEjC,MAAa,SAAU,SAAQ,qBAAa;IAI1C,YACE,WAAwB,EACxB,cAAsB,EACtB,aAAqB,CAAC;QAEtB,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAEnC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QAEvB,qBAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAGD,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE;YACjB,OAAO,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SAClD;QACD,OAAO;IACT,CAAC;CACF;AA7BC;IADC,iBAAU;uCACY;AAmBvB;IADC,aAAM;uCAGN;AAvBH,8BA+BC;AAEM,MAAM,YAAY,GAAG,CAC1B,WAAwB,EACxB,OAAe,EACf,aAAqB,CAAC,EACtB,EAAE;IACF,MAAM,CAAC,QAAQ,CAAC,GAAG,gBAAQ,CACzB,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CACtD,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE3B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAXW,QAAA,YAAY,gBAWvB"}
1
+ {"version":3,"file":"gas.js","sourceRoot":"","sources":["../../src/tx/gas.ts"],"names":[],"mappings":";;;;;;;;;AACA,mCAAwC;AAExC,+BAA0D;AAC1D,iCAAiC;AAEjC,MAAa,SAAU,SAAQ,qBAAa;IAS1C,YACE,WAAwB,EACxB,cAAsB,EACtB,UAAmB;QAEnB,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAbrC;;;;WAIG;QAEO,YAAO,GAAuB,SAAS,CAAC;QAShD,IAAI,CAAC,OAAO,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAE,CAAC;QAEtC,qBAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;SAC5B;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,GAAG;QACL,8BAA8B;QAC9B,oDAAoD;QACpD,kDAAkD;QAClD,gEAAgE;QAChE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,OAAO,CAAC,CAAC;SACV;QAED,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAGD,MAAM,CAAC,GAAoB;QACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO;SACR;QAED,IAAI,GAAG,KAAK,EAAE,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACnB,OAAO;SACR;QAED,2BAA2B;QAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;gBACvC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;gBACnB,OAAO;aACR;SACF;IACH,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE;YACvB,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC9C,OAAO,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC/B,OAAO,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACxC;QAED,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE;YACjB,OAAO,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SAClD;QACD,OAAO;IACT,CAAC;CACF;AA1EC;IADC,iBAAU;0CACuC;AAoClD;IADC,aAAM;uCAmBN;AA7DH,8BAiFC;AAEM,MAAM,YAAY,GAAG,CAC1B,WAAwB,EACxB,OAAe,EACf,UAAmB,EACnB,EAAE;IACF,MAAM,CAAC,QAAQ,CAAC,GAAG,gBAAQ,CACzB,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CACtD,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE3B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAXW,QAAA,YAAY,gBAWvB"}
@@ -24,7 +24,7 @@ class SendGasConfig extends gas_1.GasConfig {
24
24
  get gas() {
25
25
  // If gas not set manually, assume that the tx is for MsgSend.
26
26
  // And, set the default gas according to the currency type.
27
- if (this._gas <= 0 && this.amountConfig.sendCurrency) {
27
+ if (this._gasRaw == null && this.amountConfig.sendCurrency) {
28
28
  const denomHelper = new common_1.DenomHelper(this.amountConfig.sendCurrency.coinMinimalDenom);
29
29
  switch (denomHelper.type) {
30
30
  case "secret20":
@@ -35,7 +35,7 @@ class SendGasConfig extends gas_1.GasConfig {
35
35
  return this.sendMsgOpts.native.gas;
36
36
  }
37
37
  }
38
- return this._gas;
38
+ return super.gas;
39
39
  }
40
40
  }
41
41
  __decorate([
@@ -1 +1 @@
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
+ {"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,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YAC1D,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,KAAK,CAAC,GAAG,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"}
@@ -123,7 +123,7 @@ class StakedAmountConfig extends chain_1.TxChainSetter {
123
123
  return new errors_1.InvalidNumberAmountError("Invalid form of number");
124
124
  }
125
125
  if (new unit_1.Dec(this.amount).lt(new unit_1.Dec(0))) {
126
- return new errors_1.NagativeAmountError("Amount is nagative");
126
+ return new errors_1.NegativeAmountError("Amount is negative");
127
127
  }
128
128
  const balance = this.queryDelegations
129
129
  .getQueryBech32Address(this.sender)
@@ -13,7 +13,8 @@ export interface IMemoConfig extends ITxChainSetter {
13
13
  }
14
14
  export interface IGasConfig extends ITxChainSetter {
15
15
  gas: number;
16
- setGas(gas: number): void;
16
+ gasRaw: string;
17
+ setGas(gas: number | string): void;
17
18
  getError(): Error | undefined;
18
19
  }
19
20
  export interface IFeeConfig extends ITxChainSetter {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tx/types.ts"],"names":[],"mappings":";;;AA6Da,QAAA,mBAAmB,GAI5B;IACF,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,IAAI;CACX,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tx/types.ts"],"names":[],"mappings":";;;AAiEa,QAAA,mBAAmB,GAI5B;IACF,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,IAAI;CACX,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keplr-wallet/hooks",
3
- "version": "0.9.9",
3
+ "version": "0.9.11-rc.1",
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.9",
25
- "@keplr-wallet/common": "^0.9.9",
26
- "@keplr-wallet/cosmos": "^0.9.9",
27
- "@keplr-wallet/crypto": "^0.9.9",
24
+ "@keplr-wallet/background": "^0.9.11-rc.1",
25
+ "@keplr-wallet/common": "^0.9.10",
26
+ "@keplr-wallet/cosmos": "^0.9.11-rc.1",
27
+ "@keplr-wallet/crypto": "^0.9.10",
28
28
  "@keplr-wallet/ens": "^0.9.0",
29
29
  "@keplr-wallet/popup": "^0.9.6",
30
- "@keplr-wallet/stores": "^0.9.9",
31
- "@keplr-wallet/types": "^0.9.9",
32
- "@keplr-wallet/unit": "^0.9.9",
30
+ "@keplr-wallet/stores": "^0.9.11-rc.1",
31
+ "@keplr-wallet/types": "^0.9.10",
32
+ "@keplr-wallet/unit": "^0.9.11-rc.1",
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": "ead06cf2f414219770f0e27a8ab69d166a392b27"
40
+ "gitHead": "1b6119fd1b9f2de36a7da4672eb3558d6b69d172"
41
41
  }
package/src/ibc/gas.ts CHANGED
@@ -12,7 +12,7 @@ export class IBCTransferGasConfig extends GasConfig {
12
12
  initialChainId: string,
13
13
  msgOpts: CosmosMsgOpts["ibcTransfer"]
14
14
  ) {
15
- super(chainGetter, initialChainId, msgOpts.gas);
15
+ super(chainGetter, initialChainId);
16
16
 
17
17
  this.msgOpts = msgOpts;
18
18
 
@@ -26,11 +26,11 @@ export class IBCTransferGasConfig extends GasConfig {
26
26
 
27
27
  get gas(): number {
28
28
  // If gas not set manually, assume that the tx is for MsgTransfer.
29
- if (this._gas <= 0) {
29
+ if (this._gasRaw == null) {
30
30
  return this.msgOpts.gas;
31
31
  }
32
32
 
33
- return this._gas;
33
+ return super.gas;
34
34
  }
35
35
  }
36
36
 
@@ -23,6 +23,13 @@ export class SignDocHelper {
23
23
  return undefined;
24
24
  }
25
25
 
26
+ // If the sign doc is for ADR-36,
27
+ // The fee and memo should be empty.
28
+ // Ignore the fee and memo config, and just return itself.
29
+ if (this._signDocWrapper.isADR36SignDoc) {
30
+ return this._signDocWrapper;
31
+ }
32
+
26
33
  const stdFee = this.feeConfig.toStdFee();
27
34
 
28
35
  if (this._signDocWrapper.mode === "amino") {
package/src/tx/amount.ts CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  EmptyAmountError,
9
9
  InsufficientAmountError,
10
10
  InvalidNumberAmountError,
11
- NagativeAmountError,
11
+ NegativeAmountError,
12
12
  ZeroAmountError,
13
13
  } from "./errors";
14
14
  import { Dec, DecUtils } from "@keplr-wallet/unit";
@@ -194,7 +194,7 @@ export class AmountConfig extends TxChainSetter implements IAmountConfig {
194
194
  return new InvalidNumberAmountError("Invalid form of number");
195
195
  }
196
196
  if (new Dec(this.amount).lt(new Dec(0))) {
197
- return new NagativeAmountError("Amount is nagative");
197
+ return new NegativeAmountError("Amount is negative");
198
198
  }
199
199
 
200
200
  const balance = this.queryBalances
package/src/tx/errors.ts CHANGED
@@ -62,11 +62,11 @@ export class ZeroAmountError extends Error {
62
62
  }
63
63
  }
64
64
 
65
- export class NagativeAmountError extends Error {
65
+ export class NegativeAmountError extends Error {
66
66
  constructor(m: string) {
67
67
  super(m);
68
68
  // Set the prototype explicitly.
69
- Object.setPrototypeOf(this, NagativeAmountError.prototype);
69
+ Object.setPrototypeOf(this, NegativeAmountError.prototype);
70
70
  }
71
71
  }
72
72
 
package/src/tx/fee.ts CHANGED
@@ -176,9 +176,10 @@ export class FeeConfig extends TxChainSetter implements IFeeConfig {
176
176
  const feeTypePrimitive = this.getFeeTypePrimitive(feeType);
177
177
  const feeCurrency = this.feeCurrency;
178
178
 
179
- return new CoinPretty(feeCurrency, new Int(feeTypePrimitive.amount))
180
- .precision(feeCurrency.coinDecimals)
181
- .maxDecimals(feeCurrency.coinDecimals);
179
+ return new CoinPretty(
180
+ feeCurrency,
181
+ new Int(feeTypePrimitive.amount)
182
+ ).maxDecimals(feeCurrency.coinDecimals);
182
183
  });
183
184
 
184
185
  getError(): Error | undefined {
package/src/tx/gas.ts CHANGED
@@ -5,31 +5,81 @@ import { action, makeObservable, observable } from "mobx";
5
5
  import { useState } from "react";
6
6
 
7
7
  export class GasConfig extends TxChainSetter implements IGasConfig {
8
+ /*
9
+ This field is used to handle the value from the input more flexibly.
10
+ We use string because there is no guarantee that only number is input in input component.
11
+ If the user has never set it, undefined is also allowed to indicate that it is a default value.
12
+ */
8
13
  @observable
9
- protected _gas: number;
14
+ protected _gasRaw: string | undefined = undefined;
10
15
 
11
16
  constructor(
12
17
  chainGetter: ChainGetter,
13
18
  initialChainId: string,
14
- initialGas: number = 0
19
+ initialGas?: number
15
20
  ) {
16
21
  super(chainGetter, initialChainId);
17
22
 
18
- this._gas = initialGas;
23
+ this._gasRaw = initialGas?.toString();
19
24
 
20
25
  makeObservable(this);
21
26
  }
22
27
 
28
+ get gasRaw(): string {
29
+ if (this._gasRaw == null) {
30
+ return this.gas.toString();
31
+ }
32
+
33
+ return this._gasRaw;
34
+ }
35
+
23
36
  get gas(): number {
24
- return this._gas;
37
+ // If the gasRaw is undefined,
38
+ // it means that the user never input something yet.
39
+ // In this case, it should be handled as gas is 0.
40
+ // But, it can be overridden on the child class if it is needed.
41
+ if (this._gasRaw == null) {
42
+ return 0;
43
+ }
44
+
45
+ const r = parseInt(this._gasRaw);
46
+ return Number.isNaN(r) ? 0 : r;
25
47
  }
26
48
 
27
49
  @action
28
- setGas(gas: number) {
29
- this._gas = Math.floor(gas);
50
+ setGas(gas: number | string) {
51
+ if (typeof gas === "number") {
52
+ this._gasRaw = Math.floor(gas).toString();
53
+ return;
54
+ }
55
+
56
+ if (gas === "") {
57
+ this._gasRaw = gas;
58
+ return;
59
+ }
60
+
61
+ // Gas must not be floated.
62
+ if (!gas.includes(".")) {
63
+ if (!Number.isNaN(Number.parseInt(gas))) {
64
+ this._gasRaw = gas;
65
+ return;
66
+ }
67
+ }
30
68
  }
31
69
 
32
70
  getError(): Error | undefined {
71
+ if (this._gasRaw === "") {
72
+ return new Error("Gas not set");
73
+ }
74
+
75
+ if (this._gasRaw && Number.isNaN(this._gasRaw)) {
76
+ return new Error("Gas is not valid number");
77
+ }
78
+
79
+ if (!Number.isInteger(this.gas)) {
80
+ return new Error("Gas is not integer");
81
+ }
82
+
33
83
  if (this.gas <= 0) {
34
84
  return new Error("Gas should be greater than 0");
35
85
  }
@@ -40,7 +90,7 @@ export class GasConfig extends TxChainSetter implements IGasConfig {
40
90
  export const useGasConfig = (
41
91
  chainGetter: ChainGetter,
42
92
  chainId: string,
43
- initialGas: number = 0
93
+ initialGas?: number
44
94
  ) => {
45
95
  const [txConfig] = useState(
46
96
  () => new GasConfig(chainGetter, chainId, initialGas)
@@ -37,7 +37,7 @@ export class SendGasConfig extends GasConfig {
37
37
  get gas(): number {
38
38
  // If gas not set manually, assume that the tx is for MsgSend.
39
39
  // And, set the default gas according to the currency type.
40
- if (this._gas <= 0 && this.amountConfig.sendCurrency) {
40
+ if (this._gasRaw == null && this.amountConfig.sendCurrency) {
41
41
  const denomHelper = new DenomHelper(
42
42
  this.amountConfig.sendCurrency.coinMinimalDenom
43
43
  );
@@ -52,7 +52,7 @@ export class SendGasConfig extends GasConfig {
52
52
  }
53
53
  }
54
54
 
55
- return this._gas;
55
+ return super.gas;
56
56
  }
57
57
  }
58
58
 
@@ -11,7 +11,7 @@ import {
11
11
  EmptyAmountError,
12
12
  InsufficientAmountError,
13
13
  InvalidNumberAmountError,
14
- NagativeAmountError,
14
+ NegativeAmountError,
15
15
  ZeroAmountError,
16
16
  } from "./errors";
17
17
  import { Dec, DecUtils } from "@keplr-wallet/unit";
@@ -178,7 +178,7 @@ export class StakedAmountConfig extends TxChainSetter implements IAmountConfig {
178
178
  return new InvalidNumberAmountError("Invalid form of number");
179
179
  }
180
180
  if (new Dec(this.amount).lt(new Dec(0))) {
181
- return new NagativeAmountError("Amount is nagative");
181
+ return new NegativeAmountError("Amount is negative");
182
182
  }
183
183
 
184
184
  const balance = this.queryDelegations
package/src/tx/types.ts CHANGED
@@ -17,7 +17,11 @@ export interface IMemoConfig extends ITxChainSetter {
17
17
 
18
18
  export interface IGasConfig extends ITxChainSetter {
19
19
  gas: number;
20
- setGas(gas: number): void;
20
+ /*
21
+ The actual gas value from the input.
22
+ */
23
+ gasRaw: string;
24
+ setGas(gas: number | string): void;
21
25
 
22
26
  getError(): Error | undefined;
23
27
  }