@keplr-wallet/stores-ibc 0.12.300-rc.0 → 0.12.304
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/channel.js +2 -5
- package/build/channel.js.map +1 -1
- package/build/currency-registrar.d.ts +5 -6
- package/build/currency-registrar.js +32 -57
- package/build/currency-registrar.js.map +1 -1
- package/package.json +11 -7
- package/src/channel.ts +2 -7
- package/src/currency-registrar.ts +53 -90
package/build/channel.js
CHANGED
|
@@ -63,7 +63,7 @@ class IBCChannelStore {
|
|
|
63
63
|
const migrate = yield this.kvStore.get("migrate/v1");
|
|
64
64
|
if (!migrate) {
|
|
65
65
|
const migrationData = new Map();
|
|
66
|
-
for (const chainInfo of this.chainStore.
|
|
66
|
+
for (const chainInfo of this.chainStore.chainInfos) {
|
|
67
67
|
const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
|
|
68
68
|
const legacyKey = `${chainIdentifier.identifier}-channels`;
|
|
69
69
|
const legacyObj = yield this.legacyKVStore.get(legacyKey);
|
|
@@ -122,10 +122,7 @@ class IBCChannelStore {
|
|
|
122
122
|
const savedChainIdentifiers = new Set(Object.keys(saved !== null && saved !== void 0 ? saved : {}));
|
|
123
123
|
const removingChainIdentifiers = [];
|
|
124
124
|
for (const savedChainIdentifier of savedChainIdentifiers) {
|
|
125
|
-
if (!this.chainStore.
|
|
126
|
-
!this.chainStore
|
|
127
|
-
.getModularChainInfoImpl(savedChainIdentifier)
|
|
128
|
-
.matchModule("cosmos")) {
|
|
125
|
+
if (!this.chainStore.hasChain(savedChainIdentifier)) {
|
|
129
126
|
removingChainIdentifiers.push(savedChainIdentifier);
|
|
130
127
|
}
|
|
131
128
|
}
|
package/build/channel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iDAA8D;AAC9D,+BAAgF;AAChF,2CAAwC;AAExC,iDAAqD;AAGrD;;GAEG;AACH,MAAa,eAAe;IAU1B,YACqB,OAAgB,EAChB,UAElB;QAHkB,YAAO,GAAP,OAAO,CAAS;QAChB,eAAU,GAAV,UAAU,CAE5B;QAbH,2DAA2D;QAEjD,eAAU,GAAsC,IAAI,GAAG,EAAE,CAAC;QAG7D,kBAAa,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="lodash" />
|
|
2
|
-
import { AppCurrency,
|
|
3
|
-
import { ChainStore, CosmosQueries, CosmwasmQueries, IQueriesStore, SecretQueries } from "@keplr-wallet/stores";
|
|
2
|
+
import { AppCurrency, ChainInfo } from "@keplr-wallet/types";
|
|
3
|
+
import { IChainInfoImpl, ChainStore, CosmosQueries, CosmwasmQueries, IQueriesStore, SecretQueries } from "@keplr-wallet/stores";
|
|
4
4
|
import { KVStore } from "@keplr-wallet/common";
|
|
5
5
|
import { EthereumQueries } from "@keplr-wallet/stores-eth";
|
|
6
6
|
type CacheIBCDenomData = {
|
|
@@ -61,7 +61,7 @@ export declare class IBCCurrencyRegistrar {
|
|
|
61
61
|
counterpartyPortId?: string;
|
|
62
62
|
clientChainId?: string;
|
|
63
63
|
}[];
|
|
64
|
-
}, originChainInfo:
|
|
64
|
+
}, originChainInfo: IChainInfoImpl | undefined, counterpartyChainInfo: IChainInfoImpl | undefined, originCurrency: AppCurrency | undefined) => string;
|
|
65
65
|
static defaultCoinDenomGenerator(denomTrace: {
|
|
66
66
|
denom: string;
|
|
67
67
|
paths: {
|
|
@@ -71,7 +71,7 @@ export declare class IBCCurrencyRegistrar {
|
|
|
71
71
|
counterpartyPortId?: string;
|
|
72
72
|
clientChainId?: string;
|
|
73
73
|
}[];
|
|
74
|
-
}, _:
|
|
74
|
+
}, _: ChainInfo | undefined, counterpartyChainInfo: ChainInfo | undefined, originCurrency: AppCurrency | undefined): string;
|
|
75
75
|
protected cacheDenomTracePaths: Map<string, CacheIBCDenomData>;
|
|
76
76
|
protected staledDenomTracePaths: Map<string, CacheIBCDenomData>;
|
|
77
77
|
protected cacheTokenInfoMetadata: Map<string, CacheTokenInfo>;
|
|
@@ -95,13 +95,12 @@ export declare class IBCCurrencyRegistrar {
|
|
|
95
95
|
counterpartyPortId?: string;
|
|
96
96
|
clientChainId?: string;
|
|
97
97
|
}[];
|
|
98
|
-
}, originChainInfo:
|
|
98
|
+
}, originChainInfo: IChainInfoImpl | undefined, counterpartyChainInfo: IChainInfoImpl | undefined, originCurrency: AppCurrency | undefined) => string);
|
|
99
99
|
protected init(): Promise<void>;
|
|
100
100
|
protected ibcCurrencyRegistrar(chainId: string, coinMinimalDenom: string): {
|
|
101
101
|
value: AppCurrency | undefined;
|
|
102
102
|
done: boolean;
|
|
103
103
|
} | undefined;
|
|
104
|
-
protected isIBCAvailableChain(chainId: string): boolean;
|
|
105
104
|
protected getERC20TokenInfo(chainId: string, contractAddress: string): {
|
|
106
105
|
res: {
|
|
107
106
|
coinDenom: string;
|
|
@@ -91,7 +91,8 @@ class IBCCurrencyRegistrar {
|
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
93
|
ibcCurrencyRegistrar(chainId, coinMinimalDenom) {
|
|
94
|
-
|
|
94
|
+
var _a;
|
|
95
|
+
if (!this.chainStore.hasChain(chainId)) {
|
|
95
96
|
return;
|
|
96
97
|
}
|
|
97
98
|
const denomHelper = new common_1.DenomHelper(coinMinimalDenom);
|
|
@@ -120,17 +121,17 @@ class IBCCurrencyRegistrar {
|
|
|
120
121
|
if (!path.clientChainId) {
|
|
121
122
|
return true;
|
|
122
123
|
}
|
|
123
|
-
return !this.
|
|
124
|
+
return !this.chainStore.hasChain(path.clientChainId);
|
|
124
125
|
})) {
|
|
125
126
|
fromCache = true;
|
|
126
127
|
denomTrace = cached.denomTrace;
|
|
127
128
|
if (cached.originChainId &&
|
|
128
|
-
this.
|
|
129
|
-
originChainInfo = this.chainStore.
|
|
129
|
+
this.chainStore.hasChain(cached.originChainId)) {
|
|
130
|
+
originChainInfo = this.chainStore.getChain(cached.originChainId);
|
|
130
131
|
}
|
|
131
132
|
if (cached.counterpartyChainId &&
|
|
132
|
-
this.
|
|
133
|
-
counterpartyChainInfo = this.chainStore.
|
|
133
|
+
this.chainStore.hasChain(cached.counterpartyChainId)) {
|
|
134
|
+
counterpartyChainInfo = this.chainStore.getChain(cached.counterpartyChainId);
|
|
134
135
|
}
|
|
135
136
|
// 만약 이전의 cache에서 originChainId와 counterpartyChainId를 몰랐던 상태였는데
|
|
136
137
|
// 현재는 알게된 경우에는 cache를 사용하지않고 지운다.
|
|
@@ -150,10 +151,10 @@ class IBCCurrencyRegistrar {
|
|
|
150
151
|
// 만약 이전의 cache에서 originChainId와 counterpartyChainId를 몰랐던 상태였는데
|
|
151
152
|
// 현재는 알게된 경우에는 cache를 사용하지않고 지운다.
|
|
152
153
|
if ((cached.originChainId &&
|
|
153
|
-
this.
|
|
154
|
+
this.chainStore.hasChain(cached.originChainId) &&
|
|
154
155
|
cached.originChainUnknown) ||
|
|
155
156
|
(cached.counterpartyChainId &&
|
|
156
|
-
this.
|
|
157
|
+
this.chainStore.hasChain(cached.counterpartyChainId) &&
|
|
157
158
|
cached.counterpartyChainUnknown)) {
|
|
158
159
|
cached = undefined;
|
|
159
160
|
fromCache = false;
|
|
@@ -196,9 +197,7 @@ class IBCCurrencyRegistrar {
|
|
|
196
197
|
// 현재 ethereum ibc의 경우 ethereum까지 타고 들어가서 nested하게 처리할 방법은 없다.
|
|
197
198
|
// 마지막 path일 경우만 처리한다.
|
|
198
199
|
isLast &&
|
|
199
|
-
this.chainStore
|
|
200
|
-
.getModularChainInfoImpl(chainIdBefore)
|
|
201
|
-
.hasFeature("ibc-v2") &&
|
|
200
|
+
this.chainStore.getChain(chainIdBefore).hasFeature("ibc-v2") &&
|
|
202
201
|
denomTrace.denom.startsWith("0x")) {
|
|
203
202
|
const clientState = this.queriesStore
|
|
204
203
|
.get(chainIdBefore)
|
|
@@ -213,17 +212,16 @@ class IBCCurrencyRegistrar {
|
|
|
213
212
|
if (!rawCounterpartyChainId) {
|
|
214
213
|
rawCounterpartyChainId = ethereumChainId;
|
|
215
214
|
}
|
|
216
|
-
if (this.
|
|
215
|
+
if (this.chainStore.hasChain(ethereumChainId)) {
|
|
217
216
|
// TODO: counterparty channel id를 구해야할듯한데
|
|
218
217
|
// https://github.com/cosmos/ibc-go/blob/a8b4af9c757f5235a965718597f73f039c4a5708/proto/ibc/core/client/v2/query.proto#L15
|
|
219
218
|
// 이것으로 추정되지만 현재 cosmos testnet에서 해당 쿼리가 501 not implemented로 반환되기 때문에 일단 패스...
|
|
220
219
|
path.clientChainId = ethereumChainId;
|
|
221
220
|
chainIdBefore = ethereumChainId;
|
|
222
|
-
originChainInfo =
|
|
223
|
-
this.chainStore.getModularChain(ethereumChainId);
|
|
221
|
+
originChainInfo = this.chainStore.getChain(ethereumChainId);
|
|
224
222
|
if (!counterpartyChainInfo) {
|
|
225
223
|
counterpartyChainInfo =
|
|
226
|
-
this.chainStore.
|
|
224
|
+
this.chainStore.getChain(ethereumChainId);
|
|
227
225
|
}
|
|
228
226
|
}
|
|
229
227
|
else {
|
|
@@ -258,12 +256,12 @@ class IBCCurrencyRegistrar {
|
|
|
258
256
|
}
|
|
259
257
|
}
|
|
260
258
|
if (clientState.clientChainId &&
|
|
261
|
-
this.
|
|
259
|
+
this.chainStore.hasChain(clientState.clientChainId)) {
|
|
262
260
|
path.clientChainId = clientState.clientChainId;
|
|
263
261
|
chainIdBefore = clientState.clientChainId;
|
|
264
|
-
originChainInfo = this.chainStore.
|
|
262
|
+
originChainInfo = this.chainStore.getChain(clientState.clientChainId);
|
|
265
263
|
if (!counterpartyChainInfo) {
|
|
266
|
-
counterpartyChainInfo = this.chainStore.
|
|
264
|
+
counterpartyChainInfo = this.chainStore.getChain(clientState.clientChainId);
|
|
267
265
|
}
|
|
268
266
|
}
|
|
269
267
|
else {
|
|
@@ -292,22 +290,21 @@ class IBCCurrencyRegistrar {
|
|
|
292
290
|
}
|
|
293
291
|
if (!originChainInfo &&
|
|
294
292
|
cached.originChainId &&
|
|
295
|
-
this.
|
|
296
|
-
originChainInfo = this.chainStore.
|
|
293
|
+
this.chainStore.hasChain(cached.originChainId)) {
|
|
294
|
+
originChainInfo = this.chainStore.getChain(cached.originChainId);
|
|
297
295
|
}
|
|
298
296
|
if (!counterpartyChainInfo &&
|
|
299
297
|
cached.counterpartyChainId &&
|
|
300
|
-
this.
|
|
301
|
-
counterpartyChainInfo = this.chainStore.
|
|
298
|
+
this.chainStore.hasChain(cached.counterpartyChainId)) {
|
|
299
|
+
counterpartyChainInfo = this.chainStore.getChain(cached.counterpartyChainId);
|
|
302
300
|
}
|
|
303
301
|
}
|
|
304
302
|
}
|
|
305
303
|
if (originChainInfo && denomTrace) {
|
|
306
304
|
// 이 경우 ethereum 계열이기 때문에 다르게 처리해야한다.
|
|
307
|
-
if (this.chainStore.isEvmOnlyChain(originChainInfo.chainId)
|
|
308
|
-
"evm" in originChainInfo) {
|
|
305
|
+
if (this.chainStore.isEvmOnlyChain(originChainInfo.chainId)) {
|
|
309
306
|
// 유저가 Add Token을 통해서 추가했을 경우
|
|
310
|
-
const currency = originChainInfo.
|
|
307
|
+
const currency = originChainInfo.currencies.find((cur) => {
|
|
311
308
|
return cur.coinMinimalDenom === `erc20:${denomTrace.denom}`;
|
|
312
309
|
});
|
|
313
310
|
if (currency) {
|
|
@@ -385,19 +382,14 @@ class IBCCurrencyRegistrar {
|
|
|
385
382
|
const isERC20Currency = denomTrace.denom.split(/^(erc20)\/(\w+)$/).length === 4;
|
|
386
383
|
switch (true) {
|
|
387
384
|
case isCW20Currency:
|
|
388
|
-
const
|
|
389
|
-
const isSecret20Currency = this.chainStore
|
|
390
|
-
.getModularChainInfoImpl(originChainInfo.chainId)
|
|
391
|
-
.hasFeature("secretwasm");
|
|
385
|
+
const isSecret20Currency = (_a = originChainInfo.features) === null || _a === void 0 ? void 0 : _a.includes("secretwasm");
|
|
392
386
|
if (!isSecret20Currency) {
|
|
393
387
|
let isFetching = false;
|
|
394
388
|
// If the origin currency is ics20-cw20.
|
|
395
|
-
let cw20Currency =
|
|
396
|
-
.getCurrencies()
|
|
397
|
-
.find((cur) => denomTrace &&
|
|
389
|
+
let cw20Currency = originChainInfo.currencies.find((cur) => denomTrace &&
|
|
398
390
|
cur.coinMinimalDenom.startsWith(denomTrace.denom));
|
|
399
391
|
if (!cw20Currency &&
|
|
400
|
-
this.
|
|
392
|
+
this.chainStore.hasChain(originChainInfo.chainId)) {
|
|
401
393
|
const originQueries = this.queriesStore.get(originChainInfo.chainId);
|
|
402
394
|
if (originQueries.cosmwasm) {
|
|
403
395
|
const contractAddress = denomTrace.denom.replace("cw20:", "");
|
|
@@ -433,12 +425,10 @@ class IBCCurrencyRegistrar {
|
|
|
433
425
|
else {
|
|
434
426
|
let isSecret20Fetching = false;
|
|
435
427
|
// If the origin currency is ics20-cw20.
|
|
436
|
-
let secret20Currency =
|
|
437
|
-
.getCurrencies()
|
|
438
|
-
.find((cur) => denomTrace &&
|
|
428
|
+
let secret20Currency = originChainInfo.currencies.find((cur) => denomTrace &&
|
|
439
429
|
cur.coinMinimalDenom.startsWith(denomTrace.denom));
|
|
440
430
|
if (!secret20Currency &&
|
|
441
|
-
this.
|
|
431
|
+
this.chainStore.hasChain(originChainInfo.chainId)) {
|
|
442
432
|
const originQueries = this.queriesStore.get(originChainInfo.chainId);
|
|
443
433
|
if (originQueries.secret) {
|
|
444
434
|
const contractAddress = denomTrace.denom.replace("cw20:", "");
|
|
@@ -475,15 +465,10 @@ class IBCCurrencyRegistrar {
|
|
|
475
465
|
case isERC20Currency:
|
|
476
466
|
let isERC20Fetching = false;
|
|
477
467
|
// If the origin currency is ics20-erc20.
|
|
478
|
-
let erc20Currency =
|
|
479
|
-
.
|
|
480
|
-
.getCurrencies()
|
|
481
|
-
.find((cur) => {
|
|
482
|
-
return (denomTrace &&
|
|
483
|
-
cur.coinMinimalDenom.startsWith(denomTrace.denom));
|
|
484
|
-
});
|
|
468
|
+
let erc20Currency = originChainInfo.currencies.find((cur) => denomTrace &&
|
|
469
|
+
cur.coinMinimalDenom.startsWith(denomTrace.denom));
|
|
485
470
|
if (!erc20Currency &&
|
|
486
|
-
this.
|
|
471
|
+
this.chainStore.hasChain(originChainInfo.chainId)) {
|
|
487
472
|
const originQueries = this.queriesStore.get(originChainInfo.chainId);
|
|
488
473
|
if (originQueries.ethereum) {
|
|
489
474
|
const contractAddress = denomTrace.denom.replace("erc20/", "");
|
|
@@ -517,12 +502,8 @@ class IBCCurrencyRegistrar {
|
|
|
517
502
|
}
|
|
518
503
|
break;
|
|
519
504
|
default:
|
|
520
|
-
const currency =
|
|
521
|
-
|
|
522
|
-
.findCurrency(denomTrace.denom);
|
|
523
|
-
if (this.chainStore
|
|
524
|
-
.getModularChainInfoImpl(originChainInfo.chainId)
|
|
525
|
-
.isCurrencyRegistrationInProgress(denomTrace.denom)) {
|
|
505
|
+
const currency = originChainInfo.findCurrency(denomTrace.denom);
|
|
506
|
+
if (originChainInfo.isCurrencyRegistrationInProgress(denomTrace.denom)) {
|
|
526
507
|
isGlobalFetching = true;
|
|
527
508
|
}
|
|
528
509
|
if (currency && !("paths" in currency)) {
|
|
@@ -566,12 +547,6 @@ class IBCCurrencyRegistrar {
|
|
|
566
547
|
};
|
|
567
548
|
}
|
|
568
549
|
}
|
|
569
|
-
isIBCAvailableChain(chainId) {
|
|
570
|
-
return (this.chainStore.hasModularChain(chainId) &&
|
|
571
|
-
this.chainStore
|
|
572
|
-
.getModularChainInfoImpl(chainId)
|
|
573
|
-
.matchModules({ or: ["cosmos", "evm"] }));
|
|
574
|
-
}
|
|
575
550
|
getERC20TokenInfo(chainId, contractAddress) {
|
|
576
551
|
var _a, _b;
|
|
577
552
|
const { res: cached, staled } = this.getCacheTokenInfo(chainId, contractAddress);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency-registrar.js","sourceRoot":"","sources":["../src/currency-registrar.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"currency-registrar.js","sourceRoot":"","sources":["../src/currency-registrar.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keplr-wallet/stores-ibc",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.304",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"author": "chainapsis",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/chainapsis/keplr-wallet.git"
|
|
13
|
+
},
|
|
10
14
|
"scripts": {
|
|
11
15
|
"clean": "rm -rf node_modules; rm -rf build",
|
|
12
16
|
"build": "npx tsc",
|
|
@@ -16,11 +20,11 @@
|
|
|
16
20
|
"lint-fix": "npx eslint --fix \"src/**/*\" && npx prettier --write \"src/**/*\""
|
|
17
21
|
},
|
|
18
22
|
"dependencies": {
|
|
19
|
-
"@keplr-wallet/common": "0.12.
|
|
20
|
-
"@keplr-wallet/cosmos": "0.12.
|
|
21
|
-
"@keplr-wallet/stores": "0.12.
|
|
22
|
-
"@keplr-wallet/stores-eth": "0.12.
|
|
23
|
-
"@keplr-wallet/types": "0.12.
|
|
23
|
+
"@keplr-wallet/common": "0.12.304",
|
|
24
|
+
"@keplr-wallet/cosmos": "0.12.304",
|
|
25
|
+
"@keplr-wallet/stores": "0.12.304",
|
|
26
|
+
"@keplr-wallet/stores-eth": "0.12.304",
|
|
27
|
+
"@keplr-wallet/types": "0.12.304",
|
|
24
28
|
"lodash.debounce": "^4.0.8"
|
|
25
29
|
},
|
|
26
30
|
"peerDependencies": {
|
|
@@ -30,5 +34,5 @@
|
|
|
30
34
|
"devDependencies": {
|
|
31
35
|
"@types/lodash.debounce": "^4"
|
|
32
36
|
},
|
|
33
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "e90a48f7df58d889096b5c8d7bd9fe0db266b568"
|
|
34
38
|
}
|
package/src/channel.ts
CHANGED
|
@@ -41,7 +41,7 @@ export class IBCChannelStore {
|
|
|
41
41
|
if (!migrate) {
|
|
42
42
|
const migrationData = new Map<string, Map<string, Channel>>();
|
|
43
43
|
|
|
44
|
-
for (const chainInfo of this.chainStore.
|
|
44
|
+
for (const chainInfo of this.chainStore.chainInfos) {
|
|
45
45
|
const chainIdentifier = ChainIdHelper.parse(chainInfo.chainId);
|
|
46
46
|
const legacyKey = `${chainIdentifier.identifier}-channels`;
|
|
47
47
|
const legacyObj = await this.legacyKVStore.get<
|
|
@@ -116,12 +116,7 @@ export class IBCChannelStore {
|
|
|
116
116
|
const savedChainIdentifiers = new Set<string>(Object.keys(saved ?? {}));
|
|
117
117
|
const removingChainIdentifiers: string[] = [];
|
|
118
118
|
for (const savedChainIdentifier of savedChainIdentifiers) {
|
|
119
|
-
if (
|
|
120
|
-
!this.chainStore.hasModularChain(savedChainIdentifier) ||
|
|
121
|
-
!this.chainStore
|
|
122
|
-
.getModularChainInfoImpl(savedChainIdentifier)
|
|
123
|
-
.matchModule("cosmos")
|
|
124
|
-
) {
|
|
119
|
+
if (!this.chainStore.hasChain(savedChainIdentifier)) {
|
|
125
120
|
removingChainIdentifiers.push(savedChainIdentifier);
|
|
126
121
|
}
|
|
127
122
|
}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { makeObservable, observable, runInAction } from "mobx";
|
|
2
|
+
import { AppCurrency, ChainInfo, ERC20Currency } from "@keplr-wallet/types";
|
|
2
3
|
import {
|
|
3
|
-
|
|
4
|
-
ERC20Currency,
|
|
5
|
-
ModularChainInfo,
|
|
6
|
-
} from "@keplr-wallet/types";
|
|
7
|
-
import {
|
|
4
|
+
IChainInfoImpl,
|
|
8
5
|
ChainStore,
|
|
9
6
|
CosmosQueries,
|
|
10
7
|
CosmwasmQueries,
|
|
@@ -71,8 +68,8 @@ export class IBCCurrencyRegistrar {
|
|
|
71
68
|
clientChainId?: string;
|
|
72
69
|
}[];
|
|
73
70
|
},
|
|
74
|
-
_:
|
|
75
|
-
counterpartyChainInfo:
|
|
71
|
+
_: ChainInfo | undefined,
|
|
72
|
+
counterpartyChainInfo: ChainInfo | undefined,
|
|
76
73
|
originCurrency: AppCurrency | undefined
|
|
77
74
|
): string {
|
|
78
75
|
if (originCurrency) {
|
|
@@ -132,8 +129,8 @@ export class IBCCurrencyRegistrar {
|
|
|
132
129
|
clientChainId?: string;
|
|
133
130
|
}[];
|
|
134
131
|
},
|
|
135
|
-
originChainInfo:
|
|
136
|
-
counterpartyChainInfo:
|
|
132
|
+
originChainInfo: IChainInfoImpl | undefined,
|
|
133
|
+
counterpartyChainInfo: IChainInfoImpl | undefined,
|
|
137
134
|
originCurrency: AppCurrency | undefined
|
|
138
135
|
) => string = IBCCurrencyRegistrar.defaultCoinDenomGenerator
|
|
139
136
|
) {
|
|
@@ -188,7 +185,7 @@ export class IBCCurrencyRegistrar {
|
|
|
188
185
|
done: boolean;
|
|
189
186
|
}
|
|
190
187
|
| undefined {
|
|
191
|
-
if (!this.
|
|
188
|
+
if (!this.chainStore.hasChain(chainId)) {
|
|
192
189
|
return;
|
|
193
190
|
}
|
|
194
191
|
|
|
@@ -213,8 +210,8 @@ export class IBCCurrencyRegistrar {
|
|
|
213
210
|
|
|
214
211
|
const hash = denomHelper.denom.replace("ibc/", "");
|
|
215
212
|
|
|
216
|
-
let counterpartyChainInfo:
|
|
217
|
-
let originChainInfo:
|
|
213
|
+
let counterpartyChainInfo: IChainInfoImpl | undefined;
|
|
214
|
+
let originChainInfo: IChainInfoImpl | undefined;
|
|
218
215
|
let denomTrace:
|
|
219
216
|
| {
|
|
220
217
|
denom: string;
|
|
@@ -238,24 +235,22 @@ export class IBCCurrencyRegistrar {
|
|
|
238
235
|
if (!path.clientChainId) {
|
|
239
236
|
return true;
|
|
240
237
|
}
|
|
241
|
-
return !this.
|
|
238
|
+
return !this.chainStore.hasChain(path.clientChainId);
|
|
242
239
|
})
|
|
243
240
|
) {
|
|
244
241
|
fromCache = true;
|
|
245
242
|
denomTrace = cached.denomTrace;
|
|
246
243
|
if (
|
|
247
244
|
cached.originChainId &&
|
|
248
|
-
this.
|
|
245
|
+
this.chainStore.hasChain(cached.originChainId)
|
|
249
246
|
) {
|
|
250
|
-
originChainInfo = this.chainStore.
|
|
251
|
-
cached.originChainId
|
|
252
|
-
);
|
|
247
|
+
originChainInfo = this.chainStore.getChain(cached.originChainId);
|
|
253
248
|
}
|
|
254
249
|
if (
|
|
255
250
|
cached.counterpartyChainId &&
|
|
256
|
-
this.
|
|
251
|
+
this.chainStore.hasChain(cached.counterpartyChainId)
|
|
257
252
|
) {
|
|
258
|
-
counterpartyChainInfo = this.chainStore.
|
|
253
|
+
counterpartyChainInfo = this.chainStore.getChain(
|
|
259
254
|
cached.counterpartyChainId
|
|
260
255
|
);
|
|
261
256
|
}
|
|
@@ -281,10 +276,10 @@ export class IBCCurrencyRegistrar {
|
|
|
281
276
|
// 현재는 알게된 경우에는 cache를 사용하지않고 지운다.
|
|
282
277
|
if (
|
|
283
278
|
(cached.originChainId &&
|
|
284
|
-
this.
|
|
279
|
+
this.chainStore.hasChain(cached.originChainId) &&
|
|
285
280
|
cached.originChainUnknown) ||
|
|
286
281
|
(cached.counterpartyChainId &&
|
|
287
|
-
this.
|
|
282
|
+
this.chainStore.hasChain(cached.counterpartyChainId) &&
|
|
288
283
|
cached.counterpartyChainUnknown)
|
|
289
284
|
) {
|
|
290
285
|
cached = undefined;
|
|
@@ -332,9 +327,7 @@ export class IBCCurrencyRegistrar {
|
|
|
332
327
|
// 현재 ethereum ibc의 경우 ethereum까지 타고 들어가서 nested하게 처리할 방법은 없다.
|
|
333
328
|
// 마지막 path일 경우만 처리한다.
|
|
334
329
|
isLast &&
|
|
335
|
-
this.chainStore
|
|
336
|
-
.getModularChainInfoImpl(chainIdBefore)
|
|
337
|
-
.hasFeature("ibc-v2") &&
|
|
330
|
+
this.chainStore.getChain(chainIdBefore).hasFeature("ibc-v2") &&
|
|
338
331
|
denomTrace.denom.startsWith("0x")
|
|
339
332
|
) {
|
|
340
333
|
const clientState = this.queriesStore
|
|
@@ -352,7 +345,7 @@ export class IBCCurrencyRegistrar {
|
|
|
352
345
|
if (!rawCounterpartyChainId) {
|
|
353
346
|
rawCounterpartyChainId = ethereumChainId;
|
|
354
347
|
}
|
|
355
|
-
if (this.
|
|
348
|
+
if (this.chainStore.hasChain(ethereumChainId)) {
|
|
356
349
|
// TODO: counterparty channel id를 구해야할듯한데
|
|
357
350
|
// https://github.com/cosmos/ibc-go/blob/a8b4af9c757f5235a965718597f73f039c4a5708/proto/ibc/core/client/v2/query.proto#L15
|
|
358
351
|
// 이것으로 추정되지만 현재 cosmos testnet에서 해당 쿼리가 501 not implemented로 반환되기 때문에 일단 패스...
|
|
@@ -360,11 +353,10 @@ export class IBCCurrencyRegistrar {
|
|
|
360
353
|
path.clientChainId = ethereumChainId;
|
|
361
354
|
|
|
362
355
|
chainIdBefore = ethereumChainId;
|
|
363
|
-
originChainInfo =
|
|
364
|
-
this.chainStore.getModularChain(ethereumChainId);
|
|
356
|
+
originChainInfo = this.chainStore.getChain(ethereumChainId);
|
|
365
357
|
if (!counterpartyChainInfo) {
|
|
366
358
|
counterpartyChainInfo =
|
|
367
|
-
this.chainStore.
|
|
359
|
+
this.chainStore.getChain(ethereumChainId);
|
|
368
360
|
}
|
|
369
361
|
} else {
|
|
370
362
|
originChainInfo = undefined;
|
|
@@ -406,16 +398,16 @@ export class IBCCurrencyRegistrar {
|
|
|
406
398
|
}
|
|
407
399
|
if (
|
|
408
400
|
clientState.clientChainId &&
|
|
409
|
-
this.
|
|
401
|
+
this.chainStore.hasChain(clientState.clientChainId)
|
|
410
402
|
) {
|
|
411
403
|
path.clientChainId = clientState.clientChainId;
|
|
412
404
|
|
|
413
405
|
chainIdBefore = clientState.clientChainId;
|
|
414
|
-
originChainInfo = this.chainStore.
|
|
406
|
+
originChainInfo = this.chainStore.getChain(
|
|
415
407
|
clientState.clientChainId
|
|
416
408
|
);
|
|
417
409
|
if (!counterpartyChainInfo) {
|
|
418
|
-
counterpartyChainInfo = this.chainStore.
|
|
410
|
+
counterpartyChainInfo = this.chainStore.getChain(
|
|
419
411
|
clientState.clientChainId
|
|
420
412
|
);
|
|
421
413
|
}
|
|
@@ -448,18 +440,16 @@ export class IBCCurrencyRegistrar {
|
|
|
448
440
|
if (
|
|
449
441
|
!originChainInfo &&
|
|
450
442
|
cached.originChainId &&
|
|
451
|
-
this.
|
|
443
|
+
this.chainStore.hasChain(cached.originChainId)
|
|
452
444
|
) {
|
|
453
|
-
originChainInfo = this.chainStore.
|
|
454
|
-
cached.originChainId
|
|
455
|
-
);
|
|
445
|
+
originChainInfo = this.chainStore.getChain(cached.originChainId);
|
|
456
446
|
}
|
|
457
447
|
if (
|
|
458
448
|
!counterpartyChainInfo &&
|
|
459
449
|
cached.counterpartyChainId &&
|
|
460
|
-
this.
|
|
450
|
+
this.chainStore.hasChain(cached.counterpartyChainId)
|
|
461
451
|
) {
|
|
462
|
-
counterpartyChainInfo = this.chainStore.
|
|
452
|
+
counterpartyChainInfo = this.chainStore.getChain(
|
|
463
453
|
cached.counterpartyChainId
|
|
464
454
|
);
|
|
465
455
|
}
|
|
@@ -468,12 +458,9 @@ export class IBCCurrencyRegistrar {
|
|
|
468
458
|
|
|
469
459
|
if (originChainInfo && denomTrace) {
|
|
470
460
|
// 이 경우 ethereum 계열이기 때문에 다르게 처리해야한다.
|
|
471
|
-
if (
|
|
472
|
-
this.chainStore.isEvmOnlyChain(originChainInfo.chainId) &&
|
|
473
|
-
"evm" in originChainInfo
|
|
474
|
-
) {
|
|
461
|
+
if (this.chainStore.isEvmOnlyChain(originChainInfo.chainId)) {
|
|
475
462
|
// 유저가 Add Token을 통해서 추가했을 경우
|
|
476
|
-
const currency = originChainInfo.
|
|
463
|
+
const currency = originChainInfo.currencies.find((cur) => {
|
|
477
464
|
return cur.coinMinimalDenom === `erc20:${denomTrace!.denom}`;
|
|
478
465
|
});
|
|
479
466
|
if (currency) {
|
|
@@ -572,27 +559,20 @@ export class IBCCurrencyRegistrar {
|
|
|
572
559
|
denomTrace.denom.split(/^(erc20)\/(\w+)$/).length === 4;
|
|
573
560
|
switch (true) {
|
|
574
561
|
case isCW20Currency:
|
|
575
|
-
const
|
|
576
|
-
|
|
577
|
-
originChainInfo.chainId
|
|
578
|
-
);
|
|
579
|
-
const isSecret20Currency = this.chainStore
|
|
580
|
-
.getModularChainInfoImpl(originChainInfo.chainId)
|
|
581
|
-
.hasFeature("secretwasm");
|
|
562
|
+
const isSecret20Currency =
|
|
563
|
+
originChainInfo.features?.includes("secretwasm");
|
|
582
564
|
|
|
583
565
|
if (!isSecret20Currency) {
|
|
584
566
|
let isFetching = false;
|
|
585
567
|
// If the origin currency is ics20-cw20.
|
|
586
|
-
let cw20Currency =
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
(
|
|
590
|
-
|
|
591
|
-
cur.coinMinimalDenom.startsWith(denomTrace.denom)
|
|
592
|
-
);
|
|
568
|
+
let cw20Currency = originChainInfo.currencies.find(
|
|
569
|
+
(cur) =>
|
|
570
|
+
denomTrace &&
|
|
571
|
+
cur.coinMinimalDenom.startsWith(denomTrace.denom)
|
|
572
|
+
);
|
|
593
573
|
if (
|
|
594
574
|
!cw20Currency &&
|
|
595
|
-
this.
|
|
575
|
+
this.chainStore.hasChain(originChainInfo.chainId)
|
|
596
576
|
) {
|
|
597
577
|
const originQueries = this.queriesStore.get(
|
|
598
578
|
originChainInfo.chainId
|
|
@@ -642,16 +622,14 @@ export class IBCCurrencyRegistrar {
|
|
|
642
622
|
} else {
|
|
643
623
|
let isSecret20Fetching = false;
|
|
644
624
|
// If the origin currency is ics20-cw20.
|
|
645
|
-
let secret20Currency =
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
(
|
|
649
|
-
|
|
650
|
-
cur.coinMinimalDenom.startsWith(denomTrace.denom)
|
|
651
|
-
);
|
|
625
|
+
let secret20Currency = originChainInfo.currencies.find(
|
|
626
|
+
(cur) =>
|
|
627
|
+
denomTrace &&
|
|
628
|
+
cur.coinMinimalDenom.startsWith(denomTrace.denom)
|
|
629
|
+
);
|
|
652
630
|
if (
|
|
653
631
|
!secret20Currency &&
|
|
654
|
-
this.
|
|
632
|
+
this.chainStore.hasChain(originChainInfo.chainId)
|
|
655
633
|
) {
|
|
656
634
|
const originQueries = this.queriesStore.get(
|
|
657
635
|
originChainInfo.chainId
|
|
@@ -704,18 +682,14 @@ export class IBCCurrencyRegistrar {
|
|
|
704
682
|
case isERC20Currency:
|
|
705
683
|
let isERC20Fetching = false;
|
|
706
684
|
// If the origin currency is ics20-erc20.
|
|
707
|
-
let erc20Currency =
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
denomTrace &&
|
|
713
|
-
cur.coinMinimalDenom.startsWith(denomTrace.denom)
|
|
714
|
-
);
|
|
715
|
-
});
|
|
685
|
+
let erc20Currency = originChainInfo.currencies.find(
|
|
686
|
+
(cur) =>
|
|
687
|
+
denomTrace &&
|
|
688
|
+
cur.coinMinimalDenom.startsWith(denomTrace.denom)
|
|
689
|
+
);
|
|
716
690
|
if (
|
|
717
691
|
!erc20Currency &&
|
|
718
|
-
this.
|
|
692
|
+
this.chainStore.hasChain(originChainInfo.chainId)
|
|
719
693
|
) {
|
|
720
694
|
const originQueries = this.queriesStore.get(
|
|
721
695
|
originChainInfo.chainId
|
|
@@ -764,13 +738,11 @@ export class IBCCurrencyRegistrar {
|
|
|
764
738
|
}
|
|
765
739
|
break;
|
|
766
740
|
default:
|
|
767
|
-
const currency =
|
|
768
|
-
.getModularChainInfoImpl(originChainInfo.chainId)
|
|
769
|
-
.findCurrency(denomTrace.denom);
|
|
741
|
+
const currency = originChainInfo.findCurrency(denomTrace.denom);
|
|
770
742
|
if (
|
|
771
|
-
|
|
772
|
-
.
|
|
773
|
-
|
|
743
|
+
originChainInfo.isCurrencyRegistrationInProgress(
|
|
744
|
+
denomTrace.denom
|
|
745
|
+
)
|
|
774
746
|
) {
|
|
775
747
|
isGlobalFetching = true;
|
|
776
748
|
}
|
|
@@ -822,15 +794,6 @@ export class IBCCurrencyRegistrar {
|
|
|
822
794
|
}
|
|
823
795
|
}
|
|
824
796
|
|
|
825
|
-
protected isIBCAvailableChain(chainId: string): boolean {
|
|
826
|
-
return (
|
|
827
|
-
this.chainStore.hasModularChain(chainId) &&
|
|
828
|
-
this.chainStore
|
|
829
|
-
.getModularChainInfoImpl(chainId)
|
|
830
|
-
.matchModules({ or: ["cosmos", "evm"] })
|
|
831
|
-
);
|
|
832
|
-
}
|
|
833
|
-
|
|
834
797
|
protected getERC20TokenInfo(
|
|
835
798
|
chainId: string,
|
|
836
799
|
contractAddress: string
|