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