@keplr-wallet/stores 0.12.89 → 0.12.90
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/chain/base.d.ts +16 -2
- package/build/chain/base.js +128 -10
- package/build/chain/base.js.map +1 -1
- package/build/chain/types.d.ts +3 -0
- package/package.json +10 -10
- package/src/chain/base.ts +158 -13
- package/src/chain/types.ts +5 -0
package/build/chain/base.d.ts
CHANGED
|
@@ -5,19 +5,30 @@ export declare class ChainInfoImpl<C extends ChainInfo = ChainInfo> implements I
|
|
|
5
5
|
getCurrencyRegistrar: CurrencyRegistrar;
|
|
6
6
|
};
|
|
7
7
|
protected _embedded: C;
|
|
8
|
-
protected unknownDenoms:
|
|
8
|
+
protected unknownDenoms: {
|
|
9
|
+
denom: string;
|
|
10
|
+
reaction: boolean;
|
|
11
|
+
}[];
|
|
9
12
|
protected registeredCurrencies: AppCurrency[];
|
|
13
|
+
protected registeredCurrenciesNoReaction: AppCurrency[];
|
|
10
14
|
protected registrationInProgressCurrencyMap: Map<string, boolean>;
|
|
11
15
|
constructor(embedded: C, currencyRegistry: {
|
|
12
16
|
getCurrencyRegistrar: CurrencyRegistrar;
|
|
13
17
|
});
|
|
14
18
|
addUnknownDenoms(...coinMinimalDenoms: string[]): void;
|
|
19
|
+
addUnknownDenomsWithoutReaction(...coinMinimalDenoms: string[]): void;
|
|
20
|
+
protected addUnknownDenomsImpl(coinMinimalDenoms: string[], reaction: boolean): void;
|
|
15
21
|
get embedded(): C;
|
|
16
22
|
get chainId(): string;
|
|
17
23
|
get chainIdentifier(): string;
|
|
18
24
|
get currencies(): AppCurrency[];
|
|
19
25
|
protected get currencyMap(): Map<string, AppCurrency>;
|
|
20
|
-
protected get
|
|
26
|
+
protected get currencyNoReactionMap(): Map<string, AppCurrency>;
|
|
27
|
+
protected moveNoReactionCurrencyToReaction(coinMinimalDenom: string): void;
|
|
28
|
+
protected get unknownDenomMap(): Map<string, {
|
|
29
|
+
denom: string;
|
|
30
|
+
reaction: boolean;
|
|
31
|
+
}>;
|
|
21
32
|
addCurrencies(...currencies: AppCurrency[]): void;
|
|
22
33
|
removeCurrencies(...coinMinimalDenoms: string[]): void;
|
|
23
34
|
/**
|
|
@@ -26,13 +37,16 @@ export declare class ChainInfoImpl<C extends ChainInfo = ChainInfo> implements I
|
|
|
26
37
|
* @param coinMinimalDenom
|
|
27
38
|
*/
|
|
28
39
|
findCurrency(coinMinimalDenom: string): AppCurrency | undefined;
|
|
40
|
+
findCurrencyWithoutReaction(coinMinimalDenom: string): AppCurrency | undefined;
|
|
29
41
|
findCurrencyAsync(coinMinimalDenom: string): Promise<AppCurrency | undefined>;
|
|
30
42
|
/**
|
|
31
43
|
* findCurrency와 비슷하지만 해당하는 currency가 존재하지 않을 경우 raw currency를 반환한다.
|
|
32
44
|
* @param coinMinimalDenom
|
|
33
45
|
*/
|
|
34
46
|
forceFindCurrency(coinMinimalDenom: string): AppCurrency;
|
|
47
|
+
forceFindCurrencyWithoutReaction(coinMinimalDenom: string): AppCurrency;
|
|
35
48
|
protected addOrReplaceCurrency(currency: AppCurrency): void;
|
|
49
|
+
protected addOrReplaceCurrencyNoReaction(currency: AppCurrency): void;
|
|
36
50
|
get stakeCurrency(): Currency | undefined;
|
|
37
51
|
get alternativeBIP44s(): BIP44[] | undefined;
|
|
38
52
|
get bech32Config(): Bech32Config;
|
package/build/chain/base.js
CHANGED
|
@@ -16,6 +16,7 @@ class ChainInfoImpl {
|
|
|
16
16
|
this.currencyRegistry = currencyRegistry;
|
|
17
17
|
this.unknownDenoms = [];
|
|
18
18
|
this.registeredCurrencies = [];
|
|
19
|
+
this.registeredCurrenciesNoReaction = [];
|
|
19
20
|
this.registrationInProgressCurrencyMap = new Map();
|
|
20
21
|
this._embedded = embedded;
|
|
21
22
|
(0, mobx_1.makeObservable)(this);
|
|
@@ -31,21 +32,47 @@ class ChainInfoImpl {
|
|
|
31
32
|
* 하지만 이 메소드를 action 안에서 호출하면 여전히 immediate로 실행되지 않으므로, 이 경우도 고려해야한다.
|
|
32
33
|
*/
|
|
33
34
|
addUnknownDenoms(...coinMinimalDenoms) {
|
|
35
|
+
this.addUnknownDenomsImpl(coinMinimalDenoms, true);
|
|
36
|
+
}
|
|
37
|
+
addUnknownDenomsWithoutReaction(...coinMinimalDenoms) {
|
|
38
|
+
this.addUnknownDenomsImpl(coinMinimalDenoms, false);
|
|
39
|
+
}
|
|
40
|
+
addUnknownDenomsImpl(coinMinimalDenoms, reaction) {
|
|
34
41
|
for (const coinMinimalDenom of coinMinimalDenoms) {
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
let found = false;
|
|
43
|
+
const prior = this.unknownDenomMap.get(coinMinimalDenom);
|
|
44
|
+
if (prior) {
|
|
45
|
+
if (prior.reaction === reaction) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
else if (reaction) {
|
|
49
|
+
found = true;
|
|
50
|
+
// 로직상 reaction은 reactive할 필요가 없기 때문에
|
|
51
|
+
// 그냥 여기서 바꾼다.
|
|
52
|
+
prior.reaction = reaction;
|
|
53
|
+
}
|
|
37
54
|
}
|
|
38
55
|
if (this.currencyMap.has(coinMinimalDenom)) {
|
|
39
56
|
continue;
|
|
40
57
|
}
|
|
41
|
-
(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
58
|
+
if (this.currencyNoReactionMap.has(coinMinimalDenom)) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (!found) {
|
|
62
|
+
(0, mobx_1.runInAction)(() => {
|
|
63
|
+
this.unknownDenoms.push({
|
|
64
|
+
denom: coinMinimalDenom,
|
|
65
|
+
reaction,
|
|
66
|
+
});
|
|
67
|
+
this.registrationInProgressCurrencyMap.set(coinMinimalDenom, true);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
45
70
|
let i = 0;
|
|
71
|
+
let disposed = false;
|
|
46
72
|
const disposer = (0, mobx_1.autorun)(() => {
|
|
47
73
|
i++;
|
|
48
74
|
const dispose = () => {
|
|
75
|
+
disposed = true;
|
|
49
76
|
if (i === 1) {
|
|
50
77
|
setTimeout(() => {
|
|
51
78
|
if (disposer) {
|
|
@@ -59,6 +86,9 @@ class ChainInfoImpl {
|
|
|
59
86
|
}
|
|
60
87
|
}
|
|
61
88
|
};
|
|
89
|
+
if (disposed) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
62
92
|
const generator = this.currencyRegistry.getCurrencyRegistrar(this.chainId, coinMinimalDenom);
|
|
63
93
|
if (generator) {
|
|
64
94
|
const currency = generator.value;
|
|
@@ -67,11 +97,20 @@ class ChainInfoImpl {
|
|
|
67
97
|
this.registrationInProgressCurrencyMap.set(coinMinimalDenom, true);
|
|
68
98
|
}
|
|
69
99
|
if (currency) {
|
|
70
|
-
const index = this.unknownDenoms.findIndex((denom) => denom === currency.coinMinimalDenom);
|
|
100
|
+
const index = this.unknownDenoms.findIndex((denom) => denom.denom === currency.coinMinimalDenom);
|
|
101
|
+
let prev;
|
|
71
102
|
if (index >= 0) {
|
|
72
|
-
this.unknownDenoms
|
|
103
|
+
prev = this.unknownDenoms[index];
|
|
104
|
+
if (generator.done) {
|
|
105
|
+
this.unknownDenoms.splice(index, 1);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (!prev || prev.reaction) {
|
|
109
|
+
this.addOrReplaceCurrency(currency);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
this.addOrReplaceCurrencyNoReaction(currency);
|
|
73
113
|
}
|
|
74
|
-
this.addOrReplaceCurrency(currency);
|
|
75
114
|
}
|
|
76
115
|
if (generator.done) {
|
|
77
116
|
this.registrationInProgressCurrencyMap.delete(coinMinimalDenom);
|
|
@@ -111,10 +150,25 @@ class ChainInfoImpl {
|
|
|
111
150
|
}
|
|
112
151
|
return result;
|
|
113
152
|
}
|
|
153
|
+
get currencyNoReactionMap() {
|
|
154
|
+
const result = new Map();
|
|
155
|
+
for (const currency of this.registeredCurrenciesNoReaction) {
|
|
156
|
+
result.set(currency.coinMinimalDenom, currency);
|
|
157
|
+
}
|
|
158
|
+
return result;
|
|
159
|
+
}
|
|
160
|
+
moveNoReactionCurrencyToReaction(coinMinimalDenom) {
|
|
161
|
+
const index = this.registeredCurrenciesNoReaction.findIndex((cur) => cur.coinMinimalDenom === coinMinimalDenom);
|
|
162
|
+
if (index >= 0) {
|
|
163
|
+
const currency = this.registeredCurrenciesNoReaction[index];
|
|
164
|
+
this.registeredCurrenciesNoReaction.splice(index, 1);
|
|
165
|
+
this.registeredCurrencies.push(currency);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
114
168
|
get unknownDenomMap() {
|
|
115
169
|
const result = new Map();
|
|
116
170
|
for (const denom of this.unknownDenoms) {
|
|
117
|
-
result.set(denom,
|
|
171
|
+
result.set(denom.denom, denom);
|
|
118
172
|
}
|
|
119
173
|
return result;
|
|
120
174
|
}
|
|
@@ -148,12 +202,37 @@ class ChainInfoImpl {
|
|
|
148
202
|
if (this.currencyMap.has(coinMinimalDenom)) {
|
|
149
203
|
return this.currencyMap.get(coinMinimalDenom);
|
|
150
204
|
}
|
|
205
|
+
if (this.currencyNoReactionMap.has(coinMinimalDenom)) {
|
|
206
|
+
this.moveNoReactionCurrencyToReaction(coinMinimalDenom);
|
|
207
|
+
return this.currencyNoReactionMap.get(coinMinimalDenom);
|
|
208
|
+
}
|
|
151
209
|
this.addUnknownDenoms(coinMinimalDenom);
|
|
152
210
|
// Unknown denom can be registered synchronously in some cases.
|
|
153
211
|
// For this case, re-try to get currency.
|
|
154
212
|
if (this.currencyMap.has(coinMinimalDenom)) {
|
|
155
213
|
return this.currencyMap.get(coinMinimalDenom);
|
|
156
214
|
}
|
|
215
|
+
if (this.currencyNoReactionMap.has(coinMinimalDenom)) {
|
|
216
|
+
this.moveNoReactionCurrencyToReaction(coinMinimalDenom);
|
|
217
|
+
return this.currencyNoReactionMap.get(coinMinimalDenom);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
findCurrencyWithoutReaction(coinMinimalDenom) {
|
|
221
|
+
if (this.currencyMap.has(coinMinimalDenom)) {
|
|
222
|
+
return this.currencyMap.get(coinMinimalDenom);
|
|
223
|
+
}
|
|
224
|
+
if (this.currencyNoReactionMap.has(coinMinimalDenom)) {
|
|
225
|
+
return this.currencyNoReactionMap.get(coinMinimalDenom);
|
|
226
|
+
}
|
|
227
|
+
this.addUnknownDenomsWithoutReaction(coinMinimalDenom);
|
|
228
|
+
// Unknown denom can be registered synchronously in some cases.
|
|
229
|
+
// For this case, re-try to get currency.
|
|
230
|
+
if (this.currencyMap.has(coinMinimalDenom)) {
|
|
231
|
+
return this.currencyMap.get(coinMinimalDenom);
|
|
232
|
+
}
|
|
233
|
+
if (this.currencyNoReactionMap.has(coinMinimalDenom)) {
|
|
234
|
+
return this.currencyNoReactionMap.get(coinMinimalDenom);
|
|
235
|
+
}
|
|
157
236
|
}
|
|
158
237
|
findCurrencyAsync(coinMinimalDenom) {
|
|
159
238
|
if (this.currencyMap.has(coinMinimalDenom)) {
|
|
@@ -189,6 +268,17 @@ class ChainInfoImpl {
|
|
|
189
268
|
}
|
|
190
269
|
return currency;
|
|
191
270
|
}
|
|
271
|
+
forceFindCurrencyWithoutReaction(coinMinimalDenom) {
|
|
272
|
+
const currency = this.findCurrencyWithoutReaction(coinMinimalDenom);
|
|
273
|
+
if (!currency) {
|
|
274
|
+
return {
|
|
275
|
+
coinMinimalDenom,
|
|
276
|
+
coinDenom: coinMinimalDenom,
|
|
277
|
+
coinDecimals: 0,
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
return currency;
|
|
281
|
+
}
|
|
192
282
|
addOrReplaceCurrency(currency) {
|
|
193
283
|
if (this.currencyMap.has(currency.coinMinimalDenom)) {
|
|
194
284
|
const index = this.registeredCurrencies.findIndex((cur) => cur.coinMinimalDenom === currency.coinMinimalDenom);
|
|
@@ -205,6 +295,22 @@ class ChainInfoImpl {
|
|
|
205
295
|
this.registeredCurrencies.push(currency);
|
|
206
296
|
}
|
|
207
297
|
}
|
|
298
|
+
addOrReplaceCurrencyNoReaction(currency) {
|
|
299
|
+
if (this.currencyNoReactionMap.has(currency.coinMinimalDenom)) {
|
|
300
|
+
const index = this.registeredCurrenciesNoReaction.findIndex((cur) => cur.coinMinimalDenom === currency.coinMinimalDenom);
|
|
301
|
+
if (index >= 0) {
|
|
302
|
+
const prev = this.registeredCurrenciesNoReaction[index];
|
|
303
|
+
if (
|
|
304
|
+
// If same, do nothing
|
|
305
|
+
(0, common_1.sortedJsonByKeyStringify)(prev) !== (0, common_1.sortedJsonByKeyStringify)(currency)) {
|
|
306
|
+
this.registeredCurrenciesNoReaction.splice(index, 1, currency);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
this.registeredCurrenciesNoReaction.push(currency);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
208
314
|
get stakeCurrency() {
|
|
209
315
|
return this._embedded.stakeCurrency;
|
|
210
316
|
}
|
|
@@ -270,6 +376,9 @@ __decorate([
|
|
|
270
376
|
__decorate([
|
|
271
377
|
mobx_1.observable.shallow
|
|
272
378
|
], ChainInfoImpl.prototype, "registeredCurrencies", void 0);
|
|
379
|
+
__decorate([
|
|
380
|
+
mobx_1.observable.shallow
|
|
381
|
+
], ChainInfoImpl.prototype, "registeredCurrenciesNoReaction", void 0);
|
|
273
382
|
__decorate([
|
|
274
383
|
mobx_1.observable.shallow
|
|
275
384
|
], ChainInfoImpl.prototype, "registrationInProgressCurrencyMap", void 0);
|
|
@@ -282,6 +391,12 @@ __decorate([
|
|
|
282
391
|
__decorate([
|
|
283
392
|
mobx_1.computed
|
|
284
393
|
], ChainInfoImpl.prototype, "currencyMap", null);
|
|
394
|
+
__decorate([
|
|
395
|
+
mobx_1.computed
|
|
396
|
+
], ChainInfoImpl.prototype, "currencyNoReactionMap", null);
|
|
397
|
+
__decorate([
|
|
398
|
+
mobx_1.action
|
|
399
|
+
], ChainInfoImpl.prototype, "moveNoReactionCurrencyToReaction", null);
|
|
285
400
|
__decorate([
|
|
286
401
|
mobx_1.computed
|
|
287
402
|
], ChainInfoImpl.prototype, "unknownDenomMap", null);
|
|
@@ -294,6 +409,9 @@ __decorate([
|
|
|
294
409
|
__decorate([
|
|
295
410
|
mobx_1.action
|
|
296
411
|
], ChainInfoImpl.prototype, "addOrReplaceCurrency", null);
|
|
412
|
+
__decorate([
|
|
413
|
+
mobx_1.action
|
|
414
|
+
], ChainInfoImpl.prototype, "addOrReplaceCurrencyNoReaction", null);
|
|
297
415
|
__decorate([
|
|
298
416
|
mobx_1.action
|
|
299
417
|
], ChainInfoImpl.prototype, "setEmbeddedChainInfo", null);
|
package/build/chain/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/chain/base.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAQc;AAUd,iDAAqD;AACrD,2CAAuC;AACvC,iDAAgE;AAEhE,MAAa,aAAa;IAexB,YACE,QAAW,EACQ,gBAElB;QAFkB,qBAAgB,GAAhB,gBAAgB,CAElC;QAZO,kBAAa,GAAa,EAAE,CAAC;QAG7B,yBAAoB,GAAkB,EAAE,CAAC;QAGzC,sCAAiC,GAAyB,IAAI,GAAG,EAAE,CAAC;QAQ5E,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;QAErB,IAAA,sBAAS,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/B,IAAA,sBAAS,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,GAAG,iBAA2B;QAC7C,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE;YAChD,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;gBAC9C,SAAS;aACV;YAED,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;gBAC1C,SAAS;aACV;YAED,IAAA,kBAAW,EAAC,GAAG,EAAE;gBACf,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC1C,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE;gBAC5B,CAAC,EAAE,CAAC;gBACJ,MAAM,OAAO,GAAG,GAAG,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,EAAE;wBACX,UAAU,CAAC,GAAG,EAAE;4BACd,IAAI,QAAQ,EAAE;gCACZ,QAAQ,EAAE,CAAC;6BACZ;wBACH,CAAC,EAAE,CAAC,CAAC,CAAC;qBACP;yBAAM;wBACL,IAAI,QAAQ,EAAE;4BACZ,QAAQ,EAAE,CAAC;yBACZ;qBACF;gBACH,CAAC,CAAC;gBAEF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAC1D,IAAI,CAAC,OAAO,EACZ,gBAAgB,CACjB,CAAC;gBACF,IAAI,SAAS,EAAE;oBACb,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC;oBACjC,IAAA,kBAAW,EAAC,GAAG,EAAE;wBACf,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;4BACnB,IAAI,CAAC,iCAAiC,CAAC,GAAG,CACxC,gBAAgB,EAChB,IAAI,CACL,CAAC;yBACH;wBAED,IAAI,QAAQ,EAAE;4BACZ,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,gBAAgB,CAC/C,CAAC;4BACF,IAAI,KAAK,IAAI,CAAC,EAAE;gCACd,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;6BACrC;4BAED,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;yBACrC;wBAED,IAAI,SAAS,CAAC,IAAI,EAAE;4BAClB,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;yBACjE;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAI,SAAS,CAAC,IAAI,EAAE;wBAClB,OAAO,EAAE,CAAC;qBACX;iBACF;qBAAM;oBACL,IAAI,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;wBAChE,IAAA,kBAAW,EAAC,GAAG,EAAE;4BACf,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;wBAClE,CAAC,CAAC,CAAC;qBACJ;oBAED,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAChC,CAAC;IAGD,IAAI,eAAe;QACjB,OAAO,sBAAa,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IACtD,CAAC;IAGD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrE,CAAC;IAGD,IAAc,WAAW;QACvB,MAAM,MAAM,GAA6B,IAAI,GAAG,EAAE,CAAC;QACnD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;SACjD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD,IAAc,eAAe;QAC3B,MAAM,MAAM,GAAyB,IAAI,GAAG,EAAE,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD,aAAa,CAAC,GAAG,UAAyB;QACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO;SACR;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBAC/C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC1C;SACF;IACH,CAAC;IAGD,gBAAgB,CAAC,GAAG,iBAA2B;QAC7C,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,OAAO;SACR;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmB,CAAC;QACvC,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE;YAChD,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;SACjC;QAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAC1D,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAClD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,gBAAwB;QACnC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAExC,+DAA+D;QAC/D,yCAAyC;QACzC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,iBAAiB,CACf,gBAAwB;QAExB,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;YAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAExC,IAAI,QAAuC,CAAC;QAE5C,OAAO,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,EAAE;YACtD,QAAQ,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE;gBACtB,MAAM,YAAY,GAChB,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC/D,IAAI,CAAC,YAAY,EAAE;oBACjB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,IAAI,QAAQ,EAAE;gBACZ,QAAQ,EAAE,CAAC;aACZ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,gBAAwB;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;gBACL,gBAAgB;gBAChB,SAAS,EAAE,gBAAgB;gBAC3B,YAAY,EAAE,CAAC;aAChB,CAAC;SACH;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAGS,oBAAoB,CAAC,QAAqB;QAClD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAC/C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,KAAK,QAAQ,CAAC,gBAAgB,CAC5D,CAAC;YACF,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC9C;gBACE,sBAAsB;gBACtB,IAAA,iCAAwB,EAAC,IAAI,CAAC,KAAK,IAAA,iCAAwB,EAAC,QAAQ,CAAC,EACrE;oBACA,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;iBACtD;aACF;SACF;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;IACtC,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;IAC1C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;IACrC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IAClC,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,mCAAI,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;IACtC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IAClC,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;IAC5C,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;IAC5C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,OAAO,CAAC,CAAC,CACP,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CACrE,CAAC;IACJ,CAAC;IAGD,oBAAoB,CAAC,QAAW;QAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,gCAAgC,CAAC,gBAAwB;QACvD,OAAO,CACL,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,KAAK,CACtE,CAAC;IACJ,CAAC;CACF;AA5UW;IADT,iBAAU,CAAC,GAAG;gDACQ;AAGb;IADT,iBAAU,CAAC,OAAO;oDACoB;AAG7B;IADT,iBAAU,CAAC,OAAO;2DACgC;AAGzC;IADT,iBAAU,CAAC,OAAO;wEAC2D;AA+G9E;IADC,eAAQ;oDAGR;AAGD;IADC,eAAQ;+CAGR;AAGD;IADC,eAAQ;gDAOR;AAGD;IADC,eAAQ;oDAOR;AAGD;IADC,aAAM;kDAYN;AAGD;IADC,aAAM;qDAcN;AA8DS;IADT,aAAM;yDAkBN;AAqED;IADC,aAAM;yDAGN;AAzUH,sCAgVC;AAED,MAAa,UAAU;IASrB,YAAY,eAAoB;QALtB,gBAAW,GAAuB,EAAE,CAAC;QAGrC,uBAAkB,GAAwB,EAAE,CAAC;QAGrD,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAE5C,IAAA,sBAAS,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAGD,IAAc,YAAY;QACxB,MAAM,MAAM,GAAkC,IAAI,GAAG,EAAE,CAAC;QACxD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE;YACxC,MAAM,CAAC,GAAG,CAAC,sBAAa,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;SAC1E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,MAAM,eAAe,GAAG,sBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAEpE,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;SACnD;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,MAAM,eAAe,GAAG,sBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAGS,qBAAqB,CAAC,UAAe;QAC7C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAChC,sBAAa,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,CAClD,CAAC;YACF,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC;aACb;YAED,OAAO,IAAI,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAClB,OAAe,EACf,gBAAwB;QAOxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACvD,IAAI,SAAS,EAAE;gBACb,OAAO,SAAS,CAAC;aAClB;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAGD,yBAAyB,CAAC,SAA4B;QACpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC;IACrC,CAAC;CACF;AAvFW;IADT,iBAAU,CAAC,GAAG;+CACgC;AAGrC;IADT,iBAAU;sDAC4C;AAevD;IADC,eAAQ;8CAOR;AAqBS;IADT,aAAM;uDAaN;AAsBD;IADC,aAAM;2DAGN;AArFH,gCA2FC"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/chain/base.ts"],"names":[],"mappings":"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"}
|
package/build/chain/types.d.ts
CHANGED
|
@@ -12,9 +12,12 @@ export interface IChainStore<C extends ChainInfo = ChainInfo> extends ChainGette
|
|
|
12
12
|
}
|
|
13
13
|
export interface IChainInfoImpl<C extends ChainInfo = ChainInfo> {
|
|
14
14
|
addUnknownDenoms(...coinMinimalDenoms: string[]): void;
|
|
15
|
+
addUnknownDenomsWithoutReaction(...coinMinimalDenoms: string[]): void;
|
|
15
16
|
findCurrency(coinMinimalDenom: string | ((coinMinimalDenom: string) => boolean | null | undefined)): AppCurrency | undefined;
|
|
17
|
+
findCurrencyWithoutReaction(coinMinimalDenom: string): AppCurrency | undefined;
|
|
16
18
|
findCurrencyAsync(coinMinimalDenom: string): Promise<AppCurrency | undefined>;
|
|
17
19
|
forceFindCurrency(coinMinimalDenom: string): AppCurrency;
|
|
20
|
+
forceFindCurrencyWithoutReaction(coinMinimalDenom: string): AppCurrency;
|
|
18
21
|
hasFeature(feature: string): boolean;
|
|
19
22
|
removeCurrencies(...coinMinimalDenoms: string[]): void;
|
|
20
23
|
addCurrencies(...currencies: AppCurrency[]): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keplr-wallet/stores",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.90",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"author": "chainapsis",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -16,16 +16,16 @@
|
|
|
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.90"
|
|
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/proto-types": "0.12.
|
|
26
|
-
"@keplr-wallet/simple-fetch": "0.12.
|
|
27
|
-
"@keplr-wallet/types": "0.12.
|
|
28
|
-
"@keplr-wallet/unit": "0.12.
|
|
22
|
+
"@keplr-wallet/common": "0.12.90",
|
|
23
|
+
"@keplr-wallet/cosmos": "0.12.90",
|
|
24
|
+
"@keplr-wallet/crypto": "0.12.90",
|
|
25
|
+
"@keplr-wallet/proto-types": "0.12.90",
|
|
26
|
+
"@keplr-wallet/simple-fetch": "0.12.90",
|
|
27
|
+
"@keplr-wallet/types": "0.12.90",
|
|
28
|
+
"@keplr-wallet/unit": "0.12.90",
|
|
29
29
|
"buffer": "^6.0.3",
|
|
30
30
|
"deepmerge": "^4.2.2",
|
|
31
31
|
"eventemitter3": "^4.0.7",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"mobx": "^6",
|
|
38
38
|
"mobx-utils": "^6"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "120a7a32b54a0976ea3d386b3105e2c41eaf41bf"
|
|
41
41
|
}
|
package/src/chain/base.ts
CHANGED
|
@@ -27,10 +27,15 @@ export class ChainInfoImpl<C extends ChainInfo = ChainInfo>
|
|
|
27
27
|
protected _embedded: C;
|
|
28
28
|
|
|
29
29
|
@observable.shallow
|
|
30
|
-
protected unknownDenoms:
|
|
30
|
+
protected unknownDenoms: {
|
|
31
|
+
denom: string;
|
|
32
|
+
reaction: boolean;
|
|
33
|
+
}[] = [];
|
|
31
34
|
|
|
32
35
|
@observable.shallow
|
|
33
36
|
protected registeredCurrencies: AppCurrency[] = [];
|
|
37
|
+
@observable.shallow
|
|
38
|
+
protected registeredCurrenciesNoReaction: AppCurrency[] = [];
|
|
34
39
|
|
|
35
40
|
@observable.shallow
|
|
36
41
|
protected registrationInProgressCurrencyMap: Map<string, boolean> = new Map();
|
|
@@ -58,24 +63,56 @@ export class ChainInfoImpl<C extends ChainInfo = ChainInfo>
|
|
|
58
63
|
* 하지만 이 메소드를 action 안에서 호출하면 여전히 immediate로 실행되지 않으므로, 이 경우도 고려해야한다.
|
|
59
64
|
*/
|
|
60
65
|
addUnknownDenoms(...coinMinimalDenoms: string[]) {
|
|
66
|
+
this.addUnknownDenomsImpl(coinMinimalDenoms, true);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
addUnknownDenomsWithoutReaction(...coinMinimalDenoms: string[]) {
|
|
70
|
+
this.addUnknownDenomsImpl(coinMinimalDenoms, false);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
protected addUnknownDenomsImpl(
|
|
74
|
+
coinMinimalDenoms: string[],
|
|
75
|
+
reaction: boolean
|
|
76
|
+
) {
|
|
61
77
|
for (const coinMinimalDenom of coinMinimalDenoms) {
|
|
62
|
-
|
|
63
|
-
|
|
78
|
+
let found = false;
|
|
79
|
+
const prior = this.unknownDenomMap.get(coinMinimalDenom);
|
|
80
|
+
if (prior) {
|
|
81
|
+
if (prior.reaction === reaction) {
|
|
82
|
+
continue;
|
|
83
|
+
} else if (reaction) {
|
|
84
|
+
found = true;
|
|
85
|
+
// 로직상 reaction은 reactive할 필요가 없기 때문에
|
|
86
|
+
// 그냥 여기서 바꾼다.
|
|
87
|
+
prior.reaction = reaction;
|
|
88
|
+
}
|
|
64
89
|
}
|
|
65
90
|
|
|
66
91
|
if (this.currencyMap.has(coinMinimalDenom)) {
|
|
67
92
|
continue;
|
|
68
93
|
}
|
|
69
94
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
95
|
+
if (this.currencyNoReactionMap.has(coinMinimalDenom)) {
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (!found) {
|
|
100
|
+
runInAction(() => {
|
|
101
|
+
this.unknownDenoms.push({
|
|
102
|
+
denom: coinMinimalDenom,
|
|
103
|
+
reaction,
|
|
104
|
+
});
|
|
105
|
+
this.registrationInProgressCurrencyMap.set(coinMinimalDenom, true);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
74
108
|
|
|
75
109
|
let i = 0;
|
|
110
|
+
let disposed = false;
|
|
76
111
|
const disposer = autorun(() => {
|
|
77
112
|
i++;
|
|
78
113
|
const dispose = () => {
|
|
114
|
+
disposed = true;
|
|
115
|
+
|
|
79
116
|
if (i === 1) {
|
|
80
117
|
setTimeout(() => {
|
|
81
118
|
if (disposer) {
|
|
@@ -89,6 +126,10 @@ export class ChainInfoImpl<C extends ChainInfo = ChainInfo>
|
|
|
89
126
|
}
|
|
90
127
|
};
|
|
91
128
|
|
|
129
|
+
if (disposed) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
|
|
92
133
|
const generator = this.currencyRegistry.getCurrencyRegistrar(
|
|
93
134
|
this.chainId,
|
|
94
135
|
coinMinimalDenom
|
|
@@ -105,13 +146,26 @@ export class ChainInfoImpl<C extends ChainInfo = ChainInfo>
|
|
|
105
146
|
|
|
106
147
|
if (currency) {
|
|
107
148
|
const index = this.unknownDenoms.findIndex(
|
|
108
|
-
(denom) => denom === currency.coinMinimalDenom
|
|
149
|
+
(denom) => denom.denom === currency.coinMinimalDenom
|
|
109
150
|
);
|
|
151
|
+
let prev:
|
|
152
|
+
| {
|
|
153
|
+
denom: string;
|
|
154
|
+
reaction: boolean;
|
|
155
|
+
}
|
|
156
|
+
| undefined;
|
|
110
157
|
if (index >= 0) {
|
|
111
|
-
this.unknownDenoms
|
|
158
|
+
prev = this.unknownDenoms[index];
|
|
159
|
+
if (generator.done) {
|
|
160
|
+
this.unknownDenoms.splice(index, 1);
|
|
161
|
+
}
|
|
112
162
|
}
|
|
113
163
|
|
|
114
|
-
|
|
164
|
+
if (!prev || prev.reaction) {
|
|
165
|
+
this.addOrReplaceCurrency(currency);
|
|
166
|
+
} else {
|
|
167
|
+
this.addOrReplaceCurrencyNoReaction(currency);
|
|
168
|
+
}
|
|
115
169
|
}
|
|
116
170
|
|
|
117
171
|
if (generator.done) {
|
|
@@ -163,10 +217,40 @@ export class ChainInfoImpl<C extends ChainInfo = ChainInfo>
|
|
|
163
217
|
}
|
|
164
218
|
|
|
165
219
|
@computed
|
|
166
|
-
protected get
|
|
167
|
-
const result: Map<string,
|
|
220
|
+
protected get currencyNoReactionMap(): Map<string, AppCurrency> {
|
|
221
|
+
const result: Map<string, AppCurrency> = new Map();
|
|
222
|
+
for (const currency of this.registeredCurrenciesNoReaction) {
|
|
223
|
+
result.set(currency.coinMinimalDenom, currency);
|
|
224
|
+
}
|
|
225
|
+
return result;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
@action
|
|
229
|
+
protected moveNoReactionCurrencyToReaction(coinMinimalDenom: string) {
|
|
230
|
+
const index = this.registeredCurrenciesNoReaction.findIndex(
|
|
231
|
+
(cur) => cur.coinMinimalDenom === coinMinimalDenom
|
|
232
|
+
);
|
|
233
|
+
if (index >= 0) {
|
|
234
|
+
const currency = this.registeredCurrenciesNoReaction[index];
|
|
235
|
+
this.registeredCurrenciesNoReaction.splice(index, 1);
|
|
236
|
+
this.registeredCurrencies.push(currency);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
@computed
|
|
241
|
+
protected get unknownDenomMap(): Map<
|
|
242
|
+
string,
|
|
243
|
+
{ denom: string; reaction: boolean }
|
|
244
|
+
> {
|
|
245
|
+
const result: Map<
|
|
246
|
+
string,
|
|
247
|
+
{
|
|
248
|
+
denom: string;
|
|
249
|
+
reaction: boolean;
|
|
250
|
+
}
|
|
251
|
+
> = new Map();
|
|
168
252
|
for (const denom of this.unknownDenoms) {
|
|
169
|
-
result.set(denom,
|
|
253
|
+
result.set(denom.denom, denom);
|
|
170
254
|
}
|
|
171
255
|
return result;
|
|
172
256
|
}
|
|
@@ -210,6 +294,10 @@ export class ChainInfoImpl<C extends ChainInfo = ChainInfo>
|
|
|
210
294
|
if (this.currencyMap.has(coinMinimalDenom)) {
|
|
211
295
|
return this.currencyMap.get(coinMinimalDenom);
|
|
212
296
|
}
|
|
297
|
+
if (this.currencyNoReactionMap.has(coinMinimalDenom)) {
|
|
298
|
+
this.moveNoReactionCurrencyToReaction(coinMinimalDenom);
|
|
299
|
+
return this.currencyNoReactionMap.get(coinMinimalDenom);
|
|
300
|
+
}
|
|
213
301
|
this.addUnknownDenoms(coinMinimalDenom);
|
|
214
302
|
|
|
215
303
|
// Unknown denom can be registered synchronously in some cases.
|
|
@@ -217,6 +305,31 @@ export class ChainInfoImpl<C extends ChainInfo = ChainInfo>
|
|
|
217
305
|
if (this.currencyMap.has(coinMinimalDenom)) {
|
|
218
306
|
return this.currencyMap.get(coinMinimalDenom);
|
|
219
307
|
}
|
|
308
|
+
if (this.currencyNoReactionMap.has(coinMinimalDenom)) {
|
|
309
|
+
this.moveNoReactionCurrencyToReaction(coinMinimalDenom);
|
|
310
|
+
return this.currencyNoReactionMap.get(coinMinimalDenom);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
findCurrencyWithoutReaction(
|
|
315
|
+
coinMinimalDenom: string
|
|
316
|
+
): AppCurrency | undefined {
|
|
317
|
+
if (this.currencyMap.has(coinMinimalDenom)) {
|
|
318
|
+
return this.currencyMap.get(coinMinimalDenom);
|
|
319
|
+
}
|
|
320
|
+
if (this.currencyNoReactionMap.has(coinMinimalDenom)) {
|
|
321
|
+
return this.currencyNoReactionMap.get(coinMinimalDenom);
|
|
322
|
+
}
|
|
323
|
+
this.addUnknownDenomsWithoutReaction(coinMinimalDenom);
|
|
324
|
+
|
|
325
|
+
// Unknown denom can be registered synchronously in some cases.
|
|
326
|
+
// For this case, re-try to get currency.
|
|
327
|
+
if (this.currencyMap.has(coinMinimalDenom)) {
|
|
328
|
+
return this.currencyMap.get(coinMinimalDenom);
|
|
329
|
+
}
|
|
330
|
+
if (this.currencyNoReactionMap.has(coinMinimalDenom)) {
|
|
331
|
+
return this.currencyNoReactionMap.get(coinMinimalDenom);
|
|
332
|
+
}
|
|
220
333
|
}
|
|
221
334
|
|
|
222
335
|
findCurrencyAsync(
|
|
@@ -260,6 +373,18 @@ export class ChainInfoImpl<C extends ChainInfo = ChainInfo>
|
|
|
260
373
|
return currency;
|
|
261
374
|
}
|
|
262
375
|
|
|
376
|
+
forceFindCurrencyWithoutReaction(coinMinimalDenom: string): AppCurrency {
|
|
377
|
+
const currency = this.findCurrencyWithoutReaction(coinMinimalDenom);
|
|
378
|
+
if (!currency) {
|
|
379
|
+
return {
|
|
380
|
+
coinMinimalDenom,
|
|
381
|
+
coinDenom: coinMinimalDenom,
|
|
382
|
+
coinDecimals: 0,
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
return currency;
|
|
386
|
+
}
|
|
387
|
+
|
|
263
388
|
@action
|
|
264
389
|
protected addOrReplaceCurrency(currency: AppCurrency) {
|
|
265
390
|
if (this.currencyMap.has(currency.coinMinimalDenom)) {
|
|
@@ -280,6 +405,26 @@ export class ChainInfoImpl<C extends ChainInfo = ChainInfo>
|
|
|
280
405
|
}
|
|
281
406
|
}
|
|
282
407
|
|
|
408
|
+
@action
|
|
409
|
+
protected addOrReplaceCurrencyNoReaction(currency: AppCurrency) {
|
|
410
|
+
if (this.currencyNoReactionMap.has(currency.coinMinimalDenom)) {
|
|
411
|
+
const index = this.registeredCurrenciesNoReaction.findIndex(
|
|
412
|
+
(cur) => cur.coinMinimalDenom === currency.coinMinimalDenom
|
|
413
|
+
);
|
|
414
|
+
if (index >= 0) {
|
|
415
|
+
const prev = this.registeredCurrenciesNoReaction[index];
|
|
416
|
+
if (
|
|
417
|
+
// If same, do nothing
|
|
418
|
+
sortedJsonByKeyStringify(prev) !== sortedJsonByKeyStringify(currency)
|
|
419
|
+
) {
|
|
420
|
+
this.registeredCurrenciesNoReaction.splice(index, 1, currency);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
} else {
|
|
424
|
+
this.registeredCurrenciesNoReaction.push(currency);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
283
428
|
get stakeCurrency(): Currency | undefined {
|
|
284
429
|
return this._embedded.stakeCurrency;
|
|
285
430
|
}
|
package/src/chain/types.ts
CHANGED
|
@@ -29,13 +29,18 @@ export interface IChainStore<C extends ChainInfo = ChainInfo>
|
|
|
29
29
|
|
|
30
30
|
export interface IChainInfoImpl<C extends ChainInfo = ChainInfo> {
|
|
31
31
|
addUnknownDenoms(...coinMinimalDenoms: string[]): void;
|
|
32
|
+
addUnknownDenomsWithoutReaction(...coinMinimalDenoms: string[]): void;
|
|
32
33
|
findCurrency(
|
|
33
34
|
coinMinimalDenom:
|
|
34
35
|
| string
|
|
35
36
|
| ((coinMinimalDenom: string) => boolean | null | undefined)
|
|
36
37
|
): AppCurrency | undefined;
|
|
38
|
+
findCurrencyWithoutReaction(
|
|
39
|
+
coinMinimalDenom: string
|
|
40
|
+
): AppCurrency | undefined;
|
|
37
41
|
findCurrencyAsync(coinMinimalDenom: string): Promise<AppCurrency | undefined>;
|
|
38
42
|
forceFindCurrency(coinMinimalDenom: string): AppCurrency;
|
|
43
|
+
forceFindCurrencyWithoutReaction(coinMinimalDenom: string): AppCurrency;
|
|
39
44
|
hasFeature(feature: string): boolean;
|
|
40
45
|
removeCurrencies(...coinMinimalDenoms: string[]): void;
|
|
41
46
|
addCurrencies(...currencies: AppCurrency[]): void;
|