@keplr-wallet/hooks 0.12.69 → 0.12.71-rc.0
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/reciepient.d.ts +2 -1
- package/build/ibc/reciepient.js +2 -1
- package/build/ibc/reciepient.js.map +1 -1
- package/build/ibc/send-ibc-transfer.d.ts +3 -2
- package/build/ibc/send-ibc-transfer.js.map +1 -1
- package/build/tx/fee.d.ts +5 -0
- package/build/tx/fee.js +77 -2
- package/build/tx/fee.js.map +1 -1
- package/build/tx/internal.d.ts +2 -1
- package/build/tx/recipient.d.ts +7 -3
- package/build/tx/recipient.js +50 -45
- package/build/tx/recipient.js.map +1 -1
- package/build/tx/send-tx.d.ts +1 -1
- package/package.json +12 -12
- package/src/ibc/reciepient.ts +6 -2
- package/src/ibc/send-ibc-transfer.ts +3 -2
- package/src/tx/fee.ts +128 -4
- package/src/tx/internal.ts +10 -8
- package/src/tx/recipient.ts +56 -46
- package/src/tx/send-tx.ts +1 -1
|
@@ -16,7 +16,8 @@ export declare class IBCRecipientConfig extends RecipientConfig {
|
|
|
16
16
|
setIsIBCTransfer(isIBCTransfer: boolean): void;
|
|
17
17
|
}
|
|
18
18
|
export declare const useIBCRecipientConfig: (chainGetter: ChainGetter, chainId: string, channelConfig: IIBCChannelConfig, options: {
|
|
19
|
-
|
|
19
|
+
allowHexAddressToBech32Address?: boolean | undefined;
|
|
20
|
+
allowHexAddressOnly?: boolean | undefined;
|
|
20
21
|
icns?: {
|
|
21
22
|
chainId: string;
|
|
22
23
|
resolverContractAddress: string;
|
package/build/ibc/reciepient.js
CHANGED
|
@@ -57,7 +57,8 @@ exports.IBCRecipientConfig = IBCRecipientConfig;
|
|
|
57
57
|
const useIBCRecipientConfig = (chainGetter, chainId, channelConfig, options = {}, isIBCTransfer) => {
|
|
58
58
|
const [config] = (0, react_1.useState)(() => new IBCRecipientConfig(chainGetter, chainId, channelConfig, isIBCTransfer));
|
|
59
59
|
config.setChain(chainId);
|
|
60
|
-
config.
|
|
60
|
+
config.setAllowHexAddressToBech32Address(options.allowHexAddressToBech32Address);
|
|
61
|
+
config.setAllowHexAddressOnly(options.allowHexAddressOnly);
|
|
61
62
|
config.setICNS(options.icns);
|
|
62
63
|
config.setIsIBCTransfer(isIBCTransfer);
|
|
63
64
|
return config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reciepient.js","sourceRoot":"","sources":["../../src/ibc/reciepient.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8BAAsD;AAGtD,iCAAiC;AACjC,+BAAoE;AACpE,qCAA8C;AAE9C;;;;;GAKG;AACH,MAAa,kBAAmB,SAAQ,oBAAe;IAIrD,YACE,WAAwB,EACxB,cAAsB,EACH,aAAgC,EACnD,aAAsB;QAEtB,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAHhB,kBAAa,GAAb,aAAa,CAAmB;QAL3C,kBAAa,GAAY,KAAK,CAAC;QAUvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAa,OAAO;QAClB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACnE,OAAO,KAAK,CAAC,OAAO,CAAC;SACtB;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;aACvE,mBAAmB,CAAC;IACzB,CAAC;IAGD,IAAa,YAAY;QACvB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAClE,OAAO;gBACL,KAAK,EAAE,IAAI,2BAAkB,CAAC,iBAAiB,CAAC;aACjD,CAAC;SACH;QAED,OAAO,KAAK,CAAC,YAAY,CAAC;IAC5B,CAAC;IAGD,gBAAgB,CAAC,aAAsB;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AAvCC;IADC,iBAAU;yDAC8B;AAyBzC;IADC,eAAQ;sDASR;AAGD;IADC,aAAM;0DAGN;AAxCH,gDAyCC;AAEM,MAAM,qBAAqB,GAAG,CACnC,WAAwB,EACxB,OAAe,EACf,aAAgC,EAChC,
|
|
1
|
+
{"version":3,"file":"reciepient.js","sourceRoot":"","sources":["../../src/ibc/reciepient.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8BAAsD;AAGtD,iCAAiC;AACjC,+BAAoE;AACpE,qCAA8C;AAE9C;;;;;GAKG;AACH,MAAa,kBAAmB,SAAQ,oBAAe;IAIrD,YACE,WAAwB,EACxB,cAAsB,EACH,aAAgC,EACnD,aAAsB;QAEtB,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAHhB,kBAAa,GAAb,aAAa,CAAmB;QAL3C,kBAAa,GAAY,KAAK,CAAC;QAUvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAa,OAAO;QAClB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACnE,OAAO,KAAK,CAAC,OAAO,CAAC;SACtB;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;aACvE,mBAAmB,CAAC;IACzB,CAAC;IAGD,IAAa,YAAY;QACvB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAClE,OAAO;gBACL,KAAK,EAAE,IAAI,2BAAkB,CAAC,iBAAiB,CAAC;aACjD,CAAC;SACH;QAED,OAAO,KAAK,CAAC,YAAY,CAAC;IAC5B,CAAC;IAGD,gBAAgB,CAAC,aAAsB;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AAvCC;IADC,iBAAU;yDAC8B;AAyBzC;IADC,eAAQ;sDASR;AAGD;IADC,aAAM;0DAGN;AAxCH,gDAyCC;AAEM,MAAM,qBAAqB,GAAG,CACnC,WAAwB,EACxB,OAAe,EACf,aAAgC,EAChC,UAOI,EAAE,EACN,aAAsB,EACtB,EAAE;IACF,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,gBAAQ,EACvB,GAAG,EAAE,CACH,IAAI,kBAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAC7E,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,CAAC,iCAAiC,CACtC,OAAO,CAAC,8BAA8B,CACvC,CAAC;IACF,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAEvC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA3BW,QAAA,qBAAqB,yBA2BhC"}
|
|
@@ -12,7 +12,7 @@ import { ChainGetter, IQueriesStore } from "@keplr-wallet/stores";
|
|
|
12
12
|
* @param options
|
|
13
13
|
*/
|
|
14
14
|
export declare const useIBCTransferConfig: (chainGetter: ChainGetter, queriesStore: IQueriesStore, chainId: string, sender: string, initialGas: number, options?: {
|
|
15
|
-
|
|
15
|
+
allowHexAddressToBech32Address?: boolean | undefined;
|
|
16
16
|
icns?: {
|
|
17
17
|
chainId: string;
|
|
18
18
|
resolverContractAddress: string;
|
|
@@ -27,7 +27,8 @@ export declare const useIBCTransferConfig: (chainGetter: ChainGetter, queriesSto
|
|
|
27
27
|
senderConfig: import("../tx").SenderConfig;
|
|
28
28
|
};
|
|
29
29
|
export declare const useSendMixedIBCTransferConfig: (chainGetter: ChainGetter, queriesStore: IQueriesStore, chainId: string, sender: string, initialGas: number, isIBCTransfer: boolean, options?: {
|
|
30
|
-
|
|
30
|
+
allowHexAddressToBech32Address?: boolean | undefined;
|
|
31
|
+
allowHexAddressOnly?: boolean | undefined;
|
|
31
32
|
icns?: {
|
|
32
33
|
chainId: string;
|
|
33
34
|
resolverContractAddress: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-ibc-transfer.js","sourceRoot":"","sources":["../../src/ibc/send-ibc-transfer.ts"],"names":[],"mappings":";;;AACA,8BAKe;AACf,qCAA8C;AAC9C,uCAAgD;AAChD,6CAAqD;AAErD;;;;;;;;;;;GAWG;AACI,MAAM,oBAAoB,GAAG,CAClC,WAAwB,EACxB,YAA2B,EAC3B,OAAe,EACf,MAAc,EACd,UAAkB,EAClB,UAMI,EAAE,EACN,EAAE;IACF,MAAM,aAAa,GAAG,IAAA,6BAAmB,GAAE,CAAC;IAE5C,MAAM,YAAY,GAAG,IAAA,oBAAe,EAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,IAAA,2BAAkB,EACrC,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,IAAI,CACL,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,kBAAa,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,IAAA,iBAAY,EAC5B,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,SAAS,CACV,CAAC;IAEF,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,eAAe,GAAG,IAAA,kCAAqB,EAC3C,WAAW,EACX,OAAO,EACP,aAAa,EACb,OAAO,EACP,IAAI,CACL,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,UAAU;QACV,SAAS;QACT,SAAS;QACT,eAAe;QACf,aAAa;QACb,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,oBAAoB,wBAyD/B;AAEK,MAAM,6BAA6B,GAAG,CAC3C,WAAwB,EACxB,YAA2B,EAC3B,OAAe,EACf,MAAc,EACd,UAAkB,EAClB,aAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"send-ibc-transfer.js","sourceRoot":"","sources":["../../src/ibc/send-ibc-transfer.ts"],"names":[],"mappings":";;;AACA,8BAKe;AACf,qCAA8C;AAC9C,uCAAgD;AAChD,6CAAqD;AAErD;;;;;;;;;;;GAWG;AACI,MAAM,oBAAoB,GAAG,CAClC,WAAwB,EACxB,YAA2B,EAC3B,OAAe,EACf,MAAc,EACd,UAAkB,EAClB,UAMI,EAAE,EACN,EAAE;IACF,MAAM,aAAa,GAAG,IAAA,6BAAmB,GAAE,CAAC;IAE5C,MAAM,YAAY,GAAG,IAAA,oBAAe,EAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,IAAA,2BAAkB,EACrC,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,IAAI,CACL,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,kBAAa,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,IAAA,iBAAY,EAC5B,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,SAAS,CACV,CAAC;IAEF,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,eAAe,GAAG,IAAA,kCAAqB,EAC3C,WAAW,EACX,OAAO,EACP,aAAa,EACb,OAAO,EACP,IAAI,CACL,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,UAAU;QACV,SAAS;QACT,SAAS;QACT,eAAe;QACf,aAAa;QACb,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,oBAAoB,wBAyD/B;AAEK,MAAM,6BAA6B,GAAG,CAC3C,WAAwB,EACxB,YAA2B,EAC3B,OAAe,EACf,MAAc,EACd,UAAkB,EAClB,aAAsB,EACtB,UAQI,EAAE,EACN,EAAE;IACF,MAAM,aAAa,GAAG,IAAA,6BAAmB,EAAC,CAAC,aAAa,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,IAAA,oBAAe,EAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,IAAA,2BAAkB,EACrC,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,aAAa,CACd,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,kBAAa,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,IAAA,iBAAY,EAC5B,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,SAAS,EACT;QACE,sBAAsB,EAAE,aAAa;YACnC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,OAAO,CAAC,sBAAsB;KACnC,CACF,CAAC;IAEF,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,eAAe,GAAG,IAAA,kCAAqB,EAC3C,WAAW,EACX,OAAO,EACP,aAAa,EACb,OAAO,EACP,aAAa,CACd,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,UAAU;QACV,SAAS;QACT,SAAS;QACT,eAAe;QACf,aAAa;QACb,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAjEW,QAAA,6BAA6B,iCAiExC"}
|
package/build/tx/fee.d.ts
CHANGED
|
@@ -45,8 +45,13 @@ export declare class FeeConfig extends TxChainSetter implements IFeeConfig {
|
|
|
45
45
|
currency: FeeCurrency;
|
|
46
46
|
}[];
|
|
47
47
|
protected canOsmosisTxFeesAndReady(): boolean;
|
|
48
|
+
protected canEIP1559TxFeesAndReady(): boolean;
|
|
48
49
|
readonly getFeeTypePrettyForFeeCurrency: (feeCurrency: FeeCurrency, feeType: FeeType) => CoinPretty;
|
|
49
50
|
readonly getGasPriceForFeeCurrency: (feeCurrency: FeeCurrency, feeType: FeeType) => Dec;
|
|
51
|
+
readonly getEIP1559TxFees: (feeType: FeeType) => {
|
|
52
|
+
maxPriorityFeePerGas: Dec;
|
|
53
|
+
maxFeePerGas: Dec;
|
|
54
|
+
};
|
|
50
55
|
protected populateGasPriceStep(feeCurrency: FeeCurrency, feeType: FeeType): Dec;
|
|
51
56
|
get uiProperties(): UIProperties;
|
|
52
57
|
}
|
package/build/tx/fee.js
CHANGED
|
@@ -15,6 +15,33 @@ const mobx_utils_1 = require("mobx-utils");
|
|
|
15
15
|
const react_1 = require("react");
|
|
16
16
|
const errors_1 = require("./errors");
|
|
17
17
|
const common_1 = require("@keplr-wallet/common");
|
|
18
|
+
const ETH_FEE_SETTINGS_BY_FEE_TYPE = {
|
|
19
|
+
low: {
|
|
20
|
+
percentile: 10,
|
|
21
|
+
baseFeePercentageMultiplier: new unit_1.Dec(1.1),
|
|
22
|
+
priorityFeePercentageMultiplier: new unit_1.Dec(0.94),
|
|
23
|
+
minSuggestedMaxPriorityFeePerGas: new unit_1.Dec(1000000000),
|
|
24
|
+
},
|
|
25
|
+
average: {
|
|
26
|
+
percentile: 20,
|
|
27
|
+
baseFeePercentageMultiplier: new unit_1.Dec(1.2),
|
|
28
|
+
priorityFeePercentageMultiplier: new unit_1.Dec(0.97),
|
|
29
|
+
minSuggestedMaxPriorityFeePerGas: new unit_1.Dec(1500000000),
|
|
30
|
+
},
|
|
31
|
+
high: {
|
|
32
|
+
percentile: 30,
|
|
33
|
+
baseFeePercentageMultiplier: new unit_1.Dec(1.25),
|
|
34
|
+
priorityFeePercentageMultiplier: new unit_1.Dec(0.98),
|
|
35
|
+
minSuggestedMaxPriorityFeePerGas: new unit_1.Dec(2000000000),
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
const ETH_FEE_HISTRORY_BLOCK_COUNT = 5;
|
|
39
|
+
const ETH_FEE_HISTORY_NEWEST_BLOCK = "latest";
|
|
40
|
+
const ETH_FEE_HISTORY_REWARD_PERCENTILES = [
|
|
41
|
+
ETH_FEE_SETTINGS_BY_FEE_TYPE.low.percentile,
|
|
42
|
+
ETH_FEE_SETTINGS_BY_FEE_TYPE.average.percentile,
|
|
43
|
+
ETH_FEE_SETTINGS_BY_FEE_TYPE.high.percentile,
|
|
44
|
+
];
|
|
18
45
|
class FeeConfig extends chain_1.TxChainSetter {
|
|
19
46
|
constructor(chainGetter, queriesStore, initialChainId, senderConfig, amountConfig, gasConfig, additionAmountToNeedFee = true, computeTerraClassicTax = false) {
|
|
20
47
|
super(chainGetter, initialChainId);
|
|
@@ -35,8 +62,9 @@ class FeeConfig extends chain_1.TxChainSetter {
|
|
|
35
62
|
this._disableBalanceCheck = false;
|
|
36
63
|
this.getFeeTypePrettyForFeeCurrency = (0, mobx_utils_1.computedFn)((feeCurrency, feeType) => {
|
|
37
64
|
const gas = this.gasConfig.gas;
|
|
38
|
-
const
|
|
39
|
-
|
|
65
|
+
const gasPrice = this.getGasPriceForFeeCurrency(feeCurrency, feeType);
|
|
66
|
+
const feeAmount = gasPrice.mul(new unit_1.Dec(gas));
|
|
67
|
+
return new unit_1.CoinPretty(feeCurrency, feeAmount.roundUp()).maxDecimals(feeCurrency.coinDecimals);
|
|
40
68
|
});
|
|
41
69
|
this.getGasPriceForFeeCurrency = (0, mobx_utils_1.computedFn)((feeCurrency, feeType) => {
|
|
42
70
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
@@ -94,9 +122,41 @@ class FeeConfig extends chain_1.TxChainSetter {
|
|
|
94
122
|
}
|
|
95
123
|
}
|
|
96
124
|
}
|
|
125
|
+
if (this.canEIP1559TxFeesAndReady()) {
|
|
126
|
+
const { maxFeePerGas } = this.getEIP1559TxFees(feeType);
|
|
127
|
+
return maxFeePerGas;
|
|
128
|
+
}
|
|
97
129
|
// TODO: Handle terra classic fee
|
|
98
130
|
return this.populateGasPriceStep(feeCurrency, feeType);
|
|
99
131
|
});
|
|
132
|
+
this.getEIP1559TxFees = (0, mobx_utils_1.computedFn)((feeType) => {
|
|
133
|
+
var _a, _b, _c, _d, _e;
|
|
134
|
+
if (this.canEIP1559TxFeesAndReady()) {
|
|
135
|
+
const ethereumQueries = this.queriesStore.get(this.chainId).ethereum;
|
|
136
|
+
const feeHistory = ethereumQueries === null || ethereumQueries === void 0 ? void 0 : ethereumQueries.queryEthereumFeeHistory.getQueryByFeeHistoryParams(ETH_FEE_HISTRORY_BLOCK_COUNT, ETH_FEE_HISTORY_NEWEST_BLOCK, ETH_FEE_HISTORY_REWARD_PERCENTILES).feeHistory;
|
|
137
|
+
if (feeHistory) {
|
|
138
|
+
const latestBaseFeePerGas = parseInt((_b = (_a = feeHistory.baseFeePerGas) === null || _a === void 0 ? void 0 : _a[feeHistory.baseFeePerGas.length - 1]) !== null && _b !== void 0 ? _b : "0");
|
|
139
|
+
const baseFeePerGas = new unit_1.Dec(latestBaseFeePerGas).mul(ETH_FEE_SETTINGS_BY_FEE_TYPE[feeType].baseFeePercentageMultiplier);
|
|
140
|
+
const priorityFeesPerGas = (_c = feeHistory.reward) === null || _c === void 0 ? void 0 : _c.map((priorityFeeByRewardPercentileIndex) => priorityFeeByRewardPercentileIndex[ETH_FEE_HISTORY_REWARD_PERCENTILES.findIndex((percentile) => percentile ===
|
|
141
|
+
ETH_FEE_SETTINGS_BY_FEE_TYPE[feeType].percentile)]);
|
|
142
|
+
const medianOfPriorityFeesPerGas = (_e = (_d = priorityFeesPerGas === null || priorityFeesPerGas === void 0 ? void 0 : priorityFeesPerGas.sort((a, b) => parseInt(a) - parseInt(b))) === null || _d === void 0 ? void 0 : _d[Math.floor((priorityFeesPerGas.length - 1) / 2)]) !== null && _e !== void 0 ? _e : "0";
|
|
143
|
+
const adjustedMaxPriorityFeePerGas = new unit_1.Dec(parseInt(medianOfPriorityFeesPerGas)).mul(ETH_FEE_SETTINGS_BY_FEE_TYPE[feeType].priorityFeePercentageMultiplier);
|
|
144
|
+
const maxPriorityFeePerGas = adjustedMaxPriorityFeePerGas.gt(ETH_FEE_SETTINGS_BY_FEE_TYPE[feeType].minSuggestedMaxPriorityFeePerGas)
|
|
145
|
+
? adjustedMaxPriorityFeePerGas
|
|
146
|
+
: ETH_FEE_SETTINGS_BY_FEE_TYPE[feeType]
|
|
147
|
+
.minSuggestedMaxPriorityFeePerGas;
|
|
148
|
+
const maxFeePerGas = baseFeePerGas.add(maxPriorityFeePerGas);
|
|
149
|
+
return {
|
|
150
|
+
maxPriorityFeePerGas: maxPriorityFeePerGas.truncateDec(),
|
|
151
|
+
maxFeePerGas: maxFeePerGas.truncateDec(),
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return {
|
|
156
|
+
maxPriorityFeePerGas: new unit_1.Dec(0),
|
|
157
|
+
maxFeePerGas: new unit_1.Dec(0),
|
|
158
|
+
};
|
|
159
|
+
});
|
|
100
160
|
this.additionAmountToNeedFee = additionAmountToNeedFee;
|
|
101
161
|
this.computeTerraClassicTax = computeTerraClassicTax;
|
|
102
162
|
(0, mobx_1.makeObservable)(this);
|
|
@@ -316,6 +376,21 @@ class FeeConfig extends chain_1.TxChainSetter {
|
|
|
316
376
|
}
|
|
317
377
|
return false;
|
|
318
378
|
}
|
|
379
|
+
canEIP1559TxFeesAndReady() {
|
|
380
|
+
if (this.chainInfo.evm) {
|
|
381
|
+
const queries = this.queriesStore.get(this.chainId);
|
|
382
|
+
if (!queries.ethereum) {
|
|
383
|
+
console.log("Chain supports EVM. But no ethereum queries provided.");
|
|
384
|
+
return false;
|
|
385
|
+
}
|
|
386
|
+
const feeHistory = queries.ethereum.queryEthereumFeeHistory.getQueryByFeeHistoryParams(ETH_FEE_HISTRORY_BLOCK_COUNT, ETH_FEE_HISTORY_NEWEST_BLOCK, ETH_FEE_HISTORY_REWARD_PERCENTILES).feeHistory;
|
|
387
|
+
const latestBlock = queries.ethereum.queryEthereumBlock.getQueryByBlockNumberOrTag(ETH_FEE_HISTORY_NEWEST_BLOCK).block;
|
|
388
|
+
if ((feeHistory === null || feeHistory === void 0 ? void 0 : feeHistory.baseFeePerGas) && (latestBlock === null || latestBlock === void 0 ? void 0 : latestBlock.baseFeePerGas)) {
|
|
389
|
+
return true;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
return false;
|
|
393
|
+
}
|
|
319
394
|
populateGasPriceStep(feeCurrency, feeType) {
|
|
320
395
|
var _a;
|
|
321
396
|
const gasPriceStep = (_a = feeCurrency.gasPriceStep) !== null && _a !== void 0 ? _a : types_1.DefaultGasPriceStep;
|
package/build/tx/fee.js.map
CHANGED
|
@@ -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/internal.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CosmosQueriesImpl, IQueriesStore, OsmosisQueries } from "@keplr-wallet/stores";
|
|
2
2
|
import { KeplrETCQueriesImpl } from "@keplr-wallet/stores-etc";
|
|
3
|
-
|
|
3
|
+
import { EthereumQueries } from "@keplr-wallet/stores-eth";
|
|
4
|
+
export type QueriesStore = IQueriesStore<Partial<OsmosisQueries> & Partial<EthereumQueries> & {
|
|
4
5
|
cosmos?: Pick<CosmosQueriesImpl, "queryDelegations">;
|
|
5
6
|
} & {
|
|
6
7
|
keplrETC?: Pick<KeplrETCQueriesImpl, "queryTerraClassicTaxRate" | "queryTerraClassicTaxCaps">;
|
package/build/tx/recipient.d.ts
CHANGED
|
@@ -8,7 +8,8 @@ interface ICNSFetchData {
|
|
|
8
8
|
}
|
|
9
9
|
export declare class RecipientConfig extends TxChainSetter implements IRecipientConfig, IRecipientConfigWithICNS {
|
|
10
10
|
protected _value: string;
|
|
11
|
-
protected
|
|
11
|
+
protected _allowHexAddressToBech32Address: boolean | undefined;
|
|
12
|
+
protected _allowHexAddressOnly: boolean | undefined;
|
|
12
13
|
protected _bech32Prefix: string | undefined;
|
|
13
14
|
protected _icns: {
|
|
14
15
|
chainId: string;
|
|
@@ -28,13 +29,16 @@ export declare class RecipientConfig extends TxChainSetter implements IRecipient
|
|
|
28
29
|
get isICNSFetching(): boolean;
|
|
29
30
|
get icnsExpectedBech32Prefix(): string;
|
|
30
31
|
get recipient(): string;
|
|
31
|
-
|
|
32
|
+
setAllowHexAddressToBech32Address(value: boolean | undefined): void;
|
|
33
|
+
setAllowHexAddressOnly(value: boolean | undefined): void;
|
|
32
34
|
get uiProperties(): UIProperties;
|
|
33
35
|
get value(): string;
|
|
34
36
|
setValue(value: string): void;
|
|
37
|
+
get isRecipientEthereumHexAddress(): boolean;
|
|
35
38
|
}
|
|
36
39
|
export declare const useRecipientConfig: (chainGetter: ChainGetter, chainId: string, options?: {
|
|
37
|
-
|
|
40
|
+
allowHexAddressToBech32Address?: boolean | undefined;
|
|
41
|
+
allowHexAddressOnly?: boolean | undefined;
|
|
38
42
|
icns?: {
|
|
39
43
|
chainId: string;
|
|
40
44
|
resolverContractAddress: string;
|
package/build/tx/recipient.js
CHANGED
|
@@ -8,18 +8,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.useRecipientConfig = exports.RecipientConfig = void 0;
|
|
10
10
|
const chain_1 = require("./chain");
|
|
11
|
+
const stores_eth_1 = require("@keplr-wallet/stores-eth");
|
|
11
12
|
const mobx_1 = require("mobx");
|
|
12
13
|
const errors_1 = require("./errors");
|
|
13
14
|
const cosmos_1 = require("@keplr-wallet/cosmos");
|
|
14
15
|
const react_1 = require("react");
|
|
15
|
-
const address_1 = require("@ethersproject/address");
|
|
16
16
|
const buffer_1 = require("buffer/");
|
|
17
17
|
const common_1 = require("@keplr-wallet/common");
|
|
18
18
|
class RecipientConfig extends chain_1.TxChainSetter {
|
|
19
19
|
constructor(chainGetter, initialChainId) {
|
|
20
20
|
super(chainGetter, initialChainId);
|
|
21
21
|
this._value = "";
|
|
22
|
-
this.
|
|
22
|
+
this._allowHexAddressToBech32Address = undefined;
|
|
23
|
+
this._allowHexAddressOnly = undefined;
|
|
23
24
|
this._bech32Prefix = undefined;
|
|
24
25
|
// Deep equal check is required to avoid infinite re-render.
|
|
25
26
|
this._icns = undefined;
|
|
@@ -117,28 +118,24 @@ class RecipientConfig extends chain_1.TxChainSetter {
|
|
|
117
118
|
return "";
|
|
118
119
|
}
|
|
119
120
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
catch (_d) {
|
|
133
|
-
return "";
|
|
134
|
-
}
|
|
135
|
-
return "";
|
|
136
|
-
}
|
|
121
|
+
const chainInfo = this.chainInfo;
|
|
122
|
+
const isEvmChain = !!stores_eth_1.EthereumAccountBase.evmInfo(this.chainInfo);
|
|
123
|
+
const hasEthereumAddress = chainInfo.bip44.coinType === 60 ||
|
|
124
|
+
!!((_a = chainInfo.features) === null || _a === void 0 ? void 0 : _a.includes("eth-address-gen")) ||
|
|
125
|
+
!!((_b = chainInfo.features) === null || _b === void 0 ? void 0 : _b.includes("eth-key-sign")) ||
|
|
126
|
+
isEvmChain;
|
|
127
|
+
if (hasEthereumAddress &&
|
|
128
|
+
stores_eth_1.EthereumAccountBase.isEthereumHexAddressWithChecksum(rawRecipient) &&
|
|
129
|
+
this._allowHexAddressToBech32Address) {
|
|
130
|
+
return new cosmos_1.Bech32Address(buffer_1.Buffer.from(rawRecipient.replace("0x", "").toLowerCase(), "hex")).toBech32(this.bech32Prefix);
|
|
137
131
|
}
|
|
138
132
|
return rawRecipient;
|
|
139
133
|
}
|
|
140
|
-
|
|
141
|
-
this.
|
|
134
|
+
setAllowHexAddressToBech32Address(value) {
|
|
135
|
+
this._allowHexAddressToBech32Address = value;
|
|
136
|
+
}
|
|
137
|
+
setAllowHexAddressOnly(value) {
|
|
138
|
+
this._allowHexAddressOnly = value;
|
|
142
139
|
}
|
|
143
140
|
get uiProperties() {
|
|
144
141
|
var _a, _b;
|
|
@@ -176,27 +173,21 @@ class RecipientConfig extends chain_1.TxChainSetter {
|
|
|
176
173
|
};
|
|
177
174
|
}
|
|
178
175
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
catch (e) {
|
|
196
|
-
return {
|
|
197
|
-
error: e,
|
|
198
|
-
};
|
|
199
|
-
}
|
|
176
|
+
const chainInfo = this.chainInfo;
|
|
177
|
+
const isEvmChain = !!stores_eth_1.EthereumAccountBase.evmInfo(this.chainInfo);
|
|
178
|
+
const hasEthereumAddress = chainInfo.bip44.coinType === 60 ||
|
|
179
|
+
!!((_a = chainInfo.features) === null || _a === void 0 ? void 0 : _a.includes("eth-address-gen")) ||
|
|
180
|
+
!!((_b = chainInfo.features) === null || _b === void 0 ? void 0 : _b.includes("eth-key-sign")) ||
|
|
181
|
+
isEvmChain;
|
|
182
|
+
if (hasEthereumAddress &&
|
|
183
|
+
(rawRecipient.startsWith("0x") || this._allowHexAddressOnly)) {
|
|
184
|
+
if (stores_eth_1.EthereumAccountBase.isEthereumHexAddressWithChecksum(rawRecipient)) {
|
|
185
|
+
return {};
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
return {
|
|
189
|
+
error: new errors_1.InvalidHexError("Invalid hex address for chain"),
|
|
190
|
+
};
|
|
200
191
|
}
|
|
201
192
|
}
|
|
202
193
|
try {
|
|
@@ -215,13 +206,20 @@ class RecipientConfig extends chain_1.TxChainSetter {
|
|
|
215
206
|
setValue(value) {
|
|
216
207
|
this._value = value;
|
|
217
208
|
}
|
|
209
|
+
get isRecipientEthereumHexAddress() {
|
|
210
|
+
const rawRecipient = this.value.trim();
|
|
211
|
+
return stores_eth_1.EthereumAccountBase.isEthereumHexAddressWithChecksum(rawRecipient);
|
|
212
|
+
}
|
|
218
213
|
}
|
|
219
214
|
__decorate([
|
|
220
215
|
mobx_1.observable
|
|
221
216
|
], RecipientConfig.prototype, "_value", void 0);
|
|
222
217
|
__decorate([
|
|
223
218
|
mobx_1.observable
|
|
224
|
-
], RecipientConfig.prototype, "
|
|
219
|
+
], RecipientConfig.prototype, "_allowHexAddressToBech32Address", void 0);
|
|
220
|
+
__decorate([
|
|
221
|
+
mobx_1.observable
|
|
222
|
+
], RecipientConfig.prototype, "_allowHexAddressOnly", void 0);
|
|
225
223
|
__decorate([
|
|
226
224
|
mobx_1.observable
|
|
227
225
|
], RecipientConfig.prototype, "_bech32Prefix", void 0);
|
|
@@ -248,18 +246,25 @@ __decorate([
|
|
|
248
246
|
], RecipientConfig.prototype, "isICNSFetching", null);
|
|
249
247
|
__decorate([
|
|
250
248
|
mobx_1.action
|
|
251
|
-
], RecipientConfig.prototype, "
|
|
249
|
+
], RecipientConfig.prototype, "setAllowHexAddressToBech32Address", null);
|
|
250
|
+
__decorate([
|
|
251
|
+
mobx_1.action
|
|
252
|
+
], RecipientConfig.prototype, "setAllowHexAddressOnly", null);
|
|
252
253
|
__decorate([
|
|
253
254
|
mobx_1.computed
|
|
254
255
|
], RecipientConfig.prototype, "uiProperties", null);
|
|
255
256
|
__decorate([
|
|
256
257
|
mobx_1.action
|
|
257
258
|
], RecipientConfig.prototype, "setValue", null);
|
|
259
|
+
__decorate([
|
|
260
|
+
mobx_1.computed
|
|
261
|
+
], RecipientConfig.prototype, "isRecipientEthereumHexAddress", null);
|
|
258
262
|
exports.RecipientConfig = RecipientConfig;
|
|
259
263
|
const useRecipientConfig = (chainGetter, chainId, options = {}) => {
|
|
260
264
|
const [config] = (0, react_1.useState)(() => new RecipientConfig(chainGetter, chainId));
|
|
261
265
|
config.setChain(chainId);
|
|
262
|
-
config.
|
|
266
|
+
config.setAllowHexAddressToBech32Address(options.allowHexAddressToBech32Address);
|
|
267
|
+
config.setAllowHexAddressToBech32Address(options.allowHexAddressOnly);
|
|
263
268
|
config.setICNS(options.icns);
|
|
264
269
|
return config;
|
|
265
270
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipient.js","sourceRoot":"","sources":["../../src/tx/recipient.ts"],"names":[],"mappings":";;;;;;;;;AAKA,mCAAwC;AAExC,+BAMc;AACd,qCAKkB;AAClB,iDAAoE;AACpE,iCAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"recipient.js","sourceRoot":"","sources":["../../src/tx/recipient.ts"],"names":[],"mappings":"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"}
|
package/build/tx/send-tx.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChainGetter } from "@keplr-wallet/stores";
|
|
2
2
|
import { QueriesStore } from "./internal";
|
|
3
3
|
export declare const useSendTxConfig: (chainGetter: ChainGetter, queriesStore: QueriesStore, chainId: string, sender: string, initialGas: number, options?: {
|
|
4
|
-
|
|
4
|
+
allowHexAddressToBech32Address?: boolean | undefined;
|
|
5
5
|
icns?: {
|
|
6
6
|
chainId: string;
|
|
7
7
|
resolverContractAddress: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keplr-wallet/hooks",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.71-rc.0",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"author": "chainapsis",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@ethersproject/address": "^5.6.0",
|
|
20
|
-
"@keplr-wallet/background": "0.12.
|
|
21
|
-
"@keplr-wallet/common": "0.12.
|
|
22
|
-
"@keplr-wallet/cosmos": "0.12.
|
|
23
|
-
"@keplr-wallet/crypto": "0.12.
|
|
24
|
-
"@keplr-wallet/proto-types": "0.12.
|
|
25
|
-
"@keplr-wallet/simple-fetch": "0.12.
|
|
26
|
-
"@keplr-wallet/stores": "0.12.
|
|
27
|
-
"@keplr-wallet/stores-etc": "0.12.
|
|
28
|
-
"@keplr-wallet/types": "0.12.
|
|
29
|
-
"@keplr-wallet/unit": "0.12.
|
|
20
|
+
"@keplr-wallet/background": "0.12.71-rc.0",
|
|
21
|
+
"@keplr-wallet/common": "0.12.71-rc.0",
|
|
22
|
+
"@keplr-wallet/cosmos": "0.12.71-rc.0",
|
|
23
|
+
"@keplr-wallet/crypto": "0.12.71-rc.0",
|
|
24
|
+
"@keplr-wallet/proto-types": "0.12.71-rc.0",
|
|
25
|
+
"@keplr-wallet/simple-fetch": "0.12.71-rc.0",
|
|
26
|
+
"@keplr-wallet/stores": "0.12.71-rc.0",
|
|
27
|
+
"@keplr-wallet/stores-etc": "0.12.71-rc.0",
|
|
28
|
+
"@keplr-wallet/types": "0.12.71-rc.0",
|
|
29
|
+
"@keplr-wallet/unit": "0.12.71-rc.0",
|
|
30
30
|
"buffer": "^6.0.3",
|
|
31
31
|
"long": "^4.0.0",
|
|
32
32
|
"utility-types": "^3.10.0"
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"mobx-utils": "^6",
|
|
37
37
|
"react": "^16.8.0 || ^17 || ^18"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "5a94681ed08ad2c2fe2ef3edb33a1c7cf6fa0dfc"
|
|
40
40
|
}
|
package/src/ibc/reciepient.ts
CHANGED
|
@@ -59,7 +59,8 @@ export const useIBCRecipientConfig = (
|
|
|
59
59
|
chainId: string,
|
|
60
60
|
channelConfig: IIBCChannelConfig,
|
|
61
61
|
options: {
|
|
62
|
-
|
|
62
|
+
allowHexAddressToBech32Address?: boolean;
|
|
63
|
+
allowHexAddressOnly?: boolean;
|
|
63
64
|
icns?: {
|
|
64
65
|
chainId: string;
|
|
65
66
|
resolverContractAddress: string;
|
|
@@ -72,7 +73,10 @@ export const useIBCRecipientConfig = (
|
|
|
72
73
|
new IBCRecipientConfig(chainGetter, chainId, channelConfig, isIBCTransfer)
|
|
73
74
|
);
|
|
74
75
|
config.setChain(chainId);
|
|
75
|
-
config.
|
|
76
|
+
config.setAllowHexAddressToBech32Address(
|
|
77
|
+
options.allowHexAddressToBech32Address
|
|
78
|
+
);
|
|
79
|
+
config.setAllowHexAddressOnly(options.allowHexAddressOnly);
|
|
76
80
|
config.setICNS(options.icns);
|
|
77
81
|
config.setIsIBCTransfer(isIBCTransfer);
|
|
78
82
|
|
|
@@ -28,7 +28,7 @@ export const useIBCTransferConfig = (
|
|
|
28
28
|
sender: string,
|
|
29
29
|
initialGas: number,
|
|
30
30
|
options: {
|
|
31
|
-
|
|
31
|
+
allowHexAddressToBech32Address?: boolean;
|
|
32
32
|
icns?: {
|
|
33
33
|
chainId: string;
|
|
34
34
|
resolverContractAddress: string;
|
|
@@ -88,7 +88,8 @@ export const useSendMixedIBCTransferConfig = (
|
|
|
88
88
|
initialGas: number,
|
|
89
89
|
isIBCTransfer: boolean,
|
|
90
90
|
options: {
|
|
91
|
-
|
|
91
|
+
allowHexAddressToBech32Address?: boolean;
|
|
92
|
+
allowHexAddressOnly?: boolean;
|
|
92
93
|
icns?: {
|
|
93
94
|
chainId: string;
|
|
94
95
|
resolverContractAddress: string;
|
package/src/tx/fee.ts
CHANGED
|
@@ -18,6 +18,42 @@ import { InsufficientFeeError } from "./errors";
|
|
|
18
18
|
import { QueriesStore } from "./internal";
|
|
19
19
|
import { DenomHelper } from "@keplr-wallet/common";
|
|
20
20
|
|
|
21
|
+
const ETH_FEE_SETTINGS_BY_FEE_TYPE: Record<
|
|
22
|
+
FeeType,
|
|
23
|
+
{
|
|
24
|
+
percentile: number;
|
|
25
|
+
baseFeePercentageMultiplier: Dec;
|
|
26
|
+
priorityFeePercentageMultiplier: Dec;
|
|
27
|
+
minSuggestedMaxPriorityFeePerGas: Dec;
|
|
28
|
+
}
|
|
29
|
+
> = {
|
|
30
|
+
low: {
|
|
31
|
+
percentile: 10,
|
|
32
|
+
baseFeePercentageMultiplier: new Dec(1.1),
|
|
33
|
+
priorityFeePercentageMultiplier: new Dec(0.94),
|
|
34
|
+
minSuggestedMaxPriorityFeePerGas: new Dec(1_000_000_000),
|
|
35
|
+
},
|
|
36
|
+
average: {
|
|
37
|
+
percentile: 20,
|
|
38
|
+
baseFeePercentageMultiplier: new Dec(1.2),
|
|
39
|
+
priorityFeePercentageMultiplier: new Dec(0.97),
|
|
40
|
+
minSuggestedMaxPriorityFeePerGas: new Dec(1_500_000_000),
|
|
41
|
+
},
|
|
42
|
+
high: {
|
|
43
|
+
percentile: 30,
|
|
44
|
+
baseFeePercentageMultiplier: new Dec(1.25),
|
|
45
|
+
priorityFeePercentageMultiplier: new Dec(0.98),
|
|
46
|
+
minSuggestedMaxPriorityFeePerGas: new Dec(2_000_000_000),
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
const ETH_FEE_HISTRORY_BLOCK_COUNT = 5;
|
|
50
|
+
const ETH_FEE_HISTORY_NEWEST_BLOCK = "latest";
|
|
51
|
+
const ETH_FEE_HISTORY_REWARD_PERCENTILES = [
|
|
52
|
+
ETH_FEE_SETTINGS_BY_FEE_TYPE.low.percentile,
|
|
53
|
+
ETH_FEE_SETTINGS_BY_FEE_TYPE.average.percentile,
|
|
54
|
+
ETH_FEE_SETTINGS_BY_FEE_TYPE.high.percentile,
|
|
55
|
+
];
|
|
56
|
+
|
|
21
57
|
export class FeeConfig extends TxChainSetter implements IFeeConfig {
|
|
22
58
|
@observable.ref
|
|
23
59
|
protected _fee:
|
|
@@ -373,14 +409,40 @@ export class FeeConfig extends TxChainSetter implements IFeeConfig {
|
|
|
373
409
|
return false;
|
|
374
410
|
}
|
|
375
411
|
|
|
412
|
+
protected canEIP1559TxFeesAndReady(): boolean {
|
|
413
|
+
if (this.chainInfo.evm) {
|
|
414
|
+
const queries = this.queriesStore.get(this.chainId);
|
|
415
|
+
if (!queries.ethereum) {
|
|
416
|
+
console.log("Chain supports EVM. But no ethereum queries provided.");
|
|
417
|
+
return false;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
const feeHistory =
|
|
421
|
+
queries.ethereum.queryEthereumFeeHistory.getQueryByFeeHistoryParams(
|
|
422
|
+
ETH_FEE_HISTRORY_BLOCK_COUNT,
|
|
423
|
+
ETH_FEE_HISTORY_NEWEST_BLOCK,
|
|
424
|
+
ETH_FEE_HISTORY_REWARD_PERCENTILES
|
|
425
|
+
).feeHistory;
|
|
426
|
+
const latestBlock =
|
|
427
|
+
queries.ethereum.queryEthereumBlock.getQueryByBlockNumberOrTag(
|
|
428
|
+
ETH_FEE_HISTORY_NEWEST_BLOCK
|
|
429
|
+
).block;
|
|
430
|
+
|
|
431
|
+
if (feeHistory?.baseFeePerGas && latestBlock?.baseFeePerGas) {
|
|
432
|
+
return true;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
return false;
|
|
437
|
+
}
|
|
438
|
+
|
|
376
439
|
readonly getFeeTypePrettyForFeeCurrency = computedFn(
|
|
377
440
|
(feeCurrency: FeeCurrency, feeType: FeeType) => {
|
|
378
441
|
const gas = this.gasConfig.gas;
|
|
379
|
-
const
|
|
380
|
-
|
|
381
|
-
);
|
|
442
|
+
const gasPrice = this.getGasPriceForFeeCurrency(feeCurrency, feeType);
|
|
443
|
+
const feeAmount = gasPrice.mul(new Dec(gas));
|
|
382
444
|
|
|
383
|
-
return new CoinPretty(feeCurrency,
|
|
445
|
+
return new CoinPretty(feeCurrency, feeAmount.roundUp()).maxDecimals(
|
|
384
446
|
feeCurrency.coinDecimals
|
|
385
447
|
);
|
|
386
448
|
}
|
|
@@ -488,12 +550,74 @@ export class FeeConfig extends TxChainSetter implements IFeeConfig {
|
|
|
488
550
|
}
|
|
489
551
|
}
|
|
490
552
|
|
|
553
|
+
if (this.canEIP1559TxFeesAndReady()) {
|
|
554
|
+
const { maxFeePerGas } = this.getEIP1559TxFees(feeType);
|
|
555
|
+
|
|
556
|
+
return maxFeePerGas;
|
|
557
|
+
}
|
|
558
|
+
|
|
491
559
|
// TODO: Handle terra classic fee
|
|
492
560
|
|
|
493
561
|
return this.populateGasPriceStep(feeCurrency, feeType);
|
|
494
562
|
}
|
|
495
563
|
);
|
|
496
564
|
|
|
565
|
+
readonly getEIP1559TxFees = computedFn((feeType: FeeType) => {
|
|
566
|
+
if (this.canEIP1559TxFeesAndReady()) {
|
|
567
|
+
const ethereumQueries = this.queriesStore.get(this.chainId).ethereum;
|
|
568
|
+
const feeHistory =
|
|
569
|
+
ethereumQueries?.queryEthereumFeeHistory.getQueryByFeeHistoryParams(
|
|
570
|
+
ETH_FEE_HISTRORY_BLOCK_COUNT,
|
|
571
|
+
ETH_FEE_HISTORY_NEWEST_BLOCK,
|
|
572
|
+
ETH_FEE_HISTORY_REWARD_PERCENTILES
|
|
573
|
+
).feeHistory;
|
|
574
|
+
if (feeHistory) {
|
|
575
|
+
const latestBaseFeePerGas = parseInt(
|
|
576
|
+
feeHistory.baseFeePerGas?.[feeHistory.baseFeePerGas.length - 1] ?? "0"
|
|
577
|
+
);
|
|
578
|
+
const baseFeePerGas = new Dec(latestBaseFeePerGas).mul(
|
|
579
|
+
ETH_FEE_SETTINGS_BY_FEE_TYPE[feeType].baseFeePercentageMultiplier
|
|
580
|
+
);
|
|
581
|
+
const priorityFeesPerGas = feeHistory.reward?.map(
|
|
582
|
+
(priorityFeeByRewardPercentileIndex) =>
|
|
583
|
+
priorityFeeByRewardPercentileIndex[
|
|
584
|
+
ETH_FEE_HISTORY_REWARD_PERCENTILES.findIndex(
|
|
585
|
+
(percentile) =>
|
|
586
|
+
percentile ===
|
|
587
|
+
ETH_FEE_SETTINGS_BY_FEE_TYPE[feeType].percentile
|
|
588
|
+
)
|
|
589
|
+
]
|
|
590
|
+
);
|
|
591
|
+
const medianOfPriorityFeesPerGas =
|
|
592
|
+
priorityFeesPerGas?.sort((a, b) => parseInt(a) - parseInt(b))?.[
|
|
593
|
+
Math.floor((priorityFeesPerGas.length - 1) / 2)
|
|
594
|
+
] ?? "0";
|
|
595
|
+
const adjustedMaxPriorityFeePerGas = new Dec(
|
|
596
|
+
parseInt(medianOfPriorityFeesPerGas)
|
|
597
|
+
).mul(
|
|
598
|
+
ETH_FEE_SETTINGS_BY_FEE_TYPE[feeType].priorityFeePercentageMultiplier
|
|
599
|
+
);
|
|
600
|
+
const maxPriorityFeePerGas = adjustedMaxPriorityFeePerGas.gt(
|
|
601
|
+
ETH_FEE_SETTINGS_BY_FEE_TYPE[feeType].minSuggestedMaxPriorityFeePerGas
|
|
602
|
+
)
|
|
603
|
+
? adjustedMaxPriorityFeePerGas
|
|
604
|
+
: ETH_FEE_SETTINGS_BY_FEE_TYPE[feeType]
|
|
605
|
+
.minSuggestedMaxPriorityFeePerGas;
|
|
606
|
+
const maxFeePerGas = baseFeePerGas.add(maxPriorityFeePerGas);
|
|
607
|
+
|
|
608
|
+
return {
|
|
609
|
+
maxPriorityFeePerGas: maxPriorityFeePerGas.truncateDec(),
|
|
610
|
+
maxFeePerGas: maxFeePerGas.truncateDec(),
|
|
611
|
+
};
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
return {
|
|
616
|
+
maxPriorityFeePerGas: new Dec(0),
|
|
617
|
+
maxFeePerGas: new Dec(0),
|
|
618
|
+
};
|
|
619
|
+
});
|
|
620
|
+
|
|
497
621
|
protected populateGasPriceStep(
|
|
498
622
|
feeCurrency: FeeCurrency,
|
|
499
623
|
feeType: FeeType
|
package/src/tx/internal.ts
CHANGED
|
@@ -4,14 +4,16 @@ import {
|
|
|
4
4
|
OsmosisQueries,
|
|
5
5
|
} from "@keplr-wallet/stores";
|
|
6
6
|
import { KeplrETCQueriesImpl } from "@keplr-wallet/stores-etc";
|
|
7
|
+
import { EthereumQueries } from "@keplr-wallet/stores-eth";
|
|
7
8
|
|
|
8
9
|
export type QueriesStore = IQueriesStore<
|
|
9
|
-
Partial<OsmosisQueries> &
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
Partial<OsmosisQueries> &
|
|
11
|
+
Partial<EthereumQueries> & {
|
|
12
|
+
cosmos?: Pick<CosmosQueriesImpl, "queryDelegations">;
|
|
13
|
+
} & {
|
|
14
|
+
keplrETC?: Pick<
|
|
15
|
+
KeplrETCQueriesImpl,
|
|
16
|
+
"queryTerraClassicTaxRate" | "queryTerraClassicTaxCaps"
|
|
17
|
+
>;
|
|
18
|
+
}
|
|
17
19
|
>;
|
package/src/tx/recipient.ts
CHANGED
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
} from "./types";
|
|
6
6
|
import { TxChainSetter } from "./chain";
|
|
7
7
|
import { ChainGetter } from "@keplr-wallet/stores";
|
|
8
|
+
import { EthereumAccountBase } from "@keplr-wallet/stores-eth";
|
|
8
9
|
import {
|
|
9
10
|
action,
|
|
10
11
|
computed,
|
|
@@ -20,7 +21,6 @@ import {
|
|
|
20
21
|
} from "./errors";
|
|
21
22
|
import { Bech32Address, ChainIdHelper } from "@keplr-wallet/cosmos";
|
|
22
23
|
import { useState } from "react";
|
|
23
|
-
import { isAddress } from "@ethersproject/address";
|
|
24
24
|
import { Buffer } from "buffer/";
|
|
25
25
|
import { validateICNSName } from "@keplr-wallet/common";
|
|
26
26
|
|
|
@@ -38,7 +38,10 @@ export class RecipientConfig
|
|
|
38
38
|
protected _value: string = "";
|
|
39
39
|
|
|
40
40
|
@observable
|
|
41
|
-
protected
|
|
41
|
+
protected _allowHexAddressToBech32Address: boolean | undefined = undefined;
|
|
42
|
+
|
|
43
|
+
@observable
|
|
44
|
+
protected _allowHexAddressOnly: boolean | undefined = undefined;
|
|
42
45
|
|
|
43
46
|
@observable
|
|
44
47
|
protected _bech32Prefix: string | undefined = undefined;
|
|
@@ -178,34 +181,34 @@ export class RecipientConfig
|
|
|
178
181
|
}
|
|
179
182
|
}
|
|
180
183
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
} catch {
|
|
197
|
-
return "";
|
|
198
|
-
}
|
|
199
|
-
return "";
|
|
200
|
-
}
|
|
184
|
+
const chainInfo = this.chainInfo;
|
|
185
|
+
const isEvmChain = !!EthereumAccountBase.evmInfo(this.chainInfo);
|
|
186
|
+
const hasEthereumAddress =
|
|
187
|
+
chainInfo.bip44.coinType === 60 ||
|
|
188
|
+
!!chainInfo.features?.includes("eth-address-gen") ||
|
|
189
|
+
!!chainInfo.features?.includes("eth-key-sign") ||
|
|
190
|
+
isEvmChain;
|
|
191
|
+
if (
|
|
192
|
+
hasEthereumAddress &&
|
|
193
|
+
EthereumAccountBase.isEthereumHexAddressWithChecksum(rawRecipient) &&
|
|
194
|
+
this._allowHexAddressToBech32Address
|
|
195
|
+
) {
|
|
196
|
+
return new Bech32Address(
|
|
197
|
+
Buffer.from(rawRecipient.replace("0x", "").toLowerCase(), "hex")
|
|
198
|
+
).toBech32(this.bech32Prefix);
|
|
201
199
|
}
|
|
202
200
|
|
|
203
201
|
return rawRecipient;
|
|
204
202
|
}
|
|
205
203
|
|
|
206
204
|
@action
|
|
207
|
-
|
|
208
|
-
this.
|
|
205
|
+
setAllowHexAddressToBech32Address(value: boolean | undefined) {
|
|
206
|
+
this._allowHexAddressToBech32Address = value;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
@action
|
|
210
|
+
setAllowHexAddressOnly(value: boolean | undefined) {
|
|
211
|
+
this._allowHexAddressOnly = value;
|
|
209
212
|
}
|
|
210
213
|
|
|
211
214
|
@computed
|
|
@@ -254,26 +257,23 @@ export class RecipientConfig
|
|
|
254
257
|
}
|
|
255
258
|
}
|
|
256
259
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
error: e,
|
|
275
|
-
};
|
|
276
|
-
}
|
|
260
|
+
const chainInfo = this.chainInfo;
|
|
261
|
+
const isEvmChain = !!EthereumAccountBase.evmInfo(this.chainInfo);
|
|
262
|
+
const hasEthereumAddress =
|
|
263
|
+
chainInfo.bip44.coinType === 60 ||
|
|
264
|
+
!!chainInfo.features?.includes("eth-address-gen") ||
|
|
265
|
+
!!chainInfo.features?.includes("eth-key-sign") ||
|
|
266
|
+
isEvmChain;
|
|
267
|
+
if (
|
|
268
|
+
hasEthereumAddress &&
|
|
269
|
+
(rawRecipient.startsWith("0x") || this._allowHexAddressOnly)
|
|
270
|
+
) {
|
|
271
|
+
if (EthereumAccountBase.isEthereumHexAddressWithChecksum(rawRecipient)) {
|
|
272
|
+
return {};
|
|
273
|
+
} else {
|
|
274
|
+
return {
|
|
275
|
+
error: new InvalidHexError("Invalid hex address for chain"),
|
|
276
|
+
};
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
|
|
@@ -297,13 +297,20 @@ export class RecipientConfig
|
|
|
297
297
|
setValue(value: string): void {
|
|
298
298
|
this._value = value;
|
|
299
299
|
}
|
|
300
|
+
|
|
301
|
+
@computed
|
|
302
|
+
get isRecipientEthereumHexAddress(): boolean {
|
|
303
|
+
const rawRecipient = this.value.trim();
|
|
304
|
+
return EthereumAccountBase.isEthereumHexAddressWithChecksum(rawRecipient);
|
|
305
|
+
}
|
|
300
306
|
}
|
|
301
307
|
|
|
302
308
|
export const useRecipientConfig = (
|
|
303
309
|
chainGetter: ChainGetter,
|
|
304
310
|
chainId: string,
|
|
305
311
|
options: {
|
|
306
|
-
|
|
312
|
+
allowHexAddressToBech32Address?: boolean;
|
|
313
|
+
allowHexAddressOnly?: boolean;
|
|
307
314
|
icns?: {
|
|
308
315
|
chainId: string;
|
|
309
316
|
resolverContractAddress: string;
|
|
@@ -312,7 +319,10 @@ export const useRecipientConfig = (
|
|
|
312
319
|
) => {
|
|
313
320
|
const [config] = useState(() => new RecipientConfig(chainGetter, chainId));
|
|
314
321
|
config.setChain(chainId);
|
|
315
|
-
config.
|
|
322
|
+
config.setAllowHexAddressToBech32Address(
|
|
323
|
+
options.allowHexAddressToBech32Address
|
|
324
|
+
);
|
|
325
|
+
config.setAllowHexAddressToBech32Address(options.allowHexAddressOnly);
|
|
316
326
|
config.setICNS(options.icns);
|
|
317
327
|
|
|
318
328
|
return config;
|
package/src/tx/send-tx.ts
CHANGED