@subwallet/extension-base 1.1.54-0 → 1.1.56-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/background/KoniTypes.d.ts +30 -2
- package/background/KoniTypes.js +6 -0
- package/background/errors/SwapError.d.ts +6 -0
- package/background/errors/SwapError.js +57 -0
- package/background/errors/TransactionError.js +9 -0
- package/background/types.d.ts +2 -0
- package/cjs/background/KoniTypes.js +8 -1
- package/cjs/background/errors/SwapError.js +64 -0
- package/cjs/background/errors/TransactionError.js +9 -0
- package/cjs/koni/api/nft/{statemint_nft → assethub_nft}/index.js +5 -3
- package/cjs/koni/api/nft/{statemine_nft → assethub_unique}/index.js +5 -3
- package/cjs/koni/api/nft/index.js +13 -13
- package/cjs/koni/api/nft/nft.js +1 -1
- package/cjs/koni/api/nft/transfer.js +11 -15
- package/cjs/koni/api/staking/bonding/utils.js +35 -6
- package/cjs/koni/background/handlers/Extension.js +214 -102
- package/cjs/koni/background/handlers/State.js +5 -2
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/balance-service/index.js +6 -3
- package/cjs/services/chain-service/constants.js +18 -4
- package/cjs/services/chain-service/index.js +39 -18
- package/cjs/services/chain-service/utils/index.js +15 -4
- package/cjs/services/chain-service/utils/patch.js +1 -1
- package/cjs/services/earning-service/constants/chains.js +4 -2
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +7 -9
- package/cjs/services/earning-service/handlers/native-staking/astar.js +4 -3
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +11 -8
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +22 -3
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +19 -5
- package/cjs/services/earning-service/service.js +0 -1
- package/cjs/services/migration-service/scripts/MigrateTransactionHistoryBySymbol.js +4 -17
- package/cjs/services/migration-service/scripts/databases/MigrateAssetSetting.js +4 -17
- package/cjs/services/migration-service/scripts/index.js +3 -3
- package/cjs/services/swap-service/handler/base-handler.js +189 -0
- package/cjs/services/swap-service/handler/chainflip-handler.js +407 -0
- package/cjs/services/swap-service/handler/hydradx-handler.js +531 -0
- package/cjs/services/swap-service/index.js +250 -0
- package/cjs/services/swap-service/utils.js +126 -0
- package/cjs/services/transaction-service/index.js +20 -0
- package/cjs/services/transaction-service/utils.js +6 -0
- package/cjs/types/fee/evm.js +1 -0
- package/cjs/types/fee/fee.js +70 -0
- package/cjs/types/fee/index.js +27 -1
- package/cjs/types/service-base.js +1 -0
- package/cjs/types/swap/index.js +50 -0
- package/cjs/utils/index.js +12 -0
- package/cjs/utils/swap.js +78 -0
- package/koni/api/nft/{statemint_nft → assethub_nft}/index.d.ts +1 -1
- package/koni/api/nft/{statemint_nft → assethub_nft}/index.js +4 -2
- package/koni/api/nft/{statemine_nft → assethub_unique}/index.d.ts +1 -1
- package/koni/api/nft/{statemine_nft → assethub_unique}/index.js +4 -2
- package/koni/api/nft/index.js +13 -13
- package/koni/api/nft/nft.js +1 -1
- package/koni/api/nft/transfer.d.ts +1 -2
- package/koni/api/nft/transfer.js +10 -13
- package/koni/api/staking/bonding/utils.d.ts +3 -1
- package/koni/api/staking/bonding/utils.js +32 -6
- package/koni/background/handlers/Extension.d.ts +6 -0
- package/koni/background/handlers/Extension.js +111 -0
- package/koni/background/handlers/State.d.ts +2 -0
- package/koni/background/handlers/State.js +5 -2
- package/package.json +85 -28
- package/packageInfo.js +1 -1
- package/services/balance-service/index.js +6 -3
- package/services/base/types.d.ts +4 -0
- package/services/chain-service/constants.js +18 -4
- package/services/chain-service/index.d.ts +4 -0
- package/services/chain-service/index.js +21 -1
- package/services/chain-service/utils/index.d.ts +7 -5
- package/services/chain-service/utils/index.js +9 -2
- package/services/chain-service/utils/patch.js +1 -1
- package/services/earning-service/constants/chains.d.ts +1 -0
- package/services/earning-service/constants/chains.js +1 -0
- package/services/earning-service/handlers/native-staking/amplitude.js +7 -9
- package/services/earning-service/handlers/native-staking/astar.js +4 -3
- package/services/earning-service/handlers/native-staking/para-chain.js +12 -9
- package/services/earning-service/handlers/native-staking/relay-chain.js +24 -5
- package/services/earning-service/handlers/nomination-pool/index.js +19 -5
- package/services/earning-service/service.js +0 -1
- package/services/event-service/types.d.ts +1 -0
- package/services/migration-service/scripts/MigrateTransactionHistoryBySymbol.js +4 -17
- package/services/migration-service/scripts/databases/MigrateAssetSetting.js +4 -17
- package/services/migration-service/scripts/index.js +3 -3
- package/services/swap-service/handler/base-handler.d.ts +38 -0
- package/services/swap-service/handler/base-handler.js +180 -0
- package/services/swap-service/handler/chainflip-handler.d.ts +30 -0
- package/services/swap-service/handler/chainflip-handler.js +399 -0
- package/services/swap-service/handler/hydradx-handler.d.ts +36 -0
- package/services/swap-service/handler/hydradx-handler.js +522 -0
- package/services/swap-service/index.d.ts +32 -0
- package/services/swap-service/index.js +241 -0
- package/services/swap-service/utils.d.ts +18 -0
- package/services/swap-service/utils.js +105 -0
- package/services/transaction-service/index.js +20 -0
- package/services/transaction-service/utils.d.ts +2 -0
- package/services/transaction-service/utils.js +6 -2
- package/types/fee/evm.d.ts +49 -0
- package/types/fee/evm.js +1 -0
- package/types/fee/fee.d.ts +32 -0
- package/types/fee/fee.js +63 -0
- package/types/fee/index.d.ts +2 -49
- package/types/fee/index.js +5 -1
- package/types/service-base.d.ts +10 -0
- package/types/service-base.js +1 -0
- package/types/swap/index.d.ts +168 -0
- package/types/swap/index.js +41 -0
- package/types/yield/info/chain/target.d.ts +2 -0
- package/types/yield/info/pallet.d.ts +8 -0
- package/utils/index.d.ts +1 -0
- package/utils/index.js +2 -1
- package/utils/swap.d.ts +3 -0
- package/utils/swap.js +70 -0
|
@@ -32,6 +32,7 @@ var _SettingService = _interopRequireDefault(require("@subwallet/extension-base/
|
|
|
32
32
|
var _DatabaseService = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/DatabaseService"));
|
|
33
33
|
var _subscanService = require("@subwallet/extension-base/services/subscan-service");
|
|
34
34
|
var _subscanChainMap = require("@subwallet/extension-base/services/subscan-service/subscan-chain-map");
|
|
35
|
+
var _swapService = require("@subwallet/extension-base/services/swap-service");
|
|
35
36
|
var _transactionService = _interopRequireDefault(require("@subwallet/extension-base/services/transaction-service"));
|
|
36
37
|
var _walletConnectService = _interopRequireDefault(require("@subwallet/extension-base/services/wallet-connect-service"));
|
|
37
38
|
var _AccountRef = _interopRequireDefault(require("@subwallet/extension-base/stores/AccountRef"));
|
|
@@ -111,6 +112,7 @@ class KoniState {
|
|
|
111
112
|
this.transactionService = new _transactionService.default(this);
|
|
112
113
|
this.earningService = new _service.default(this);
|
|
113
114
|
this.feeService = new _service2.default(this);
|
|
115
|
+
this.swapService = new _swapService.SwapService(this);
|
|
114
116
|
this.subscription = new _subscription.KoniSubscription(this, this.dbService);
|
|
115
117
|
this.cron = new _cron.KoniCron(this, this.subscription, this.dbService);
|
|
116
118
|
this.logger = (0, _util.logger)('State');
|
|
@@ -234,6 +236,7 @@ class KoniState {
|
|
|
234
236
|
this.eventService.emit('chain.ready', true);
|
|
235
237
|
await this.balanceService.init();
|
|
236
238
|
await this.earningService.init();
|
|
239
|
+
await this.swapService.init();
|
|
237
240
|
this.onReady();
|
|
238
241
|
this.onAccountAdd();
|
|
239
242
|
this.onAccountRemove();
|
|
@@ -1419,7 +1422,7 @@ class KoniState {
|
|
|
1419
1422
|
// Stopping services
|
|
1420
1423
|
await Promise.all([this.cron.stop(), this.subscription.stop()]);
|
|
1421
1424
|
await this.pauseAllNetworks(undefined, 'IDLE mode');
|
|
1422
|
-
await Promise.all([this.historyService.stop(), this.priceService.stop(), this.balanceService.stop(), this.earningService.stop()]);
|
|
1425
|
+
await Promise.all([this.historyService.stop(), this.priceService.stop(), this.balanceService.stop(), this.earningService.stop(), this.swapService.stop()]);
|
|
1423
1426
|
|
|
1424
1427
|
// Complete sleeping
|
|
1425
1428
|
sleeping.resolve();
|
|
@@ -1452,7 +1455,7 @@ class KoniState {
|
|
|
1452
1455
|
}
|
|
1453
1456
|
|
|
1454
1457
|
// Start services
|
|
1455
|
-
await Promise.all([this.cron.start(), this.subscription.start(), this.historyService.start(), this.priceService.start(), this.balanceService.start(), this.earningService.start()]);
|
|
1458
|
+
await Promise.all([this.cron.start(), this.subscription.start(), this.historyService.start(), this.priceService.start(), this.balanceService.start(), this.earningService.start(), this.swapService.start()]);
|
|
1456
1459
|
|
|
1457
1460
|
// Complete starting
|
|
1458
1461
|
starting.resolve();
|
package/cjs/packageInfo.js
CHANGED
|
@@ -191,7 +191,8 @@ class BalanceService {
|
|
|
191
191
|
const chainInfoMap = this.state.chainService.getChainInfoMap();
|
|
192
192
|
const evmApiMap = this.state.chainService.getEvmApiMap();
|
|
193
193
|
const substrateApiMap = this.state.chainService.getSubstrateApiMap();
|
|
194
|
-
|
|
194
|
+
let unsub = _util.noop;
|
|
195
|
+
unsub = (0, _helpers.subscribeBalance)([address], [chain], [tSlug], assetMap, chainInfoMap, substrateApiMap, evmApiMap, result => {
|
|
195
196
|
const rs = result[0];
|
|
196
197
|
if (rs.tokenSlug === tSlug) {
|
|
197
198
|
hasError = false;
|
|
@@ -203,15 +204,17 @@ class BalanceService {
|
|
|
203
204
|
if (callback) {
|
|
204
205
|
callback(balance);
|
|
205
206
|
} else {
|
|
207
|
+
var _unsub;
|
|
206
208
|
// Auto unsubscribe if no callback
|
|
207
|
-
unsub();
|
|
209
|
+
(_unsub = unsub) === null || _unsub === void 0 ? void 0 : _unsub();
|
|
208
210
|
}
|
|
209
211
|
resolve([unsub, balance]);
|
|
210
212
|
}
|
|
211
213
|
});
|
|
212
214
|
setTimeout(() => {
|
|
213
215
|
if (hasError) {
|
|
214
|
-
|
|
216
|
+
var _unsub2;
|
|
217
|
+
(_unsub2 = unsub) === null || _unsub2 === void 0 ? void 0 : _unsub2();
|
|
215
218
|
reject(new Error((0, _i18next.t)('Failed to get balance. Please check your internet connection or change your network endpoint')));
|
|
216
219
|
}
|
|
217
220
|
}, 9999);
|
|
@@ -39,7 +39,7 @@ const _BALANCE_CHAIN_GROUP = {
|
|
|
39
39
|
kintsugi: ['kintsugi', 'interlay', 'kintsugi_test', 'mangatax_para'],
|
|
40
40
|
genshiro: ['genshiro_testnet', 'genshiro'],
|
|
41
41
|
equilibrium_parachain: ['equilibrium_parachain'],
|
|
42
|
-
bifrost: ['bifrost', 'acala', 'karura', 'acala_testnet', 'pioneer', 'bitcountry', 'bifrost_dot', 'hydradx_main', 'pendulum', 'amplitude', 'continuum_network'],
|
|
42
|
+
bifrost: ['bifrost', 'acala', 'karura', 'acala_testnet', 'pioneer', 'bitcountry', 'bifrost_dot', 'hydradx_main', 'hydradx_rococo', 'pendulum', 'amplitude', 'continuum_network'],
|
|
43
43
|
statemine: ['statemine', 'astar', 'shiden', 'statemint', 'moonbeam', 'moonbase', 'moonriver', 'crabParachain', 'darwinia2', 'parallel', 'calamari', 'manta_network', 'rococo_assethub', 'liberlandTest', 'liberland', 'dentnet', 'pangolin', 'crust', 'phala', 'shibuya'],
|
|
44
44
|
kusama: ['kusama', 'kintsugi', 'kintsugi_test', 'interlay', 'acala', 'statemint', 'karura', 'bifrost'],
|
|
45
45
|
// perhaps there are some runtime updates
|
|
@@ -84,7 +84,8 @@ const _STAKING_ERA_LENGTH_MAP = {
|
|
|
84
84
|
shiden: 24,
|
|
85
85
|
shibuya: 24,
|
|
86
86
|
bifrost_testnet: 0.5,
|
|
87
|
-
bifrost:
|
|
87
|
+
bifrost: 13 * 600 / 3600,
|
|
88
|
+
// real blocktime of bifros ksm = 13s
|
|
88
89
|
bifrost_dot: 24,
|
|
89
90
|
ternoa: 24,
|
|
90
91
|
calamari: 6,
|
|
@@ -101,7 +102,8 @@ const _STAKING_ERA_LENGTH_MAP = {
|
|
|
101
102
|
goldberg_testnet: 24,
|
|
102
103
|
manta_network: 6,
|
|
103
104
|
krest_network: 4,
|
|
104
|
-
polimec: 6
|
|
105
|
+
polimec: 6,
|
|
106
|
+
enjin_relaychain: 24
|
|
105
107
|
};
|
|
106
108
|
exports._STAKING_ERA_LENGTH_MAP = _STAKING_ERA_LENGTH_MAP;
|
|
107
109
|
const _EXPECTED_BLOCK_TIME = {
|
|
@@ -119,7 +121,19 @@ const _EXPECTED_BLOCK_TIME = {
|
|
|
119
121
|
creditcoin: 12,
|
|
120
122
|
vara_network: 3,
|
|
121
123
|
goldberg_testnet: 20,
|
|
122
|
-
polimec: 12
|
|
124
|
+
polimec: 12,
|
|
125
|
+
bifrost: 13,
|
|
126
|
+
// expect 12 but actual 13
|
|
127
|
+
moonbeam: 12,
|
|
128
|
+
moonriver: 12,
|
|
129
|
+
moonbase: 6,
|
|
130
|
+
turing: 12,
|
|
131
|
+
turingStaging: 12,
|
|
132
|
+
bifrost_testnet: 3,
|
|
133
|
+
calamari: 12,
|
|
134
|
+
calamari_test: 12,
|
|
135
|
+
manta_network: 12,
|
|
136
|
+
enjin_relaychain: 6
|
|
123
137
|
};
|
|
124
138
|
exports._EXPECTED_BLOCK_TIME = _EXPECTED_BLOCK_TIME;
|
|
125
139
|
const _PARACHAIN_INFLATION_DISTRIBUTION = {
|
|
@@ -42,6 +42,7 @@ class ChainService {
|
|
|
42
42
|
assetRegistrySubject = new _rxjs.Subject();
|
|
43
43
|
multiChainAssetMapSubject = new _rxjs.Subject();
|
|
44
44
|
xcmRefMapSubject = new _rxjs.Subject();
|
|
45
|
+
swapRefMapSubject = new _rxjs.Subject();
|
|
45
46
|
assetLogoMapSubject = new _rxjs.BehaviorSubject(_chainList.AssetLogoMap);
|
|
46
47
|
chainLogoMapSubject = new _rxjs.BehaviorSubject(_chainList.ChainLogoMap);
|
|
47
48
|
assetMapPatch = JSON.stringify({});
|
|
@@ -57,6 +58,7 @@ class ChainService {
|
|
|
57
58
|
this.chainStateMapSubject.next(this.dataMap.chainStateMap);
|
|
58
59
|
this.assetRegistrySubject.next(this.dataMap.assetRegistry);
|
|
59
60
|
this.xcmRefMapSubject.next(this.xcmRefMap);
|
|
61
|
+
this.swapRefMapSubject.next(this.swapRefMap);
|
|
60
62
|
if (_utils2.MODULE_SUPPORT.MANTA_ZK) {
|
|
61
63
|
console.log('Init Manta ZK');
|
|
62
64
|
this.mantaChainHandler = new _MantaPrivateHandler.MantaPrivateHandler(dbService);
|
|
@@ -65,6 +67,9 @@ class ChainService {
|
|
|
65
67
|
this.evmChainHandler = new _EvmChainHandler.EvmChainHandler(this);
|
|
66
68
|
this.logger = (0, _logger.logger)('chain-service');
|
|
67
69
|
}
|
|
70
|
+
subscribeSwapRefMap() {
|
|
71
|
+
return this.swapRefMapSubject;
|
|
72
|
+
}
|
|
68
73
|
|
|
69
74
|
// Getter
|
|
70
75
|
get xcmRefMap() {
|
|
@@ -77,6 +82,16 @@ class ChainService {
|
|
|
77
82
|
});
|
|
78
83
|
return result;
|
|
79
84
|
}
|
|
85
|
+
get swapRefMap() {
|
|
86
|
+
const result = {};
|
|
87
|
+
Object.entries(this.dataMap.assetRefMap).forEach(_ref2 => {
|
|
88
|
+
let [key, assetRef] = _ref2;
|
|
89
|
+
if (assetRef.path === _types._AssetRefPath.SWAP) {
|
|
90
|
+
result[key] = assetRef;
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
80
95
|
getEvmApi(slug) {
|
|
81
96
|
return this.evmChainHandler.getEvmApiByChain(slug);
|
|
82
97
|
}
|
|
@@ -200,11 +215,11 @@ class ChainService {
|
|
|
200
215
|
return this.getChainStatusMap()[key];
|
|
201
216
|
}
|
|
202
217
|
getActiveChains() {
|
|
203
|
-
return Object.entries(this.dataMap.chainStateMap).filter(
|
|
204
|
-
let [, chainState] =
|
|
218
|
+
return Object.entries(this.dataMap.chainStateMap).filter(_ref3 => {
|
|
219
|
+
let [, chainState] = _ref3;
|
|
205
220
|
return (0, _utils._isChainEnabled)(chainState);
|
|
206
|
-
}).map(
|
|
207
|
-
let [key] =
|
|
221
|
+
}).map(_ref4 => {
|
|
222
|
+
let [key] = _ref4;
|
|
208
223
|
return key;
|
|
209
224
|
});
|
|
210
225
|
}
|
|
@@ -364,8 +379,8 @@ class ChainService {
|
|
|
364
379
|
(0, _utils2.addLazy)('updateChainConnectionStatus', () => {
|
|
365
380
|
const chainStatusMap = this.getChainStatusMap();
|
|
366
381
|
let update = false;
|
|
367
|
-
Object.entries(this.connectionStatusQueueMap).forEach(
|
|
368
|
-
let [slug, status] =
|
|
382
|
+
Object.entries(this.connectionStatusQueueMap).forEach(_ref5 => {
|
|
383
|
+
let [slug, status] = _ref5;
|
|
369
384
|
if (chainStatusMap[slug]) {
|
|
370
385
|
if (chainStatusMap[slug].connectionStatus !== status) {
|
|
371
386
|
chainStatusMap[slug].connectionStatus = status;
|
|
@@ -497,12 +512,13 @@ class ChainService {
|
|
|
497
512
|
});
|
|
498
513
|
this.dataMap.assetRefMap = updatedAssetRefMap;
|
|
499
514
|
this.xcmRefMapSubject.next(this.xcmRefMap);
|
|
515
|
+
this.swapRefMapSubject.next(this.swapRefMap);
|
|
500
516
|
this.logger.log('Finished updating latest asset ref');
|
|
501
517
|
}
|
|
502
518
|
handleLatestPriceId(latestPriceIds) {
|
|
503
519
|
let isUpdated = false;
|
|
504
|
-
Object.entries(latestPriceIds).forEach(
|
|
505
|
-
let [slug, priceId] =
|
|
520
|
+
Object.entries(latestPriceIds).forEach(_ref6 => {
|
|
521
|
+
let [slug, priceId] = _ref6;
|
|
506
522
|
if (this.dataMap.assetRegistry[slug] && this.dataMap.assetRegistry[slug].priceId !== priceId) {
|
|
507
523
|
isUpdated = true;
|
|
508
524
|
this.dataMap.assetRegistry[slug].priceId = priceId;
|
|
@@ -581,8 +597,8 @@ class ChainService {
|
|
|
581
597
|
}
|
|
582
598
|
}
|
|
583
599
|
handleLatestData() {
|
|
584
|
-
this.fetchLatestAssetData().then(
|
|
585
|
-
let [latestAssetInfo, latestAssetLogoMap] =
|
|
600
|
+
this.fetchLatestAssetData().then(_ref7 => {
|
|
601
|
+
let [latestAssetInfo, latestAssetLogoMap] = _ref7;
|
|
586
602
|
this.eventService.waitAssetReady.then(() => {
|
|
587
603
|
this.handleLatestAssetData(latestAssetInfo, latestAssetLogoMap);
|
|
588
604
|
}).catch(console.error);
|
|
@@ -590,8 +606,8 @@ class ChainService {
|
|
|
590
606
|
this.fetchLatestChainData().then(latestChainInfo => {
|
|
591
607
|
this.handleLatestChainData(latestChainInfo);
|
|
592
608
|
}).catch(console.error);
|
|
593
|
-
this.fetchLatestAssetRef().then(
|
|
594
|
-
let [latestAssetRef, latestAssetRefMap] =
|
|
609
|
+
this.fetchLatestAssetRef().then(_ref8 => {
|
|
610
|
+
let [latestAssetRef, latestAssetRefMap] = _ref8;
|
|
595
611
|
this.handleLatestAssetRef(latestAssetRef, latestAssetRefMap);
|
|
596
612
|
}).catch(console.error);
|
|
597
613
|
this.fetchLatestPriceIdsData().then(latestPriceIds => {
|
|
@@ -601,12 +617,12 @@ class ChainService {
|
|
|
601
617
|
async initApis() {
|
|
602
618
|
const chainInfoMap = this.getChainInfoMap();
|
|
603
619
|
const chainStateMap = this.getChainStateMap();
|
|
604
|
-
await Promise.all(Object.entries(chainInfoMap).filter(
|
|
620
|
+
await Promise.all(Object.entries(chainInfoMap).filter(_ref9 => {
|
|
605
621
|
var _chainStateMap$slug;
|
|
606
|
-
let [slug] =
|
|
622
|
+
let [slug] = _ref9;
|
|
607
623
|
return (_chainStateMap$slug = chainStateMap[slug]) === null || _chainStateMap$slug === void 0 ? void 0 : _chainStateMap$slug.active;
|
|
608
|
-
}).map(
|
|
609
|
-
let [, chainInfo] =
|
|
624
|
+
}).map(_ref10 => {
|
|
625
|
+
let [, chainInfo] = _ref10;
|
|
610
626
|
try {
|
|
611
627
|
return this.initApiForChain(chainInfo);
|
|
612
628
|
} catch (e) {
|
|
@@ -949,8 +965,8 @@ class ChainService {
|
|
|
949
965
|
}
|
|
950
966
|
|
|
951
967
|
// Fill in the missing chainState and storageData (new chains never before seen)
|
|
952
|
-
Object.entries(mergedChainInfoMap).forEach(
|
|
953
|
-
let [slug, chainInfo] =
|
|
968
|
+
Object.entries(mergedChainInfoMap).forEach(_ref11 => {
|
|
969
|
+
let [slug, chainInfo] = _ref11;
|
|
954
970
|
if (!(slug in this.dataMap.chainStateMap)) {
|
|
955
971
|
this.dataMap.chainStateMap[slug] = {
|
|
956
972
|
currentProvider: Object.keys(chainInfo.providers)[0],
|
|
@@ -1633,5 +1649,10 @@ class ChainService {
|
|
|
1633
1649
|
}
|
|
1634
1650
|
return result;
|
|
1635
1651
|
}
|
|
1652
|
+
getFeeTokensByChain(chainSlug) {
|
|
1653
|
+
return Object.values(this.getAssetRegistry()).filter(chainAsset => {
|
|
1654
|
+
return chainAsset.originChain === chainSlug && (chainAsset.assetType === _types._AssetType.NATIVE || (0, _utils._isAssetCanPayTxFee)(chainAsset));
|
|
1655
|
+
}).map(chainAsset => chainAsset.slug);
|
|
1656
|
+
}
|
|
1636
1657
|
}
|
|
1637
1658
|
exports.ChainService = ChainService;
|
|
@@ -55,6 +55,7 @@ var _exportNames = {
|
|
|
55
55
|
_isAssetValuable: true,
|
|
56
56
|
_getMultiChainAsset: true,
|
|
57
57
|
_getAssetPriceId: true,
|
|
58
|
+
_getAssetName: true,
|
|
58
59
|
_getMultiChainAssetPriceId: true,
|
|
59
60
|
_getAssetSymbol: true,
|
|
60
61
|
_getMultiChainAssetSymbol: true,
|
|
@@ -73,11 +74,13 @@ var _exportNames = {
|
|
|
73
74
|
findChainInfoByChainId: true,
|
|
74
75
|
_isMantaZkAsset: true,
|
|
75
76
|
randomizeProvider: true,
|
|
77
|
+
_isAssetCanPayTxFee: true,
|
|
76
78
|
updateLatestChainInfo: true
|
|
77
79
|
};
|
|
78
80
|
exports._checkSmartContractSupportByChain = _checkSmartContractSupportByChain;
|
|
79
81
|
exports._generateCustomProviderKey = _generateCustomProviderKey;
|
|
80
82
|
exports._getAssetDecimals = _getAssetDecimals;
|
|
83
|
+
exports._getAssetName = _getAssetName;
|
|
81
84
|
exports._getAssetOriginChain = _getAssetOriginChain;
|
|
82
85
|
exports._getAssetPriceId = _getAssetPriceId;
|
|
83
86
|
exports._getAssetSymbol = _getAssetSymbol;
|
|
@@ -108,6 +111,7 @@ exports._getXcmAssetMultilocation = _getXcmAssetMultilocation;
|
|
|
108
111
|
exports._getXcmAssetType = _getXcmAssetType;
|
|
109
112
|
exports._getXcmTransferType = _getXcmTransferType;
|
|
110
113
|
exports._isAssetAutoEnable = void 0;
|
|
114
|
+
exports._isAssetCanPayTxFee = _isAssetCanPayTxFee;
|
|
111
115
|
exports._isAssetFungibleToken = _isAssetFungibleToken;
|
|
112
116
|
exports._isAssetSmartContractNft = _isAssetSmartContractNft;
|
|
113
117
|
exports._isAssetValuable = _isAssetValuable;
|
|
@@ -439,6 +443,9 @@ function _getMultiChainAsset(assetInfo) {
|
|
|
439
443
|
function _getAssetPriceId(assetInfo) {
|
|
440
444
|
return (assetInfo === null || assetInfo === void 0 ? void 0 : assetInfo.priceId) || '';
|
|
441
445
|
}
|
|
446
|
+
function _getAssetName(assetInfo) {
|
|
447
|
+
return (assetInfo === null || assetInfo === void 0 ? void 0 : assetInfo.name) || '';
|
|
448
|
+
}
|
|
442
449
|
function _getMultiChainAssetPriceId(multiChainAsset) {
|
|
443
450
|
return (multiChainAsset === null || multiChainAsset === void 0 ? void 0 : multiChainAsset.priceId) || '';
|
|
444
451
|
}
|
|
@@ -449,13 +456,13 @@ function _getMultiChainAssetSymbol(multiChainAsset) {
|
|
|
449
456
|
return multiChainAsset.symbol;
|
|
450
457
|
}
|
|
451
458
|
function _getAssetOriginChain(assetInfo) {
|
|
452
|
-
return assetInfo.originChain;
|
|
459
|
+
return (assetInfo === null || assetInfo === void 0 ? void 0 : assetInfo.originChain) || '';
|
|
453
460
|
}
|
|
454
461
|
function _getChainName(chainInfo) {
|
|
455
462
|
return chainInfo.name;
|
|
456
463
|
}
|
|
457
464
|
function _getAssetDecimals(assetInfo) {
|
|
458
|
-
return assetInfo.decimals || 0;
|
|
465
|
+
return (assetInfo === null || assetInfo === void 0 ? void 0 : assetInfo.decimals) || 0;
|
|
459
466
|
}
|
|
460
467
|
function _getBlockExplorerFromChain(chainInfo) {
|
|
461
468
|
let blockExplorer;
|
|
@@ -557,6 +564,10 @@ function randomizeProvider(providers, excludedKeys) {
|
|
|
557
564
|
providerValue: selectedProviderValue
|
|
558
565
|
};
|
|
559
566
|
}
|
|
567
|
+
function _isAssetCanPayTxFee(chainAsset) {
|
|
568
|
+
var _ref, _chainAsset$metadata;
|
|
569
|
+
return (_ref = (_chainAsset$metadata = chainAsset.metadata) === null || _chainAsset$metadata === void 0 ? void 0 : _chainAsset$metadata.canPayTxFee) !== null && _ref !== void 0 ? _ref : false;
|
|
570
|
+
}
|
|
560
571
|
function updateLatestChainInfo(currentDataMap, latestChainInfoList) {
|
|
561
572
|
const currentChainInfoMap = currentDataMap.chainInfoMap;
|
|
562
573
|
const currentChainStateMap = currentDataMap.chainStateMap;
|
|
@@ -569,8 +580,8 @@ function updateLatestChainInfo(currentDataMap, latestChainInfoList) {
|
|
|
569
580
|
let needUpdate = false;
|
|
570
581
|
if (currentChainInfo && currentChainState) {
|
|
571
582
|
const preservedProvider = {};
|
|
572
|
-
Object.entries(currentChainInfo.providers).forEach(
|
|
573
|
-
let [providerKey, providerValue] =
|
|
583
|
+
Object.entries(currentChainInfo.providers).forEach(_ref2 => {
|
|
584
|
+
let [providerKey, providerValue] = _ref2;
|
|
574
585
|
if (providerValue !== null && providerValue !== void 0 && providerValue.startsWith('light') || providerKey !== null && providerKey !== void 0 && providerKey.startsWith(_types2._CUSTOM_PREFIX)) {
|
|
575
586
|
preservedProvider[providerKey] = providerValue;
|
|
576
587
|
}
|
|
@@ -12,7 +12,7 @@ var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
|
12
12
|
const PRODUCTION_BRANCHES = ['master', 'webapp', 'webapp-dev'];
|
|
13
13
|
const branchName = process.env.BRANCH_NAME || 'subwallet-dev';
|
|
14
14
|
const fetchDomain = PRODUCTION_BRANCHES.indexOf(branchName) > -1 ? 'https://chain-list-assets.subwallet.app' : 'https://dev.sw-chain-list-assets.pages.dev';
|
|
15
|
-
const ChainListVersion = '0.2.
|
|
15
|
+
const ChainListVersion = '0.2.55';
|
|
16
16
|
async function fetchPatchData(slug) {
|
|
17
17
|
try {
|
|
18
18
|
const fetchPromise = (0, _crossFetch.default)(`${fetchDomain}/patch/${ChainListVersion}/${slug}`);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports._STAKING_CHAIN_GROUP = exports.ST_LIQUID_TOKEN_ABI = exports.MANTA_VALIDATOR_POINTS_PER_BLOCK = exports.MANTA_MIN_DELEGATION = void 0;
|
|
6
|
+
exports._STAKING_CHAIN_GROUP = exports.ST_LIQUID_TOKEN_ABI = exports.MaxEraRewardPointsEras = exports.MANTA_VALIDATOR_POINTS_PER_BLOCK = exports.MANTA_MIN_DELEGATION = void 0;
|
|
7
7
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
8
8
|
// SPDX-License-Identifier: Apache-2.0
|
|
9
9
|
|
|
@@ -24,9 +24,11 @@ const _STAKING_CHAIN_GROUP = {
|
|
|
24
24
|
krest_network: ['krest_network'],
|
|
25
25
|
manta: ['manta_network']
|
|
26
26
|
};
|
|
27
|
+
exports._STAKING_CHAIN_GROUP = _STAKING_CHAIN_GROUP;
|
|
28
|
+
const MaxEraRewardPointsEras = 14;
|
|
27
29
|
|
|
28
30
|
// eslint-disable-next-line @typescript-eslint/no-var-requires,@typescript-eslint/no-unsafe-assignment
|
|
29
|
-
exports.
|
|
31
|
+
exports.MaxEraRewardPointsEras = MaxEraRewardPointsEras;
|
|
30
32
|
const ST_LIQUID_TOKEN_ABI = require('./abis/st_liquid_token_abi.json');
|
|
31
33
|
exports.ST_LIQUID_TOKEN_ABI = ST_LIQUID_TOKEN_ABI;
|
|
32
34
|
const MANTA_VALIDATOR_POINTS_PER_BLOCK = 20;
|
|
@@ -137,27 +137,25 @@ class AmplitudeNativeStakingPoolHandler extends _basePara.default {
|
|
|
137
137
|
});
|
|
138
138
|
}
|
|
139
139
|
if (hasUnstakingInfo) {
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
-
const
|
|
140
|
+
const [_currentBlock, _currentTimestamp] = await Promise.all([substrateApi.api.query.system.number(), substrateApi.api.query.timestamp.now()]);
|
|
141
|
+
const currentBlock = _currentBlock.toPrimitive();
|
|
142
|
+
const currentTimestamp = _currentTimestamp.toPrimitive();
|
|
143
143
|
const _blockPerRound = substrateApi.api.consts.parachainStaking.defaultBlocksPerRound.toString();
|
|
144
144
|
const blockPerRound = parseFloat(_blockPerRound);
|
|
145
145
|
for (const [unstakingBlock, unstakingAmount] of Object.entries(unstakingInfo)) {
|
|
146
146
|
const blockDuration = (_constants._STAKING_ERA_LENGTH_MAP[chainInfo.slug] || _constants._STAKING_ERA_LENGTH_MAP.default) / blockPerRound; // in hours
|
|
147
147
|
|
|
148
|
-
const isClaimable = parseInt(unstakingBlock) -
|
|
149
|
-
const remainingBlock = parseInt(unstakingBlock) -
|
|
148
|
+
const isClaimable = parseInt(unstakingBlock) - currentBlock <= 0;
|
|
149
|
+
const remainingBlock = parseInt(unstakingBlock) - currentBlock;
|
|
150
150
|
const waitingTime = remainingBlock * blockDuration;
|
|
151
|
-
|
|
152
|
-
// const targetTimestampMs = currentTimestampMs + waitingTime * 60 * 60 * 1000;
|
|
153
|
-
|
|
151
|
+
const targetTimestampMs = remainingBlock * blockDuration * 3600 * 1000 + currentTimestamp;
|
|
154
152
|
unstakingBalance = unstakingAmount.toString();
|
|
155
153
|
unstakingList.push({
|
|
156
154
|
chain: chainInfo.slug,
|
|
157
155
|
status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
|
|
158
156
|
claimable: unstakingAmount.toString(),
|
|
159
157
|
waitingTime,
|
|
160
|
-
|
|
158
|
+
targetTimestampMs: targetTimestampMs,
|
|
161
159
|
validatorAddress: undefined
|
|
162
160
|
});
|
|
163
161
|
}
|
|
@@ -250,11 +250,12 @@ class AstarNativeStakingPoolHandler extends _basePara.default {
|
|
|
250
250
|
};
|
|
251
251
|
}
|
|
252
252
|
async subscribePoolPosition(useAddresses, resultCallback) {
|
|
253
|
+
var _substrateApi$api$que;
|
|
253
254
|
let cancel = false;
|
|
254
255
|
const substrateApi = await this.substrateApi.isReady;
|
|
255
256
|
const defaultInfo = this.baseInfo;
|
|
256
257
|
const chainInfo = this.chainInfo;
|
|
257
|
-
const unsub = await substrateApi.api.query.dappsStaking.ledger.multi(useAddresses, async ledgers => {
|
|
258
|
+
const unsub = await ((_substrateApi$api$que = substrateApi.api.query.dappsStaking) === null || _substrateApi$api$que === void 0 ? void 0 : _substrateApi$api$que.ledger.multi(useAddresses, async ledgers => {
|
|
258
259
|
if (cancel) {
|
|
259
260
|
unsub();
|
|
260
261
|
return;
|
|
@@ -288,10 +289,10 @@ class AstarNativeStakingPoolHandler extends _basePara.default {
|
|
|
288
289
|
}
|
|
289
290
|
}));
|
|
290
291
|
}
|
|
291
|
-
});
|
|
292
|
+
}));
|
|
292
293
|
return () => {
|
|
293
294
|
cancel = true;
|
|
294
|
-
unsub();
|
|
295
|
+
unsub && unsub();
|
|
295
296
|
};
|
|
296
297
|
}
|
|
297
298
|
|
|
@@ -144,7 +144,9 @@ class ParaNativeStakingPoolHandler extends _basePara.default {
|
|
|
144
144
|
const roundInfo = _roundInfo.toPrimitive();
|
|
145
145
|
const currentRound = roundInfo.current;
|
|
146
146
|
await Promise.all(delegatorState.delegations.map(async delegation => {
|
|
147
|
-
const [_delegationScheduledRequests, [identity], _collatorInfo] = await Promise.all([substrateApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils2.parseIdentity)(substrateApi, delegation.owner), substrateApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
|
|
147
|
+
const [_delegationScheduledRequests, [identity], _collatorInfo, _currentBlock, _currentTimestamp] = await Promise.all([substrateApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils2.parseIdentity)(substrateApi, delegation.owner), substrateApi.api.query.parachainStaking.candidateInfo(delegation.owner), substrateApi.api.query.system.number(), substrateApi.api.query.timestamp.now()]);
|
|
148
|
+
const currentBlock = _currentBlock.toPrimitive();
|
|
149
|
+
const currentTimestamp = _currentTimestamp.toPrimitive();
|
|
148
150
|
const collatorInfo = _collatorInfo.toPrimitive();
|
|
149
151
|
const minDelegation = collatorInfo === null || collatorInfo === void 0 ? void 0 : collatorInfo.lowestTopDelegationAmount.toString();
|
|
150
152
|
const delegationScheduledRequests = _delegationScheduledRequests.toPrimitive();
|
|
@@ -156,22 +158,23 @@ class ParaNativeStakingPoolHandler extends _basePara.default {
|
|
|
156
158
|
for (const scheduledRequest of delegationScheduledRequests) {
|
|
157
159
|
if ((0, _utils3.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils3.reformatAddress)(address, 0)) {
|
|
158
160
|
// add network prefix
|
|
159
|
-
const isClaimable = scheduledRequest.whenExecutable - currentRound <= 0;
|
|
160
|
-
const remainingEra = scheduledRequest.whenExecutable - currentRound;
|
|
161
|
+
const isClaimable = scheduledRequest.whenExecutable - parseInt(currentRound) <= 0;
|
|
162
|
+
const remainingEra = scheduledRequest.whenExecutable - parseInt(currentRound);
|
|
161
163
|
const waitingTime = remainingEra * _constants._STAKING_ERA_LENGTH_MAP[chainInfo.slug];
|
|
162
164
|
const claimable = Object.values(scheduledRequest.action)[0];
|
|
163
|
-
// const currentTimestampMs = Date.now();
|
|
164
|
-
// const targetTimestampMs = currentTimestampMs + waitingTime * 60 * 60 * 1000;
|
|
165
165
|
|
|
166
|
+
// noted: target timestamp in parachainStaking easily volatile if block time volatile
|
|
167
|
+
const targetBlock = remainingEra * parseInt(roundInfo.length) + parseInt(roundInfo.first);
|
|
168
|
+
const remainingBlock = targetBlock - currentBlock;
|
|
169
|
+
const targetTimestampMs = remainingBlock * _constants._EXPECTED_BLOCK_TIME[chainInfo.slug] * 1000 + currentTimestamp;
|
|
166
170
|
unstakingMap[delegation.owner] = {
|
|
167
171
|
chain: chainInfo.slug,
|
|
168
172
|
status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
|
|
169
173
|
validatorAddress: delegation.owner,
|
|
170
174
|
claimable: claimable.toString(),
|
|
171
|
-
waitingTime
|
|
172
|
-
|
|
175
|
+
waitingTime,
|
|
176
|
+
targetTimestampMs: targetTimestampMs
|
|
173
177
|
};
|
|
174
|
-
|
|
175
178
|
hasUnstaking = true;
|
|
176
179
|
break; // only handle 1 scheduledRequest per collator
|
|
177
180
|
}
|
|
@@ -281,11 +281,23 @@ class RelayNativeStakingPoolHandler extends _base.default {
|
|
|
281
281
|
if (!poolInfo || !poolInfo.statistic) {
|
|
282
282
|
return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR));
|
|
283
283
|
}
|
|
284
|
-
const _era = await chainApi.api.query.staking.currentEra();
|
|
284
|
+
const [_era, _activeEraInfo] = await Promise.all([chainApi.api.query.staking.currentEra(), chainApi.api.query.staking.activeEra()]);
|
|
285
285
|
const currentEra = _era.toString();
|
|
286
|
+
const activeEraInfo = _activeEraInfo.toPrimitive();
|
|
287
|
+
const activeEra = activeEraInfo.index;
|
|
286
288
|
const allValidators = [];
|
|
287
289
|
const validatorInfoList = [];
|
|
288
|
-
const
|
|
290
|
+
const maxEraRewardPointsEras = _constants2.MaxEraRewardPointsEras;
|
|
291
|
+
const endEraForPoints = parseInt(activeEra) - 1;
|
|
292
|
+
let startEraForPoints = endEraForPoints - maxEraRewardPointsEras + 1;
|
|
293
|
+
const [_totalEraStake, _eraStakers, _minBond, _stakingRewards, _validators, ..._eraRewardPoints] = await Promise.all([chainApi.api.query.staking.erasTotalStake(parseInt(currentEra)), chainApi.api.query.staking.erasStakers.entries(parseInt(currentEra)), chainApi.api.query.staking.minNominatorBond(), ((_chainApi$api$query$s = chainApi.api.query.stakingRewards) === null || _chainApi$api$query$s === void 0 ? void 0 : _chainApi$api$query$s.data) && chainApi.api.query.stakingRewards.data(), chainApi.api.query.staking.validators.entries(), chainApi.api.query.staking.erasRewardPoints.multi([...Array(maxEraRewardPointsEras).keys()].map(i => i + startEraForPoints))]);
|
|
294
|
+
const eraRewardMap = {};
|
|
295
|
+
for (const item of _eraRewardPoints[0]) {
|
|
296
|
+
eraRewardMap[startEraForPoints] = item.toHuman();
|
|
297
|
+
startEraForPoints++;
|
|
298
|
+
}
|
|
299
|
+
const validatorPointsMap = (0, _utils.getValidatorPointsMap)(eraRewardMap);
|
|
300
|
+
const topValidatorList = (0, _utils.getTopValidatorByPoints)(validatorPointsMap);
|
|
289
301
|
|
|
290
302
|
// filter blocked validators
|
|
291
303
|
const validators = _validators;
|
|
@@ -316,6 +328,11 @@ class RelayNativeStakingPoolHandler extends _base.default {
|
|
|
316
328
|
const rawValidatorStat = item[1].toHuman();
|
|
317
329
|
const validatorAddress = rawValidatorInfo[1];
|
|
318
330
|
if (!blockValidatorList.includes(validatorAddress)) {
|
|
331
|
+
var _validatorPointsMap$v;
|
|
332
|
+
let isTopQuartile = false;
|
|
333
|
+
if (topValidatorList.includes(validatorAddress)) {
|
|
334
|
+
isTopQuartile = true;
|
|
335
|
+
}
|
|
319
336
|
const rawTotalStake = rawValidatorStat.total;
|
|
320
337
|
const rawOwnStake = rawValidatorStat.own;
|
|
321
338
|
const bnTotalStake = new _util.BN(rawTotalStake.replaceAll(',', ''));
|
|
@@ -340,7 +357,9 @@ class RelayNativeStakingPoolHandler extends _base.default {
|
|
|
340
357
|
blocked: false,
|
|
341
358
|
isVerified: false,
|
|
342
359
|
minBond,
|
|
343
|
-
isCrowded: unlimitedNominatorRewarded ? false : nominatorCount > parseInt(maxNominatorRewarded)
|
|
360
|
+
isCrowded: unlimitedNominatorRewarded ? false : nominatorCount > parseInt(maxNominatorRewarded),
|
|
361
|
+
eraRewardPoint: ((_validatorPointsMap$v = validatorPointsMap[validatorAddress]) !== null && _validatorPointsMap$v !== void 0 ? _validatorPointsMap$v : _util.BN_ZERO).toString(),
|
|
362
|
+
topQuartile: isTopQuartile
|
|
344
363
|
});
|
|
345
364
|
}
|
|
346
365
|
}
|
|
@@ -166,11 +166,25 @@ class NominationPoolHandler extends _base.default {
|
|
|
166
166
|
if (nominations) {
|
|
167
167
|
const validatorList = nominations.targets;
|
|
168
168
|
await Promise.all(validatorList.map(async validatorAddress => {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
169
|
+
let sortedNominators = [];
|
|
170
|
+
if (['kusama'].includes(this.chain)) {
|
|
171
|
+
// todo: hot fix for kusama first, we'll review all relaychains later
|
|
172
|
+
const _eraStaker = await substrateApi.api.query.staking.erasStakersPaged.entries(currentEra, validatorAddress);
|
|
173
|
+
const eraStakerOtherList = [];
|
|
174
|
+
_eraStaker.forEach(paged => {
|
|
175
|
+
const pagedExposure = paged[1].toPrimitive();
|
|
176
|
+
eraStakerOtherList.push(...pagedExposure.others);
|
|
177
|
+
});
|
|
178
|
+
sortedNominators = eraStakerOtherList.sort((a, b) => {
|
|
179
|
+
return new _bignumber.default(b.value).minus(a.value).toNumber();
|
|
180
|
+
});
|
|
181
|
+
} else {
|
|
182
|
+
const _eraStaker = await substrateApi.api.query.staking.erasStakers(currentEra, validatorAddress);
|
|
183
|
+
const eraStaker = _eraStaker.toPrimitive();
|
|
184
|
+
sortedNominators = eraStaker.others.sort((a, b) => {
|
|
185
|
+
return new _bignumber.default(b.value).minus(a.value).toNumber();
|
|
186
|
+
});
|
|
187
|
+
}
|
|
174
188
|
const topNominators = sortedNominators.map(nominator => {
|
|
175
189
|
return nominator.who;
|
|
176
190
|
}).slice(0, unlimitedNominatorRewarded ? undefined : maxNominatorRewardedPerValidator);
|
|
@@ -404,7 +404,6 @@ class EarningService {
|
|
|
404
404
|
const removeKeys = [];
|
|
405
405
|
chains && chains.length > 0 && Object.entries(this.yieldPositionSubject.getValue()).forEach(_ref => {
|
|
406
406
|
let [key, value] = _ref;
|
|
407
|
-
console.log('removeYieldPositions', key, value.chain, chains.indexOf(value.chain) > -1);
|
|
408
407
|
if (chains.indexOf(value.chain) > -1 && !removeKeys.includes(key)) {
|
|
409
408
|
removeKeys.push(key);
|
|
410
409
|
}
|
|
@@ -14,23 +14,10 @@ class MigrateTransactionHistoryBySymbol extends _Base.default {
|
|
|
14
14
|
const state = this.state;
|
|
15
15
|
try {
|
|
16
16
|
const changeSlugsMap = {
|
|
17
|
-
'
|
|
18
|
-
'
|
|
19
|
-
'
|
|
20
|
-
'
|
|
21
|
-
'moonriver-LOCAL-xcaUSD': 'moonriver-LOCAL-xcaSeed',
|
|
22
|
-
'moonriver-LOCAL-xckBTC': 'moonriver-LOCAL-xcKBTC',
|
|
23
|
-
'bifrost-LOCAL-aUSD': 'bifrost-LOCAL-KUSD',
|
|
24
|
-
'calamari-LOCAL-aUSD': 'calamari-LOCAL-AUSD',
|
|
25
|
-
'shiden-LOCAL-aUSD': 'shiden-LOCAL-aSEED',
|
|
26
|
-
'shidenEvm-ERC20-aUSD-0xfFFfFFfF00000000000000010000000000000000': 'shidenEvm-ERC20-aSEED-0xfFFfFFfF00000000000000010000000000000000',
|
|
27
|
-
'ethereum_goerli-NATIVE-GoerliETH': 'ethereum_goerli-NATIVE-ETH',
|
|
28
|
-
'binance_test-NATIVE-BNB': 'binance_test-NATIVE-tBNB',
|
|
29
|
-
'pangolin-LOCAL-CKTON': 'pangolin-LOCAL-PKTON',
|
|
30
|
-
'zeta_test-NATIVE-aZETA': 'zeta_test-NATIVE-ZETA',
|
|
31
|
-
'origintrail-NATIVE-OTP': 'origintrail-NATIVE-NEURO',
|
|
32
|
-
'moonbeam-LOCAL-xciBTC': 'moonbeam-LOCAL-xcIBTC',
|
|
33
|
-
'tomochain-NATIVE-TOMO': 'tomochain-NATIVE-VIC'
|
|
17
|
+
'moonbeam-LOCAL-xcaUSD': 'moonbeam-LOCAL-xcaSEED',
|
|
18
|
+
'calamari-LOCAL-AUSD': 'calamari-LOCAL-aSEED',
|
|
19
|
+
'moonriver-LOCAL-xcaSeed': 'moonriver-LOCAL-xcaSEED',
|
|
20
|
+
'bifrost-LOCAL-KUSD': 'bifrost-LOCAL-aSEED'
|
|
34
21
|
};
|
|
35
22
|
const allTxs = [];
|
|
36
23
|
await Promise.all(Object.entries(changeSlugsMap).map(async (_ref, i) => {
|
|
@@ -13,23 +13,10 @@ class MigrateAssetSetting extends _Base.default {
|
|
|
13
13
|
async run() {
|
|
14
14
|
try {
|
|
15
15
|
const changeSlugsMap = {
|
|
16
|
-
'
|
|
17
|
-
'
|
|
18
|
-
'
|
|
19
|
-
'
|
|
20
|
-
'moonriver-LOCAL-xcaUSD': 'moonriver-LOCAL-xcaSeed',
|
|
21
|
-
'moonriver-LOCAL-xckBTC': 'moonriver-LOCAL-xcKBTC',
|
|
22
|
-
'bifrost-LOCAL-aUSD': 'bifrost-LOCAL-KUSD',
|
|
23
|
-
'calamari-LOCAL-aUSD': 'calamari-LOCAL-AUSD',
|
|
24
|
-
'shiden-LOCAL-aUSD': 'shiden-LOCAL-aSEED',
|
|
25
|
-
'shidenEvm-ERC20-aUSD-0xfFFfFFfF00000000000000010000000000000000': 'shidenEvm-ERC20-aSEED-0xfFFfFFfF00000000000000010000000000000000',
|
|
26
|
-
'ethereum_goerli-NATIVE-GoerliETH': 'ethereum_goerli-NATIVE-ETH',
|
|
27
|
-
'binance_test-NATIVE-BNB': 'binance_test-NATIVE-tBNB',
|
|
28
|
-
'pangolin-LOCAL-CKTON': 'pangolin-LOCAL-PKTON',
|
|
29
|
-
'zeta_test-NATIVE-aZETA': 'zeta_test-NATIVE-ZETA',
|
|
30
|
-
'origintrail-NATIVE-OTP': 'origintrail-NATIVE-NEURO',
|
|
31
|
-
'moonbeam-LOCAL-xciBTC': 'moonbeam-LOCAL-xcIBTC',
|
|
32
|
-
'tomochain-NATIVE-TOMO': 'tomochain-NATIVE-VIC'
|
|
16
|
+
'moonbeam-LOCAL-xcaUSD': 'moonbeam-LOCAL-xcaSEED',
|
|
17
|
+
'calamari-LOCAL-AUSD': 'calamari-LOCAL-aSEED',
|
|
18
|
+
'moonriver-LOCAL-xcaSeed': 'moonriver-LOCAL-xcaSEED',
|
|
19
|
+
'bifrost-LOCAL-KUSD': 'bifrost-LOCAL-aSEED'
|
|
33
20
|
};
|
|
34
21
|
const assetSetting = await this.state.chainService.getAssetSettings();
|
|
35
22
|
const migratedAssetSetting = {};
|