@keplr-wallet/stores 0.12.219 → 0.12.220
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/account/cosmos.js +21 -6
- package/build/account/cosmos.js.map +1 -1
- package/build/account/utils.d.ts +2 -1
- package/build/account/utils.js +13 -7
- package/build/account/utils.js.map +1 -1
- package/build/token-factory/currency-registrar.d.ts +24 -4
- package/build/token-factory/currency-registrar.js +129 -44
- package/build/token-factory/currency-registrar.js.map +1 -1
- package/package.json +11 -11
- package/src/account/cosmos.ts +55 -35
- package/src/account/utils.ts +14 -6
- package/src/token-factory/currency-registrar.ts +175 -76
package/build/account/cosmos.js
CHANGED
|
@@ -299,8 +299,11 @@ class CosmosAccountImpl {
|
|
|
299
299
|
msgs: aminoMsgs,
|
|
300
300
|
memo: (0, common_1.escapeHTML)(memo),
|
|
301
301
|
};
|
|
302
|
+
const chainInfo = this.chainGetter.getChain(this.chainId);
|
|
302
303
|
const chainIsInjective = this.chainId.startsWith("injective");
|
|
303
304
|
const chainIsStratos = this.chainId.startsWith("stratos");
|
|
305
|
+
const ethSignPlainJson = chainInfo.features &&
|
|
306
|
+
chainInfo.features.includes("evm-ledger-sign-plain-json");
|
|
304
307
|
if (eip712Signing) {
|
|
305
308
|
if (chainIsInjective) {
|
|
306
309
|
// Due to injective's problem, it should exist if injective with ledger.
|
|
@@ -312,7 +315,14 @@ class CosmosAccountImpl {
|
|
|
312
315
|
// If not injective (evmos), they require fee payer.
|
|
313
316
|
// XXX: "feePayer" should be "payer". But, it maybe from ethermint team's mistake.
|
|
314
317
|
// That means this part is not standard.
|
|
315
|
-
signDocRaw.fee = Object.assign(Object.assign({}, signDocRaw.fee),
|
|
318
|
+
signDocRaw.fee = Object.assign(Object.assign({}, signDocRaw.fee), (() => {
|
|
319
|
+
if (ethSignPlainJson) {
|
|
320
|
+
return {};
|
|
321
|
+
}
|
|
322
|
+
return {
|
|
323
|
+
feePayer: this.base.bech32Address,
|
|
324
|
+
};
|
|
325
|
+
})());
|
|
316
326
|
}
|
|
317
327
|
}
|
|
318
328
|
const signDoc = (0, common_1.sortObjectByKey)(signDocRaw);
|
|
@@ -331,7 +341,7 @@ class CosmosAccountImpl {
|
|
|
331
341
|
if (!eip712Signing) {
|
|
332
342
|
return yield signAmino(this.chainId, this.base.bech32Address, signDoc, signOptions);
|
|
333
343
|
}
|
|
334
|
-
return yield experimentalSignEIP712CosmosTx_v0(this.chainId, this.base.bech32Address, (0, utils_1.
|
|
344
|
+
return yield experimentalSignEIP712CosmosTx_v0(this.chainId, this.base.bech32Address, (0, utils_1.getEip712TypedDataBasedOnChainInfo)(this.chainGetter.getChain(this.chainId), msgs), signDoc, signOptions);
|
|
335
345
|
}))();
|
|
336
346
|
return {
|
|
337
347
|
tx: tx_1.TxRaw.encode({
|
|
@@ -339,7 +349,7 @@ class CosmosAccountImpl {
|
|
|
339
349
|
messages: protoMsgs,
|
|
340
350
|
timeoutHeight: signResponse.signed.timeout_height,
|
|
341
351
|
memo: signResponse.signed.memo,
|
|
342
|
-
extensionOptions: eip712Signing
|
|
352
|
+
extensionOptions: eip712Signing && !ethSignPlainJson
|
|
343
353
|
? [
|
|
344
354
|
{
|
|
345
355
|
typeUrl: (() => {
|
|
@@ -375,6 +385,9 @@ class CosmosAccountImpl {
|
|
|
375
385
|
if (chainIsStratos) {
|
|
376
386
|
return "/stratos.crypto.v1.ethsecp256k1.PubKey";
|
|
377
387
|
}
|
|
388
|
+
if (ethSignPlainJson) {
|
|
389
|
+
return "/initia.crypto.v1beta1.ethsecp256k1.PubKey";
|
|
390
|
+
}
|
|
378
391
|
return "/ethermint.crypto.v1.ethsecp256k1.PubKey";
|
|
379
392
|
})(),
|
|
380
393
|
value: keys_1.PubKey.encode({
|
|
@@ -383,7 +396,9 @@ class CosmosAccountImpl {
|
|
|
383
396
|
},
|
|
384
397
|
modeInfo: {
|
|
385
398
|
single: {
|
|
386
|
-
mode:
|
|
399
|
+
mode: !ethSignPlainJson
|
|
400
|
+
? signing_1.SignMode.SIGN_MODE_LEGACY_AMINO_JSON
|
|
401
|
+
: signing_1.SignMode.SIGN_MODE_EIP_191,
|
|
387
402
|
},
|
|
388
403
|
multi: undefined,
|
|
389
404
|
},
|
|
@@ -393,7 +408,7 @@ class CosmosAccountImpl {
|
|
|
393
408
|
fee: tx_1.Fee.fromPartial({
|
|
394
409
|
amount: signResponse.signed.fee.amount,
|
|
395
410
|
gasLimit: signResponse.signed.fee.gas,
|
|
396
|
-
payer: eip712Signing && !chainIsInjective
|
|
411
|
+
payer: eip712Signing && !chainIsInjective && !ethSignPlainJson
|
|
397
412
|
? // Fee delegation feature not yet supported. But, for eip712 ethermint signing, we must set fee payer.
|
|
398
413
|
signResponse.signed.fee.feePayer
|
|
399
414
|
: undefined,
|
|
@@ -401,7 +416,7 @@ class CosmosAccountImpl {
|
|
|
401
416
|
}).finish(),
|
|
402
417
|
signatures:
|
|
403
418
|
// Injective needs the signature in the signatures list even if eip712
|
|
404
|
-
!eip712Signing || chainIsInjective
|
|
419
|
+
!eip712Signing || chainIsInjective || ethSignPlainJson
|
|
405
420
|
? [buffer_1.Buffer.from(signResponse.signature.signature, "base64")]
|
|
406
421
|
: [new Uint8Array(0)],
|
|
407
422
|
}).finish(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../src/account/cosmos.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../src/account/cosmos.ts"],"names":[],"mappings":"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"}
|
package/build/account/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ProtoMsgsOrWithAminoMsgs } from "./types";
|
|
2
|
+
import { ChainInfo } from "@keplr-wallet/types";
|
|
2
3
|
export declare function txEventsWithPreOnFulfill(onTxEvents: ((tx: any) => void) | {
|
|
3
4
|
onBroadcasted?: (txHash: Uint8Array) => void;
|
|
4
5
|
onFulfill?: (tx: any) => void;
|
|
@@ -11,7 +12,7 @@ export declare function txEventsWithPreOnFulfill(onTxEvents: ((tx: any) => void)
|
|
|
11
12
|
onBroadcasted?: (txHash: Uint8Array) => void;
|
|
12
13
|
onFulfill?: (tx: any) => void;
|
|
13
14
|
} | undefined;
|
|
14
|
-
export declare const
|
|
15
|
+
export declare const getEip712TypedDataBasedOnChainInfo: (chainInfo: ChainInfo, msgs: ProtoMsgsOrWithAminoMsgs) => {
|
|
15
16
|
types: Record<string, {
|
|
16
17
|
name: string;
|
|
17
18
|
type: string;
|
package/build/account/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getEip712TypedDataBasedOnChainInfo = exports.txEventsWithPreOnFulfill = void 0;
|
|
4
4
|
const cosmos_1 = require("@keplr-wallet/cosmos");
|
|
5
5
|
function txEventsWithPreOnFulfill(onTxEvents, preOnTxEvents) {
|
|
6
6
|
const onBroadcasted = onTxEvents
|
|
@@ -50,9 +50,11 @@ function txEventsWithPreOnFulfill(onTxEvents, preOnTxEvents) {
|
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
exports.txEventsWithPreOnFulfill = txEventsWithPreOnFulfill;
|
|
53
|
-
const
|
|
53
|
+
const getEip712TypedDataBasedOnChainInfo = (chainInfo, msgs) => {
|
|
54
|
+
const chainId = chainInfo.chainId;
|
|
54
55
|
const chainIsInjective = chainId.startsWith("injective");
|
|
55
|
-
const
|
|
56
|
+
const signPlainJSON = chainInfo.features &&
|
|
57
|
+
chainInfo.features.includes("evm-ledger-sign-plain-json");
|
|
56
58
|
const types = {
|
|
57
59
|
types: Object.assign({ EIP712Domain: [
|
|
58
60
|
{ name: "name", type: "string" },
|
|
@@ -70,7 +72,7 @@ const getEip712TypedDataBasedOnChainId = (chainId, msgs) => {
|
|
|
70
72
|
{ name: "msgs", type: "Msg[]" },
|
|
71
73
|
{ name: "sequence", type: "string" },
|
|
72
74
|
], Fee: [
|
|
73
|
-
{ name: "feePayer", type: "string" },
|
|
75
|
+
...(signPlainJSON ? [] : [{ name: "feePayer", type: "string" }]),
|
|
74
76
|
{ name: "amount", type: "Coin[]" },
|
|
75
77
|
{ name: "gas", type: "string" },
|
|
76
78
|
], Coin: [
|
|
@@ -83,7 +85,10 @@ const getEip712TypedDataBasedOnChainId = (chainId, msgs) => {
|
|
|
83
85
|
domain: {
|
|
84
86
|
name: "Cosmos Web3",
|
|
85
87
|
version: "1.0.0",
|
|
86
|
-
|
|
88
|
+
// signPlainJSON일때 밑의 값은 사실 사용되지 않으므로 대강 처리
|
|
89
|
+
chainId: signPlainJSON
|
|
90
|
+
? 9999
|
|
91
|
+
: cosmos_1.EthermintChainIdHelper.parse(chainId).ethChainId.toString(),
|
|
87
92
|
verifyingContract: "cosmos",
|
|
88
93
|
salt: "0",
|
|
89
94
|
},
|
|
@@ -97,7 +102,8 @@ const getEip712TypedDataBasedOnChainId = (chainId, msgs) => {
|
|
|
97
102
|
{ name: "timeout_height", type: "string" },
|
|
98
103
|
];
|
|
99
104
|
types.domain.name = "Injective Web3";
|
|
100
|
-
types.domain.chainId =
|
|
105
|
+
types.domain.chainId =
|
|
106
|
+
"0x" + cosmos_1.EthermintChainIdHelper.parse(chainId).ethChainId.toString(16);
|
|
101
107
|
types.types.Fee = [
|
|
102
108
|
{ name: "amount", type: "Coin[]" },
|
|
103
109
|
{ name: "gas", type: "string" },
|
|
@@ -107,5 +113,5 @@ const getEip712TypedDataBasedOnChainId = (chainId, msgs) => {
|
|
|
107
113
|
// Return default types for Evmos
|
|
108
114
|
return types;
|
|
109
115
|
};
|
|
110
|
-
exports.
|
|
116
|
+
exports.getEip712TypedDataBasedOnChainInfo = getEip712TypedDataBasedOnChainInfo;
|
|
111
117
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/account/utils.ts"],"names":[],"mappings":";;;AAAA,iDAA8D;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/account/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,19 +2,27 @@ import { AppCurrency, Currency } from "@keplr-wallet/types";
|
|
|
2
2
|
import { ChainStore } from "../chain";
|
|
3
3
|
import { KVStore } from "@keplr-wallet/common";
|
|
4
4
|
import { IQueriesStore } from "../query";
|
|
5
|
+
type Cache = {
|
|
6
|
+
notFound: undefined;
|
|
7
|
+
currency: Currency;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
} | {
|
|
10
|
+
notFound: true;
|
|
11
|
+
timestamp: number;
|
|
12
|
+
};
|
|
5
13
|
export declare class TokenFactoryCurrencyRegistrar {
|
|
6
14
|
protected readonly kvStore: KVStore;
|
|
7
15
|
protected readonly cacheDuration: number;
|
|
16
|
+
protected readonly failedCacheDuration: number;
|
|
8
17
|
protected readonly baseURL: string;
|
|
9
18
|
protected readonly uri: string;
|
|
10
19
|
protected readonly chainStore: ChainStore;
|
|
11
20
|
protected readonly queriesStore: IQueriesStore;
|
|
12
21
|
_isInitialized: boolean;
|
|
13
|
-
protected cache: Map<string,
|
|
14
|
-
|
|
15
|
-
timestamp: number;
|
|
16
|
-
}>;
|
|
22
|
+
protected cache: Map<string, Cache>;
|
|
23
|
+
protected staledCache: Map<string, Cache>;
|
|
17
24
|
constructor(kvStore: KVStore, cacheDuration: number, // 1 days
|
|
25
|
+
failedCacheDuration: number, // 1 hours
|
|
18
26
|
baseURL: string, uri: string, chainStore: ChainStore, queriesStore: IQueriesStore);
|
|
19
27
|
init(): Promise<void>;
|
|
20
28
|
get isInitialized(): boolean;
|
|
@@ -22,4 +30,16 @@ export declare class TokenFactoryCurrencyRegistrar {
|
|
|
22
30
|
value: AppCurrency | undefined;
|
|
23
31
|
done: boolean;
|
|
24
32
|
} | undefined;
|
|
33
|
+
protected getCurrency(chainId: string, coinMinimalDenom: string): {
|
|
34
|
+
res: Currency | undefined;
|
|
35
|
+
isFetching: boolean;
|
|
36
|
+
fromCache: boolean;
|
|
37
|
+
notFound: boolean;
|
|
38
|
+
};
|
|
39
|
+
protected getCacheCurrency(chainId: string, coinMinimalDenom: string): {
|
|
40
|
+
res: Cache | undefined;
|
|
41
|
+
staled: boolean;
|
|
42
|
+
};
|
|
43
|
+
protected setCache(chainId: string, coinMinimalDenom: string, cache: Cache): void;
|
|
25
44
|
}
|
|
45
|
+
export {};
|
|
@@ -18,39 +18,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.TokenFactoryCurrencyRegistrar = void 0;
|
|
19
19
|
const common_1 = require("@keplr-wallet/common");
|
|
20
20
|
const mobx_1 = require("mobx");
|
|
21
|
+
const cosmos_1 = require("@keplr-wallet/cosmos");
|
|
21
22
|
class TokenFactoryCurrencyRegistrar {
|
|
22
23
|
constructor(kvStore, cacheDuration = 24 * 3600 * 1000, // 1 days
|
|
24
|
+
failedCacheDuration = 1 * 3600 * 1000, // 1 hours
|
|
23
25
|
baseURL, uri, chainStore, queriesStore) {
|
|
24
26
|
this.kvStore = kvStore;
|
|
25
27
|
this.cacheDuration = cacheDuration;
|
|
28
|
+
this.failedCacheDuration = failedCacheDuration;
|
|
26
29
|
this.baseURL = baseURL;
|
|
27
30
|
this.uri = uri;
|
|
28
31
|
this.chainStore = chainStore;
|
|
29
32
|
this.queriesStore = queriesStore;
|
|
30
33
|
this._isInitialized = false;
|
|
31
34
|
this.cache = new Map();
|
|
35
|
+
this.staledCache = new Map();
|
|
32
36
|
this.chainStore.registerCurrencyRegistrar(this.currencyRegistrar.bind(this));
|
|
33
37
|
(0, mobx_1.makeObservable)(this);
|
|
34
38
|
this.init();
|
|
35
39
|
}
|
|
36
40
|
init() {
|
|
37
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
const
|
|
39
|
-
const saved = yield this.kvStore.get(
|
|
42
|
+
const dbKey = `cache-token-factory-registrar`;
|
|
43
|
+
const saved = yield this.kvStore.get(dbKey);
|
|
40
44
|
if (saved) {
|
|
41
|
-
(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
this.cache.set(key, value);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
});
|
|
45
|
+
for (const [key, value] of Object.entries(saved)) {
|
|
46
|
+
this.cache.set(key, value);
|
|
47
|
+
}
|
|
48
48
|
}
|
|
49
|
-
(0, mobx_1.autorun)(() => {
|
|
50
|
-
const js = (0, mobx_1.toJS)(this.cache);
|
|
51
|
-
const obj = Object.fromEntries(js);
|
|
52
|
-
this.kvStore.set(key, obj);
|
|
53
|
-
});
|
|
54
49
|
(0, mobx_1.runInAction)(() => {
|
|
55
50
|
this._isInitialized = true;
|
|
56
51
|
});
|
|
@@ -71,62 +66,152 @@ class TokenFactoryCurrencyRegistrar {
|
|
|
71
66
|
!denomHelper.denom.startsWith("factory/")) {
|
|
72
67
|
return;
|
|
73
68
|
}
|
|
74
|
-
|
|
69
|
+
if (!this.isInitialized) {
|
|
70
|
+
return {
|
|
71
|
+
value: undefined,
|
|
72
|
+
done: false,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
let isGlobalFetching = false;
|
|
76
|
+
const res = this.getCurrency(chainId, coinMinimalDenom);
|
|
77
|
+
if (res.isFetching) {
|
|
78
|
+
isGlobalFetching = true;
|
|
79
|
+
}
|
|
80
|
+
const currency = res.res;
|
|
81
|
+
if (!res.isFetching && !res.fromCache) {
|
|
82
|
+
if (currency) {
|
|
83
|
+
this.setCache(chainId, coinMinimalDenom, {
|
|
84
|
+
notFound: undefined,
|
|
85
|
+
currency,
|
|
86
|
+
timestamp: Date.now(),
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
else if (res.notFound) {
|
|
90
|
+
this.setCache(chainId, coinMinimalDenom, {
|
|
91
|
+
notFound: true,
|
|
92
|
+
timestamp: Date.now(),
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (currency) {
|
|
97
|
+
return {
|
|
98
|
+
value: Object.assign({}, currency),
|
|
99
|
+
done: !isGlobalFetching,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
return {
|
|
104
|
+
value: undefined,
|
|
105
|
+
done: !isGlobalFetching,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
getCurrency(chainId, coinMinimalDenom) {
|
|
110
|
+
var _a;
|
|
111
|
+
const { res: cached, staled } = this.getCacheCurrency(chainId, coinMinimalDenom);
|
|
75
112
|
if (cached) {
|
|
76
|
-
if (
|
|
113
|
+
if (cached.notFound) {
|
|
77
114
|
return {
|
|
78
|
-
|
|
79
|
-
|
|
115
|
+
res: undefined,
|
|
116
|
+
isFetching: false,
|
|
117
|
+
fromCache: true,
|
|
118
|
+
notFound: true,
|
|
80
119
|
};
|
|
81
120
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
121
|
+
if (!staled) {
|
|
122
|
+
return {
|
|
123
|
+
res: cached.currency,
|
|
124
|
+
isFetching: false,
|
|
125
|
+
fromCache: true,
|
|
126
|
+
notFound: false,
|
|
127
|
+
};
|
|
86
128
|
}
|
|
87
129
|
}
|
|
88
130
|
const queryCurrency = this.queriesStore.simpleQuery.queryGet(this.baseURL, this.uri
|
|
89
131
|
.replace("{chainId}", chainId)
|
|
90
132
|
.replace("{denom}", encodeURIComponent(coinMinimalDenom)));
|
|
133
|
+
let isGlobalFetching = false;
|
|
134
|
+
const cahedRes = cached ? cached.currency : undefined;
|
|
135
|
+
if (queryCurrency.isFetching) {
|
|
136
|
+
isGlobalFetching = true;
|
|
137
|
+
}
|
|
91
138
|
if (queryCurrency.response) {
|
|
92
139
|
if (queryCurrency.response.data.coinMinimalDenom !== coinMinimalDenom) {
|
|
93
140
|
return {
|
|
94
|
-
|
|
95
|
-
|
|
141
|
+
res: undefined,
|
|
142
|
+
isFetching: isGlobalFetching,
|
|
143
|
+
fromCache: false,
|
|
144
|
+
notFound: true,
|
|
96
145
|
};
|
|
97
146
|
}
|
|
98
|
-
if (!queryCurrency.isFetching) {
|
|
99
|
-
(0, mobx_1.runInAction)(() => {
|
|
100
|
-
if (queryCurrency.response) {
|
|
101
|
-
this.cache.set(coinMinimalDenom, {
|
|
102
|
-
currency: queryCurrency.response.data,
|
|
103
|
-
timestamp: Date.now(),
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
147
|
return {
|
|
109
|
-
|
|
110
|
-
|
|
148
|
+
res: queryCurrency.response.data,
|
|
149
|
+
isFetching: isGlobalFetching,
|
|
150
|
+
fromCache: false,
|
|
151
|
+
notFound: false,
|
|
111
152
|
};
|
|
112
153
|
}
|
|
113
|
-
|
|
154
|
+
else {
|
|
155
|
+
const notFound = ((_a = queryCurrency.error) === null || _a === void 0 ? void 0 : _a.status) === 404;
|
|
114
156
|
return {
|
|
115
|
-
|
|
116
|
-
|
|
157
|
+
res: notFound ? undefined : cahedRes,
|
|
158
|
+
isFetching: isGlobalFetching,
|
|
159
|
+
fromCache: false,
|
|
160
|
+
notFound,
|
|
117
161
|
};
|
|
118
162
|
}
|
|
163
|
+
}
|
|
164
|
+
getCacheCurrency(chainId, coinMinimalDenom) {
|
|
165
|
+
const key = `${cosmos_1.ChainIdHelper.parse(chainId).identifier}/${coinMinimalDenom}`;
|
|
166
|
+
let res = this.cache.get(key) || this.staledCache.get(key);
|
|
167
|
+
let staled = false;
|
|
168
|
+
if (res) {
|
|
169
|
+
if (res.notFound) {
|
|
170
|
+
if (Date.now() - res.timestamp > this.failedCacheDuration) {
|
|
171
|
+
this.cache.delete(key);
|
|
172
|
+
{
|
|
173
|
+
const dbKey = `cache-token-factory-registrar`;
|
|
174
|
+
const obj = Object.fromEntries(this.cache);
|
|
175
|
+
this.kvStore.set(dbKey, obj);
|
|
176
|
+
}
|
|
177
|
+
res = undefined;
|
|
178
|
+
staled = false;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
else if (Date.now() - res.timestamp > this.cacheDuration) {
|
|
182
|
+
this.cache.delete(key);
|
|
183
|
+
const savedStaled = this.staledCache.has(key);
|
|
184
|
+
if (!savedStaled) {
|
|
185
|
+
{
|
|
186
|
+
const dbKey = `cache-token-factory-registrar`;
|
|
187
|
+
const obj = Object.fromEntries(this.cache);
|
|
188
|
+
this.kvStore.set(dbKey, obj);
|
|
189
|
+
}
|
|
190
|
+
this.staledCache.set(key, res);
|
|
191
|
+
}
|
|
192
|
+
staled = true;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
119
195
|
return {
|
|
120
|
-
|
|
121
|
-
|
|
196
|
+
res,
|
|
197
|
+
staled,
|
|
122
198
|
};
|
|
123
199
|
}
|
|
200
|
+
setCache(chainId, coinMinimalDenom, cache) {
|
|
201
|
+
const key = `${cosmos_1.ChainIdHelper.parse(chainId).identifier}/${coinMinimalDenom}`;
|
|
202
|
+
this.cache.set(key, cache);
|
|
203
|
+
{
|
|
204
|
+
const dbKey = `cache-token-factory-registrar`;
|
|
205
|
+
const obj = Object.fromEntries(this.cache);
|
|
206
|
+
this.kvStore.set(dbKey, obj);
|
|
207
|
+
}
|
|
208
|
+
if (this.staledCache.has(key)) {
|
|
209
|
+
this.staledCache.set(key, cache);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
124
212
|
}
|
|
125
213
|
__decorate([
|
|
126
214
|
mobx_1.observable
|
|
127
215
|
], TokenFactoryCurrencyRegistrar.prototype, "_isInitialized", void 0);
|
|
128
|
-
__decorate([
|
|
129
|
-
mobx_1.observable.shallow
|
|
130
|
-
], TokenFactoryCurrencyRegistrar.prototype, "cache", void 0);
|
|
131
216
|
exports.TokenFactoryCurrencyRegistrar = TokenFactoryCurrencyRegistrar;
|
|
132
217
|
//# sourceMappingURL=currency-registrar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency-registrar.js","sourceRoot":"","sources":["../../src/token-factory/currency-registrar.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,iDAA4D;AAC5D,+
|
|
1
|
+
{"version":3,"file":"currency-registrar.js","sourceRoot":"","sources":["../../src/token-factory/currency-registrar.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keplr-wallet/stores",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.220",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"author": "chainapsis",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -16,17 +16,17 @@
|
|
|
16
16
|
"lint-fix": "eslint --fix \"src/**/*\" && prettier --write \"src/**/*\""
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@keplr-wallet/provider-mock": "0.12.
|
|
19
|
+
"@keplr-wallet/provider-mock": "0.12.220"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@keplr-wallet/common": "0.12.
|
|
23
|
-
"@keplr-wallet/cosmos": "0.12.
|
|
24
|
-
"@keplr-wallet/crypto": "0.12.
|
|
25
|
-
"@keplr-wallet/mobx-utils": "0.12.
|
|
26
|
-
"@keplr-wallet/proto-types": "0.12.
|
|
27
|
-
"@keplr-wallet/simple-fetch": "0.12.
|
|
28
|
-
"@keplr-wallet/types": "0.12.
|
|
29
|
-
"@keplr-wallet/unit": "0.12.
|
|
22
|
+
"@keplr-wallet/common": "0.12.220",
|
|
23
|
+
"@keplr-wallet/cosmos": "0.12.220",
|
|
24
|
+
"@keplr-wallet/crypto": "0.12.220",
|
|
25
|
+
"@keplr-wallet/mobx-utils": "0.12.220",
|
|
26
|
+
"@keplr-wallet/proto-types": "0.12.220",
|
|
27
|
+
"@keplr-wallet/simple-fetch": "0.12.220",
|
|
28
|
+
"@keplr-wallet/types": "0.12.220",
|
|
29
|
+
"@keplr-wallet/unit": "0.12.220",
|
|
30
30
|
"buffer": "^6.0.3",
|
|
31
31
|
"deepmerge": "^4.2.2",
|
|
32
32
|
"eventemitter3": "^4.0.7",
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
"mobx": "^6",
|
|
39
39
|
"mobx-utils": "^6"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "b6cd2be2b197b8665111d6094e173a9fee2ca456"
|
|
42
42
|
}
|
package/src/account/cosmos.ts
CHANGED
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
ProtoMsgsOrWithAminoMsgs,
|
|
51
51
|
} from "./types";
|
|
52
52
|
import {
|
|
53
|
-
|
|
53
|
+
getEip712TypedDataBasedOnChainInfo,
|
|
54
54
|
txEventsWithPreOnFulfill,
|
|
55
55
|
} from "./utils";
|
|
56
56
|
import { ExtensionOptionsWeb3Tx } from "@keplr-wallet/proto-types/ethermint/types/v1/web3";
|
|
@@ -465,8 +465,12 @@ export class CosmosAccountImpl {
|
|
|
465
465
|
memo: escapeHTML(memo),
|
|
466
466
|
};
|
|
467
467
|
|
|
468
|
+
const chainInfo = this.chainGetter.getChain(this.chainId);
|
|
468
469
|
const chainIsInjective = this.chainId.startsWith("injective");
|
|
469
470
|
const chainIsStratos = this.chainId.startsWith("stratos");
|
|
471
|
+
const ethSignPlainJson: boolean =
|
|
472
|
+
chainInfo.features &&
|
|
473
|
+
chainInfo.features.includes("evm-ledger-sign-plain-json");
|
|
470
474
|
|
|
471
475
|
if (eip712Signing) {
|
|
472
476
|
if (chainIsInjective) {
|
|
@@ -480,7 +484,14 @@ export class CosmosAccountImpl {
|
|
|
480
484
|
// That means this part is not standard.
|
|
481
485
|
(signDocRaw as Mutable<StdSignDoc>).fee = {
|
|
482
486
|
...signDocRaw.fee,
|
|
483
|
-
|
|
487
|
+
...(() => {
|
|
488
|
+
if (ethSignPlainJson) {
|
|
489
|
+
return {};
|
|
490
|
+
}
|
|
491
|
+
return {
|
|
492
|
+
feePayer: this.base.bech32Address,
|
|
493
|
+
};
|
|
494
|
+
})(),
|
|
484
495
|
};
|
|
485
496
|
}
|
|
486
497
|
}
|
|
@@ -514,7 +525,10 @@ export class CosmosAccountImpl {
|
|
|
514
525
|
return await experimentalSignEIP712CosmosTx_v0(
|
|
515
526
|
this.chainId,
|
|
516
527
|
this.base.bech32Address,
|
|
517
|
-
|
|
528
|
+
getEip712TypedDataBasedOnChainInfo(
|
|
529
|
+
this.chainGetter.getChain(this.chainId),
|
|
530
|
+
msgs
|
|
531
|
+
),
|
|
518
532
|
signDoc,
|
|
519
533
|
signOptions
|
|
520
534
|
);
|
|
@@ -527,35 +541,36 @@ export class CosmosAccountImpl {
|
|
|
527
541
|
messages: protoMsgs,
|
|
528
542
|
timeoutHeight: signResponse.signed.timeout_height,
|
|
529
543
|
memo: signResponse.signed.memo,
|
|
530
|
-
extensionOptions:
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
ExtensionOptionsWeb3Tx.
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
544
|
+
extensionOptions:
|
|
545
|
+
eip712Signing && !ethSignPlainJson
|
|
546
|
+
? [
|
|
547
|
+
{
|
|
548
|
+
typeUrl: (() => {
|
|
549
|
+
if (chainIsInjective) {
|
|
550
|
+
return "/injective.types.v1beta1.ExtensionOptionsWeb3Tx";
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
return "/ethermint.types.v1.ExtensionOptionsWeb3Tx";
|
|
554
|
+
})(),
|
|
555
|
+
value: ExtensionOptionsWeb3Tx.encode(
|
|
556
|
+
ExtensionOptionsWeb3Tx.fromPartial({
|
|
557
|
+
typedDataChainId: EthermintChainIdHelper.parse(
|
|
558
|
+
this.chainId
|
|
559
|
+
).ethChainId.toString(),
|
|
560
|
+
feePayer: !chainIsInjective
|
|
561
|
+
? signResponse.signed.fee.feePayer
|
|
562
|
+
: undefined,
|
|
563
|
+
feePayerSig: !chainIsInjective
|
|
564
|
+
? Buffer.from(
|
|
565
|
+
signResponse.signature.signature,
|
|
566
|
+
"base64"
|
|
567
|
+
)
|
|
568
|
+
: undefined,
|
|
569
|
+
})
|
|
570
|
+
).finish(),
|
|
571
|
+
},
|
|
572
|
+
]
|
|
573
|
+
: undefined,
|
|
559
574
|
})
|
|
560
575
|
).finish(),
|
|
561
576
|
authInfoBytes: AuthInfo.encode({
|
|
@@ -575,6 +590,9 @@ export class CosmosAccountImpl {
|
|
|
575
590
|
return "/stratos.crypto.v1.ethsecp256k1.PubKey";
|
|
576
591
|
}
|
|
577
592
|
|
|
593
|
+
if (ethSignPlainJson) {
|
|
594
|
+
return "/initia.crypto.v1beta1.ethsecp256k1.PubKey";
|
|
595
|
+
}
|
|
578
596
|
return "/ethermint.crypto.v1.ethsecp256k1.PubKey";
|
|
579
597
|
})(),
|
|
580
598
|
value: PubKey.encode({
|
|
@@ -586,7 +604,9 @@ export class CosmosAccountImpl {
|
|
|
586
604
|
},
|
|
587
605
|
modeInfo: {
|
|
588
606
|
single: {
|
|
589
|
-
mode:
|
|
607
|
+
mode: !ethSignPlainJson
|
|
608
|
+
? SignMode.SIGN_MODE_LEGACY_AMINO_JSON
|
|
609
|
+
: SignMode.SIGN_MODE_EIP_191,
|
|
590
610
|
},
|
|
591
611
|
multi: undefined,
|
|
592
612
|
},
|
|
@@ -597,7 +617,7 @@ export class CosmosAccountImpl {
|
|
|
597
617
|
amount: signResponse.signed.fee.amount as Coin[],
|
|
598
618
|
gasLimit: signResponse.signed.fee.gas,
|
|
599
619
|
payer:
|
|
600
|
-
eip712Signing && !chainIsInjective
|
|
620
|
+
eip712Signing && !chainIsInjective && !ethSignPlainJson
|
|
601
621
|
? // Fee delegation feature not yet supported. But, for eip712 ethermint signing, we must set fee payer.
|
|
602
622
|
signResponse.signed.fee.feePayer
|
|
603
623
|
: undefined,
|
|
@@ -605,7 +625,7 @@ export class CosmosAccountImpl {
|
|
|
605
625
|
}).finish(),
|
|
606
626
|
signatures:
|
|
607
627
|
// Injective needs the signature in the signatures list even if eip712
|
|
608
|
-
!eip712Signing || chainIsInjective
|
|
628
|
+
!eip712Signing || chainIsInjective || ethSignPlainJson
|
|
609
629
|
? [Buffer.from(signResponse.signature.signature, "base64")]
|
|
610
630
|
: [new Uint8Array(0)],
|
|
611
631
|
}).finish(),
|
package/src/account/utils.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EthermintChainIdHelper } from "@keplr-wallet/cosmos";
|
|
2
2
|
import { ProtoMsgsOrWithAminoMsgs } from "./types";
|
|
3
|
+
import { ChainInfo } from "@keplr-wallet/types";
|
|
3
4
|
|
|
4
5
|
export function txEventsWithPreOnFulfill(
|
|
5
6
|
onTxEvents:
|
|
@@ -78,16 +79,19 @@ export function txEventsWithPreOnFulfill(
|
|
|
78
79
|
};
|
|
79
80
|
}
|
|
80
81
|
|
|
81
|
-
export const
|
|
82
|
-
|
|
82
|
+
export const getEip712TypedDataBasedOnChainInfo = (
|
|
83
|
+
chainInfo: ChainInfo,
|
|
83
84
|
msgs: ProtoMsgsOrWithAminoMsgs
|
|
84
85
|
): {
|
|
85
86
|
types: Record<string, { name: string; type: string }[] | undefined>;
|
|
86
87
|
domain: Record<string, any>;
|
|
87
88
|
primaryType: string;
|
|
88
89
|
} => {
|
|
90
|
+
const chainId = chainInfo.chainId;
|
|
89
91
|
const chainIsInjective = chainId.startsWith("injective");
|
|
90
|
-
const
|
|
92
|
+
const signPlainJSON =
|
|
93
|
+
chainInfo.features &&
|
|
94
|
+
chainInfo.features.includes("evm-ledger-sign-plain-json");
|
|
91
95
|
|
|
92
96
|
const types = {
|
|
93
97
|
types: {
|
|
@@ -109,7 +113,7 @@ export const getEip712TypedDataBasedOnChainId = (
|
|
|
109
113
|
{ name: "sequence", type: "string" },
|
|
110
114
|
],
|
|
111
115
|
Fee: [
|
|
112
|
-
{ name: "feePayer", type: "string" },
|
|
116
|
+
...(signPlainJSON ? [] : [{ name: "feePayer", type: "string" }]),
|
|
113
117
|
{ name: "amount", type: "Coin[]" },
|
|
114
118
|
{ name: "gas", type: "string" },
|
|
115
119
|
],
|
|
@@ -126,7 +130,10 @@ export const getEip712TypedDataBasedOnChainId = (
|
|
|
126
130
|
domain: {
|
|
127
131
|
name: "Cosmos Web3",
|
|
128
132
|
version: "1.0.0",
|
|
129
|
-
|
|
133
|
+
// signPlainJSON일때 밑의 값은 사실 사용되지 않으므로 대강 처리
|
|
134
|
+
chainId: signPlainJSON
|
|
135
|
+
? 9999
|
|
136
|
+
: EthermintChainIdHelper.parse(chainId).ethChainId.toString(),
|
|
130
137
|
verifyingContract: "cosmos",
|
|
131
138
|
salt: "0",
|
|
132
139
|
},
|
|
@@ -141,7 +148,8 @@ export const getEip712TypedDataBasedOnChainId = (
|
|
|
141
148
|
{ name: "timeout_height", type: "string" },
|
|
142
149
|
];
|
|
143
150
|
types.domain.name = "Injective Web3";
|
|
144
|
-
types.domain.chainId =
|
|
151
|
+
types.domain.chainId =
|
|
152
|
+
"0x" + EthermintChainIdHelper.parse(chainId).ethChainId.toString(16);
|
|
145
153
|
types.types.Fee = [
|
|
146
154
|
{ name: "amount", type: "Coin[]" },
|
|
147
155
|
{ name: "gas", type: "string" },
|
|
@@ -1,25 +1,32 @@
|
|
|
1
1
|
import { AppCurrency, Currency } from "@keplr-wallet/types";
|
|
2
2
|
import { ChainStore } from "../chain";
|
|
3
3
|
import { DenomHelper, KVStore } from "@keplr-wallet/common";
|
|
4
|
-
import {
|
|
4
|
+
import { makeObservable, observable, runInAction } from "mobx";
|
|
5
5
|
import { IQueriesStore } from "../query";
|
|
6
|
+
import { ChainIdHelper } from "@keplr-wallet/cosmos";
|
|
7
|
+
|
|
8
|
+
type Cache =
|
|
9
|
+
| {
|
|
10
|
+
notFound: undefined;
|
|
11
|
+
currency: Currency;
|
|
12
|
+
timestamp: number;
|
|
13
|
+
}
|
|
14
|
+
| {
|
|
15
|
+
notFound: true;
|
|
16
|
+
timestamp: number;
|
|
17
|
+
};
|
|
6
18
|
|
|
7
19
|
export class TokenFactoryCurrencyRegistrar {
|
|
8
20
|
@observable
|
|
9
21
|
public _isInitialized = false;
|
|
10
22
|
|
|
11
|
-
|
|
12
|
-
protected
|
|
13
|
-
string,
|
|
14
|
-
{
|
|
15
|
-
currency: Currency;
|
|
16
|
-
timestamp: number;
|
|
17
|
-
}
|
|
18
|
-
> = new Map();
|
|
23
|
+
protected cache: Map<string, Cache> = new Map();
|
|
24
|
+
protected staledCache: Map<string, Cache> = new Map();
|
|
19
25
|
|
|
20
26
|
constructor(
|
|
21
27
|
protected readonly kvStore: KVStore,
|
|
22
28
|
protected readonly cacheDuration: number = 24 * 3600 * 1000, // 1 days
|
|
29
|
+
protected readonly failedCacheDuration: number = 1 * 3600 * 1000, // 1 hours
|
|
23
30
|
protected readonly baseURL: string,
|
|
24
31
|
protected readonly uri: string,
|
|
25
32
|
protected readonly chainStore: ChainStore,
|
|
@@ -35,40 +42,14 @@ export class TokenFactoryCurrencyRegistrar {
|
|
|
35
42
|
}
|
|
36
43
|
|
|
37
44
|
async init(): Promise<void> {
|
|
38
|
-
const
|
|
39
|
-
const saved = await this.kvStore.get<
|
|
40
|
-
Record<
|
|
41
|
-
string,
|
|
42
|
-
{
|
|
43
|
-
currency: Currency;
|
|
44
|
-
timestamp: number;
|
|
45
|
-
}
|
|
46
|
-
>
|
|
47
|
-
>(key);
|
|
45
|
+
const dbKey = `cache-token-factory-registrar`;
|
|
46
|
+
const saved = await this.kvStore.get<Record<string, Cache>>(dbKey);
|
|
48
47
|
if (saved) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
this.cache.set(key, value);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
});
|
|
48
|
+
for (const [key, value] of Object.entries(saved)) {
|
|
49
|
+
this.cache.set(key, value);
|
|
50
|
+
}
|
|
56
51
|
}
|
|
57
52
|
|
|
58
|
-
autorun(() => {
|
|
59
|
-
const js = toJS(this.cache);
|
|
60
|
-
const obj = Object.fromEntries(js);
|
|
61
|
-
this.kvStore.set<
|
|
62
|
-
Record<
|
|
63
|
-
string,
|
|
64
|
-
{
|
|
65
|
-
currency: Currency;
|
|
66
|
-
timestamp: number;
|
|
67
|
-
}
|
|
68
|
-
>
|
|
69
|
-
>(key, obj);
|
|
70
|
-
});
|
|
71
|
-
|
|
72
53
|
runInAction(() => {
|
|
73
54
|
this._isInitialized = true;
|
|
74
55
|
});
|
|
@@ -103,20 +84,77 @@ export class TokenFactoryCurrencyRegistrar {
|
|
|
103
84
|
return;
|
|
104
85
|
}
|
|
105
86
|
|
|
106
|
-
|
|
87
|
+
if (!this.isInitialized) {
|
|
88
|
+
return {
|
|
89
|
+
value: undefined,
|
|
90
|
+
done: false,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
let isGlobalFetching = false;
|
|
95
|
+
const res = this.getCurrency(chainId, coinMinimalDenom);
|
|
96
|
+
if (res.isFetching) {
|
|
97
|
+
isGlobalFetching = true;
|
|
98
|
+
}
|
|
99
|
+
const currency = res.res;
|
|
100
|
+
if (!res.isFetching && !res.fromCache) {
|
|
101
|
+
if (currency) {
|
|
102
|
+
this.setCache(chainId, coinMinimalDenom, {
|
|
103
|
+
notFound: undefined,
|
|
104
|
+
currency,
|
|
105
|
+
timestamp: Date.now(),
|
|
106
|
+
});
|
|
107
|
+
} else if (res.notFound) {
|
|
108
|
+
this.setCache(chainId, coinMinimalDenom, {
|
|
109
|
+
notFound: true,
|
|
110
|
+
timestamp: Date.now(),
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (currency) {
|
|
115
|
+
return {
|
|
116
|
+
value: {
|
|
117
|
+
...currency,
|
|
118
|
+
},
|
|
119
|
+
done: !isGlobalFetching,
|
|
120
|
+
};
|
|
121
|
+
} else {
|
|
122
|
+
return {
|
|
123
|
+
value: undefined,
|
|
124
|
+
done: !isGlobalFetching,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
protected getCurrency(
|
|
130
|
+
chainId: string,
|
|
131
|
+
coinMinimalDenom: string
|
|
132
|
+
): {
|
|
133
|
+
res: Currency | undefined;
|
|
134
|
+
isFetching: boolean;
|
|
135
|
+
fromCache: boolean;
|
|
136
|
+
notFound: boolean;
|
|
137
|
+
} {
|
|
138
|
+
const { res: cached, staled } = this.getCacheCurrency(
|
|
139
|
+
chainId,
|
|
140
|
+
coinMinimalDenom
|
|
141
|
+
);
|
|
107
142
|
if (cached) {
|
|
108
|
-
if (
|
|
143
|
+
if (cached.notFound) {
|
|
109
144
|
return {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
145
|
+
res: undefined,
|
|
146
|
+
isFetching: false,
|
|
147
|
+
fromCache: true,
|
|
148
|
+
notFound: true,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
if (!staled) {
|
|
152
|
+
return {
|
|
153
|
+
res: cached.currency,
|
|
154
|
+
isFetching: false,
|
|
155
|
+
fromCache: true,
|
|
156
|
+
notFound: false,
|
|
115
157
|
};
|
|
116
|
-
} else {
|
|
117
|
-
runInAction(() => {
|
|
118
|
-
this.cache.delete(coinMinimalDenom);
|
|
119
|
-
});
|
|
120
158
|
}
|
|
121
159
|
}
|
|
122
160
|
|
|
@@ -126,44 +164,105 @@ export class TokenFactoryCurrencyRegistrar {
|
|
|
126
164
|
.replace("{chainId}", chainId)
|
|
127
165
|
.replace("{denom}", encodeURIComponent(coinMinimalDenom))
|
|
128
166
|
);
|
|
167
|
+
|
|
168
|
+
let isGlobalFetching = false;
|
|
169
|
+
const cahedRes: Currency | undefined = cached ? cached.currency : undefined;
|
|
170
|
+
if (queryCurrency.isFetching) {
|
|
171
|
+
isGlobalFetching = true;
|
|
172
|
+
}
|
|
173
|
+
|
|
129
174
|
if (queryCurrency.response) {
|
|
130
175
|
if (queryCurrency.response.data.coinMinimalDenom !== coinMinimalDenom) {
|
|
131
176
|
return {
|
|
132
|
-
|
|
133
|
-
|
|
177
|
+
res: undefined,
|
|
178
|
+
isFetching: isGlobalFetching,
|
|
179
|
+
fromCache: false,
|
|
180
|
+
notFound: true,
|
|
134
181
|
};
|
|
135
182
|
}
|
|
136
183
|
|
|
137
|
-
if (!queryCurrency.isFetching) {
|
|
138
|
-
runInAction(() => {
|
|
139
|
-
if (queryCurrency.response) {
|
|
140
|
-
this.cache.set(coinMinimalDenom, {
|
|
141
|
-
currency: queryCurrency.response.data,
|
|
142
|
-
timestamp: Date.now(),
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
|
|
148
184
|
return {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
done: !queryCurrency.isFetching,
|
|
185
|
+
res: queryCurrency.response.data,
|
|
186
|
+
isFetching: isGlobalFetching,
|
|
187
|
+
fromCache: false,
|
|
188
|
+
notFound: false,
|
|
154
189
|
};
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
if (queryCurrency.isFetching) {
|
|
190
|
+
} else {
|
|
191
|
+
const notFound = queryCurrency.error?.status === 404;
|
|
158
192
|
return {
|
|
159
|
-
|
|
160
|
-
|
|
193
|
+
res: notFound ? undefined : cahedRes,
|
|
194
|
+
isFetching: isGlobalFetching,
|
|
195
|
+
fromCache: false,
|
|
196
|
+
notFound,
|
|
161
197
|
};
|
|
162
198
|
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
protected getCacheCurrency(
|
|
202
|
+
chainId: string,
|
|
203
|
+
coinMinimalDenom: string
|
|
204
|
+
): { res: Cache | undefined; staled: boolean } {
|
|
205
|
+
const key = `${
|
|
206
|
+
ChainIdHelper.parse(chainId).identifier
|
|
207
|
+
}/${coinMinimalDenom}`;
|
|
208
|
+
|
|
209
|
+
let res = this.cache.get(key) || this.staledCache.get(key);
|
|
210
|
+
let staled = false;
|
|
211
|
+
|
|
212
|
+
if (res) {
|
|
213
|
+
if (res.notFound) {
|
|
214
|
+
if (Date.now() - res.timestamp > this.failedCacheDuration) {
|
|
215
|
+
this.cache.delete(key);
|
|
216
|
+
{
|
|
217
|
+
const dbKey = `cache-token-factory-registrar`;
|
|
218
|
+
const obj = Object.fromEntries(this.cache);
|
|
219
|
+
this.kvStore.set<Record<string, Cache>>(dbKey, obj);
|
|
220
|
+
}
|
|
221
|
+
res = undefined;
|
|
222
|
+
staled = false;
|
|
223
|
+
}
|
|
224
|
+
} else if (Date.now() - res.timestamp > this.cacheDuration) {
|
|
225
|
+
this.cache.delete(key);
|
|
226
|
+
|
|
227
|
+
const savedStaled = this.staledCache.has(key);
|
|
228
|
+
if (!savedStaled) {
|
|
229
|
+
{
|
|
230
|
+
const dbKey = `cache-token-factory-registrar`;
|
|
231
|
+
const obj = Object.fromEntries(this.cache);
|
|
232
|
+
this.kvStore.set<Record<string, Cache>>(dbKey, obj);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
this.staledCache.set(key, res);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
staled = true;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
163
241
|
|
|
164
242
|
return {
|
|
165
|
-
|
|
166
|
-
|
|
243
|
+
res,
|
|
244
|
+
staled,
|
|
167
245
|
};
|
|
168
246
|
}
|
|
247
|
+
|
|
248
|
+
protected setCache(
|
|
249
|
+
chainId: string,
|
|
250
|
+
coinMinimalDenom: string,
|
|
251
|
+
cache: Cache
|
|
252
|
+
): void {
|
|
253
|
+
const key = `${
|
|
254
|
+
ChainIdHelper.parse(chainId).identifier
|
|
255
|
+
}/${coinMinimalDenom}`;
|
|
256
|
+
|
|
257
|
+
this.cache.set(key, cache);
|
|
258
|
+
{
|
|
259
|
+
const dbKey = `cache-token-factory-registrar`;
|
|
260
|
+
const obj = Object.fromEntries(this.cache);
|
|
261
|
+
this.kvStore.set<Record<string, Cache>>(dbKey, obj);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
if (this.staledCache.has(key)) {
|
|
265
|
+
this.staledCache.set(key, cache);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
169
268
|
}
|