@subwallet/extension-base 1.1.51-2 → 1.1.53-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.
Files changed (71) hide show
  1. package/cjs/koni/api/tokens/evm/balance.js +1 -2
  2. package/cjs/koni/api/tokens/evm/transfer.js +3 -5
  3. package/cjs/koni/api/tokens/evm/web3.js +3 -3
  4. package/cjs/koni/background/handlers/Extension.js +5 -4
  5. package/cjs/koni/background/handlers/State.js +8 -71
  6. package/cjs/koni/background/subscription.js +3 -63
  7. package/cjs/packageInfo.js +1 -1
  8. package/cjs/services/balance-service/BalanceMapImpl.js +2 -2
  9. package/cjs/services/balance-service/helpers/index.js +27 -0
  10. package/cjs/services/balance-service/helpers/subscribe/evm.js +33 -15
  11. package/cjs/services/balance-service/helpers/subscribe/{balance.js → index.js} +46 -29
  12. package/cjs/services/balance-service/helpers/subscribe/substrate/equilibrium.js +34 -15
  13. package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +157 -72
  14. package/cjs/services/balance-service/index.js +277 -75
  15. package/cjs/services/chain-service/constants.js +2 -1
  16. package/cjs/services/chain-service/health-check/utils/asset-info.js +1 -3
  17. package/cjs/services/chain-service/index.js +1 -9
  18. package/cjs/services/chain-service/utils/patch.js +1 -1
  19. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +2 -2
  20. package/cjs/services/request-service/handler/ConnectWCRequestHandler.js +0 -1
  21. package/cjs/services/storage-service/DatabaseService.js +10 -1
  22. package/cjs/services/wallet-connect-service/helpers.js +1 -1
  23. package/cjs/services/wallet-connect-service/index.js +19 -0
  24. package/cjs/utils/asset.js +19 -0
  25. package/cjs/utils/eth/parseTransaction/index.js +1 -1
  26. package/cjs/utils/index.js +12 -0
  27. package/koni/api/tokens/evm/balance.d.ts +1 -1
  28. package/koni/api/tokens/evm/balance.js +1 -2
  29. package/koni/api/tokens/evm/transfer.d.ts +2 -2
  30. package/koni/api/tokens/evm/transfer.js +3 -5
  31. package/koni/api/tokens/evm/web3.d.ts +1 -1
  32. package/koni/api/tokens/evm/web3.js +2 -2
  33. package/koni/background/handlers/Extension.js +5 -4
  34. package/koni/background/handlers/State.d.ts +1 -12
  35. package/koni/background/handlers/State.js +9 -72
  36. package/koni/background/subscription.d.ts +1 -5
  37. package/koni/background/subscription.js +1 -60
  38. package/package.json +23 -13
  39. package/packageInfo.js +1 -1
  40. package/services/balance-service/BalanceMapImpl.js +1 -1
  41. package/services/balance-service/helpers/index.d.ts +2 -0
  42. package/services/balance-service/helpers/index.js +5 -0
  43. package/services/balance-service/helpers/subscribe/evm.d.ts +3 -5
  44. package/services/balance-service/helpers/subscribe/evm.js +31 -14
  45. package/services/balance-service/helpers/subscribe/{balance.d.ts → index.d.ts} +2 -2
  46. package/services/balance-service/helpers/subscribe/{balance.js → index.js} +41 -28
  47. package/services/balance-service/helpers/subscribe/substrate/equilibrium.d.ts +3 -4
  48. package/services/balance-service/helpers/subscribe/substrate/equilibrium.js +29 -13
  49. package/services/balance-service/helpers/subscribe/substrate/index.d.ts +2 -2
  50. package/services/balance-service/helpers/subscribe/substrate/index.js +144 -67
  51. package/services/balance-service/index.d.ts +64 -6
  52. package/services/balance-service/index.js +279 -77
  53. package/services/chain-service/constants.js +2 -1
  54. package/services/chain-service/health-check/utils/asset-info.js +1 -3
  55. package/services/chain-service/index.js +2 -10
  56. package/services/chain-service/utils/patch.js +1 -1
  57. package/services/earning-service/handlers/liquid-staking/stella-swap.js +2 -2
  58. package/services/request-service/handler/ConnectWCRequestHandler.js +0 -1
  59. package/services/storage-service/DatabaseService.js +7 -1
  60. package/services/wallet-connect-service/helpers.js +1 -1
  61. package/services/wallet-connect-service/index.d.ts +1 -0
  62. package/services/wallet-connect-service/index.js +19 -1
  63. package/types/{balance.d.ts → balance/index.d.ts} +16 -0
  64. package/types/index.js +1 -1
  65. package/utils/asset.d.ts +2 -0
  66. package/utils/asset.js +12 -0
  67. package/utils/eth/parseTransaction/index.js +1 -1
  68. package/utils/index.d.ts +1 -0
  69. package/utils/index.js +1 -0
  70. /package/cjs/types/{balance.js → balance/index.js} +0 -0
  71. /package/types/{balance.js → balance/index.js} +0 -0
@@ -4,22 +4,30 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.subscribeEqBalanceAccountPallet = subscribeEqBalanceAccountPallet;
8
- exports.subscribeEquilibriumTokenBalance = subscribeEquilibriumTokenBalance;
7
+ exports.subscribeEquilibriumTokenBalance = exports.subscribeEqBalanceAccountPallet = void 0;
9
8
  var _types = require("@subwallet/chain-list/types");
10
9
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
11
- var _handlers = require("@subwallet/extension-base/koni/background/handlers");
12
10
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
11
+ var _utils2 = require("@subwallet/extension-base/utils");
13
12
  var _bignumber = _interopRequireDefault(require("bignumber.js"));
14
13
  var _util = require("@polkadot/util");
15
14
  // Copyright 2019-2022 @subwallet/extension-base
16
15
  // SPDX-License-Identifier: Apache-2.0
17
16
 
18
- async function subscribeEquilibriumTokenBalance(addresses, chain, api, callBack, includeNativeToken) {
17
+ const subscribeEquilibriumTokenBalance = async _ref => {
18
+ let {
19
+ addresses,
20
+ assetMap,
21
+ callback,
22
+ chainInfo,
23
+ includeNativeToken,
24
+ substrateApi
25
+ } = _ref;
26
+ const chain = chainInfo.slug;
19
27
  const tokenTypes = includeNativeToken ? [_types._AssetType.NATIVE, _types._AssetType.LOCAL] : [_types._AssetType.LOCAL];
20
- const tokenMap = _handlers.state.getAssetByChainAndAsset(chain, tokenTypes);
28
+ const tokenMap = (0, _utils2.filterAssetsByChainAndType)(assetMap, chain, tokenTypes);
21
29
  try {
22
- const unsub = await api.query.system.account.multi(addresses, balances => {
30
+ const unsub = await substrateApi.query.system.account.multi(addresses, balances => {
23
31
  // Equilibrium customizes the SystemAccount pallet
24
32
  Object.values(tokenMap).forEach(tokenInfo => {
25
33
  const assetId = (0, _utils._getTokenOnChainAssetId)(tokenInfo);
@@ -40,7 +48,7 @@ async function subscribeEquilibriumTokenBalance(addresses, chain, api, callBack,
40
48
  tokenSlug: tokenInfo.slug
41
49
  };
42
50
  });
43
- callBack(items);
51
+ callback(items);
44
52
  });
45
53
  });
46
54
  return () => {
@@ -58,22 +66,32 @@ async function subscribeEquilibriumTokenBalance(addresses, chain, api, callBack,
58
66
  tokenSlug: tokenInfo.slug
59
67
  };
60
68
  });
61
- callBack(items);
69
+ callback(items);
62
70
  });
63
71
  return () => {
64
72
  // Empty
65
73
  };
66
74
  }
67
- }
75
+ };
68
76
 
69
77
  // eslint-disable-next-line @typescript-eslint/require-await
70
- async function subscribeEqBalanceAccountPallet(addresses, chain, api, callBack, includeNativeToken) {
78
+ exports.subscribeEquilibriumTokenBalance = subscribeEquilibriumTokenBalance;
79
+ const subscribeEqBalanceAccountPallet = async _ref2 => {
80
+ let {
81
+ addresses,
82
+ assetMap,
83
+ callback,
84
+ chainInfo,
85
+ includeNativeToken,
86
+ substrateApi
87
+ } = _ref2;
88
+ const chain = chainInfo.slug;
71
89
  const tokenTypes = includeNativeToken ? [_types._AssetType.NATIVE, _types._AssetType.LOCAL] : [_types._AssetType.LOCAL];
72
- const tokenMap = _handlers.state.getAssetByChainAndAsset(chain, tokenTypes);
90
+ const tokenMap = (0, _utils2.filterAssetsByChainAndType)(assetMap, chain, tokenTypes);
73
91
  const unsubList = Object.values(tokenMap).map(async tokenInfo => {
74
92
  try {
75
93
  const assetId = (0, _utils._getTokenOnChainAssetId)(tokenInfo);
76
- const unsub = await api.query.eqBalances.account.multi(addresses.map(address => [address, [assetId]]), balances => {
94
+ const unsub = await substrateApi.query.eqBalances.account.multi(addresses.map(address => [address, [assetId]]), balances => {
77
95
  const items = balances.map((balance, index) => {
78
96
  return {
79
97
  address: addresses[index],
@@ -84,7 +102,7 @@ async function subscribeEqBalanceAccountPallet(addresses, chain, api, callBack,
84
102
  tokenSlug: tokenInfo.slug
85
103
  };
86
104
  });
87
- callBack(items);
105
+ callback(items);
88
106
  });
89
107
  return unsub;
90
108
  } catch (err) {
@@ -99,7 +117,7 @@ async function subscribeEqBalanceAccountPallet(addresses, chain, api, callBack,
99
117
  tokenSlug: tokenInfo.slug
100
118
  };
101
119
  });
102
- callBack(items);
120
+ callback(items);
103
121
  return undefined;
104
122
  }
105
123
  });
@@ -110,4 +128,5 @@ async function subscribeEqBalanceAccountPallet(addresses, chain, api, callBack,
110
128
  }).catch(console.error);
111
129
  });
112
130
  };
113
- }
131
+ };
132
+ exports.subscribeEqBalanceAccountPallet = subscribeEqBalanceAccountPallet;
@@ -3,51 +3,72 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.subscribeSubstrateBalance = subscribeSubstrateBalance;
6
+ exports.subscribeSubstrateBalance = void 0;
7
7
  var _types = require("@subwallet/chain-list/types");
8
8
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
9
9
  var _constants = require("@subwallet/extension-base/constants");
10
10
  var _wasm = require("@subwallet/extension-base/koni/api/tokens/wasm");
11
11
  var _utils = require("@subwallet/extension-base/koni/api/tokens/wasm/utils");
12
- var _handlers = require("@subwallet/extension-base/koni/background/handlers");
13
- var _evm = require("@subwallet/extension-base/services/balance-service/helpers/subscribe/evm");
14
12
  var _constants2 = require("@subwallet/extension-base/services/chain-service/constants");
15
13
  var _utils2 = require("@subwallet/extension-base/services/chain-service/utils");
14
+ var _utils3 = require("@subwallet/extension-base/utils");
15
+ var _rxjs = require("rxjs");
16
16
  var _util = require("@polkadot/util");
17
+ var _evm = require("../evm");
17
18
  var _equilibrium = require("./equilibrium");
18
19
  // Copyright 2019-2022 @subwallet/extension-base
19
20
  // SPDX-License-Identifier: Apache-2.0
20
21
 
21
- async function subscribeSubstrateBalance(addresses, chainInfo, chain, networkAPI, evmApiMap, callBack) {
22
+ const subscribeSubstrateBalance = async (addresses, chainInfo, assetMap, substrateApi, evmApi, callback) => {
22
23
  let unsubNativeToken;
23
- if (!_constants2._BALANCE_CHAIN_GROUP.kintsugi.includes(chain) && !_constants2._BALANCE_CHAIN_GROUP.genshiro.includes(chain) && !_constants2._BALANCE_CHAIN_GROUP.equilibrium_parachain.includes(chain)) {
24
- unsubNativeToken = await subscribeWithSystemAccountPallet(addresses, chainInfo, networkAPI.api, callBack);
25
- }
26
24
  let unsubLocalToken;
27
25
  let unsubEvmContractToken;
28
26
  let unsubWasmContractToken;
29
27
  let unsubBridgedToken;
28
+ const chain = chainInfo.slug;
29
+ const baseParams = {
30
+ addresses,
31
+ chainInfo,
32
+ assetMap,
33
+ callback
34
+ };
35
+ const substrateParams = {
36
+ ...baseParams,
37
+ substrateApi: substrateApi.api
38
+ };
39
+ if (!_constants2._BALANCE_CHAIN_GROUP.kintsugi.includes(chain) && !_constants2._BALANCE_CHAIN_GROUP.genshiro.includes(chain) && !_constants2._BALANCE_CHAIN_GROUP.equilibrium_parachain.includes(chain)) {
40
+ unsubNativeToken = await subscribeWithSystemAccountPallet(substrateParams);
41
+ }
30
42
  try {
31
43
  if (_constants2._BALANCE_CHAIN_GROUP.bifrost.includes(chain)) {
32
- unsubLocalToken = await subscribeTokensAccountsPallet(addresses, chain, networkAPI.api, callBack);
44
+ unsubLocalToken = await subscribeTokensAccountsPallet(substrateParams);
33
45
  } else if (_constants2._BALANCE_CHAIN_GROUP.kintsugi.includes(chain)) {
34
- unsubLocalToken = await subscribeTokensAccountsPallet(addresses, chain, networkAPI.api, callBack, true);
46
+ unsubLocalToken = await subscribeTokensAccountsPallet({
47
+ ...substrateParams,
48
+ includeNativeToken: true
49
+ });
35
50
  } else if (_constants2._BALANCE_CHAIN_GROUP.statemine.includes(chain)) {
36
- unsubLocalToken = await subscribeAssetsAccountPallet(addresses, chain, networkAPI.api, callBack);
51
+ unsubLocalToken = await subscribeAssetsAccountPallet(substrateParams);
37
52
  } else if (_constants2._BALANCE_CHAIN_GROUP.genshiro.includes(chain) || _constants2._BALANCE_CHAIN_GROUP.equilibrium_parachain.includes(chain)) {
38
- unsubLocalToken = await (0, _equilibrium.subscribeEquilibriumTokenBalance)(addresses, chain, networkAPI.api, callBack, true);
53
+ unsubLocalToken = await (0, _equilibrium.subscribeEquilibriumTokenBalance)({
54
+ ...substrateParams,
55
+ includeNativeToken: true
56
+ });
39
57
  } else if (_constants2._BALANCE_CHAIN_GROUP.centrifuge.includes(chain)) {
40
- unsubLocalToken = await subscribeOrmlTokensPallet(addresses, chain, networkAPI.api, callBack);
58
+ unsubLocalToken = await subscribeOrmlTokensPallet(substrateParams);
41
59
  }
42
60
  if (_constants2._BALANCE_CHAIN_GROUP.supportBridged.includes(chain)) {
43
- unsubBridgedToken = await subscribeBridgedBalance(addresses, chain, networkAPI.api, callBack);
61
+ unsubBridgedToken = await subscribeBridgedBalance(substrateParams);
44
62
  }
45
63
  if ((0, _utils2._isChainEvmCompatible)(chainInfo)) {
46
- unsubEvmContractToken = (0, _evm.subscribeERC20Interval)(addresses, chain, evmApiMap, callBack);
64
+ unsubEvmContractToken = (0, _evm.subscribeERC20Interval)({
65
+ ...baseParams,
66
+ evmApi: evmApi
67
+ });
47
68
  }
48
69
  if ((0, _utils2._checkSmartContractSupportByChain)(chainInfo, _types._AssetType.PSP22)) {
49
70
  // Get sub-token for substrate-based chains
50
- unsubWasmContractToken = subscribePSP22Balance(addresses, chain, networkAPI.api, callBack);
71
+ unsubWasmContractToken = subscribePSP22Balance(substrateParams);
51
72
  }
52
73
  } catch (err) {
53
74
  console.warn(err);
@@ -59,32 +80,55 @@ async function subscribeSubstrateBalance(addresses, chainInfo, chain, networkAPI
59
80
  unsubWasmContractToken && unsubWasmContractToken();
60
81
  unsubBridgedToken && unsubBridgedToken();
61
82
  };
62
- }
83
+ };
63
84
 
64
85
  // handler according to different logic
65
- async function subscribeWithSystemAccountPallet(addresses, chainInfo, networkAPI, callBack) {
86
+ // eslint-disable-next-line @typescript-eslint/require-await
87
+ exports.subscribeSubstrateBalance = subscribeSubstrateBalance;
88
+ const subscribeWithSystemAccountPallet = async _ref => {
89
+ let {
90
+ addresses,
91
+ callback,
92
+ chainInfo,
93
+ substrateApi
94
+ } = _ref;
66
95
  const chainNativeTokenSlug = (0, _utils2._getChainNativeTokenSlug)(chainInfo);
67
-
68
- // TODO: Need handle case error
69
- const unsub = await networkAPI.query.system.account.multi(addresses, async balances => {
70
- const pooledStakingBalances = [];
71
- if ((0, _utils2._isSubstrateRelayChain)(chainInfo) && networkAPI.query.nominationPools) {
72
- var _networkAPI$query$nom;
73
- const poolMemberDatas = await ((_networkAPI$query$nom = networkAPI.query.nominationPools.poolMembers) === null || _networkAPI$query$nom === void 0 ? void 0 : _networkAPI$query$nom.multi(addresses));
74
- if (poolMemberDatas) {
75
- for (const _poolMemberData of poolMemberDatas) {
76
- const poolMemberData = _poolMemberData.toPrimitive();
77
- if (poolMemberData) {
78
- let pooled = new _util.BN(poolMemberData.points.toString());
79
- Object.entries(poolMemberData.unbondingEras).forEach(_ref => {
80
- let [, amount] = _ref;
81
- pooled = pooled.add(new _util.BN(amount));
82
- });
83
- pooledStakingBalances.push(pooled);
84
- } else {
85
- pooledStakingBalances.push(_util.BN_ZERO);
86
- }
96
+ const balanceSubscribe = substrateApi.rx.query.system.account.multi(addresses);
97
+ let poolSubscribe;
98
+ if ((0, _utils2._isSubstrateRelayChain)(chainInfo) && substrateApi.query.nominationPools) {
99
+ var _substrateApi$rx$quer;
100
+ poolSubscribe = (_substrateApi$rx$quer = substrateApi.rx.query.nominationPools.poolMembers) === null || _substrateApi$rx$quer === void 0 ? void 0 : _substrateApi$rx$quer.multi(addresses);
101
+ }
102
+ if (!poolSubscribe) {
103
+ poolSubscribe = new _rxjs.Observable(subscriber => {
104
+ subscriber.next(addresses.map(() => ({
105
+ toPrimitive() {
106
+ return null;
87
107
  }
108
+ })));
109
+ });
110
+ }
111
+ const subscription = (0, _rxjs.combineLatest)({
112
+ balances: balanceSubscribe,
113
+ pools: poolSubscribe
114
+ }).subscribe(_ref2 => {
115
+ let {
116
+ balances: _balances,
117
+ pools: poolMemberDatas
118
+ } = _ref2;
119
+ const balances = _balances;
120
+ const pooledStakingBalances = [];
121
+ for (const _poolMemberData of poolMemberDatas) {
122
+ const poolMemberData = _poolMemberData.toPrimitive();
123
+ if (poolMemberData) {
124
+ let pooled = new _util.BN(poolMemberData.points.toString());
125
+ Object.entries(poolMemberData.unbondingEras).forEach(_ref3 => {
126
+ let [, amount] = _ref3;
127
+ pooled = pooled.add(new _util.BN(amount));
128
+ });
129
+ pooledStakingBalances.push(pooled);
130
+ } else {
131
+ pooledStakingBalances.push(_util.BN_ZERO);
88
132
  }
89
133
  }
90
134
  const items = balances.map((balance, index) => {
@@ -116,14 +160,22 @@ async function subscribeWithSystemAccountPallet(addresses, chainInfo, networkAPI
116
160
  }
117
161
  };
118
162
  });
119
- callBack(items);
163
+ callback(items);
120
164
  });
121
165
  return () => {
122
- unsub();
166
+ subscription.unsubscribe();
123
167
  };
124
- }
125
- async function subscribeBridgedBalance(addresses, chain, api, callBack) {
126
- const tokenMap = _handlers.state.getAssetByChainAndAsset(chain, [_types._AssetType.LOCAL]);
168
+ };
169
+ const subscribeBridgedBalance = async _ref4 => {
170
+ let {
171
+ addresses,
172
+ assetMap,
173
+ callback,
174
+ chainInfo,
175
+ substrateApi
176
+ } = _ref4;
177
+ const chain = chainInfo.slug;
178
+ const tokenMap = (0, _utils3.filterAssetsByChainAndType)(assetMap, chain, [_types._AssetType.LOCAL]);
127
179
 
128
180
  // @ts-ignore
129
181
  const unsubList = await Promise.all(Object.values(tokenMap).map(async tokenInfo => {
@@ -131,7 +183,7 @@ async function subscribeBridgedBalance(addresses, chain, api, callBack) {
131
183
  const isBridgedToken = (0, _utils2._isBridgedToken)(tokenInfo);
132
184
  if (isBridgedToken) {
133
185
  const multiLocation = (0, _utils2._getXcmAssetMultilocation)(tokenInfo);
134
- return await api.query.foreignAssets.account.multi(addresses.map(address => [multiLocation, address]), balances => {
186
+ return await substrateApi.query.foreignAssets.account.multi(addresses.map(address => [multiLocation, address]), balances => {
135
187
  const items = balances.map((balance, index) => {
136
188
  const bdata = balance === null || balance === void 0 ? void 0 : balance.toHuman();
137
189
  let frozen = _util.BN_ZERO;
@@ -161,7 +213,7 @@ async function subscribeBridgedBalance(addresses, chain, api, callBack) {
161
213
  }
162
214
  };
163
215
  });
164
- callBack(items);
216
+ callback(items);
165
217
  });
166
218
  }
167
219
  } catch (err) {
@@ -174,25 +226,37 @@ async function subscribeBridgedBalance(addresses, chain, api, callBack) {
174
226
  unsub && unsub();
175
227
  });
176
228
  };
177
- }
178
- function subscribePSP22Balance(addresses, chain, api, callBack) {
179
- let tokenList = {};
229
+ };
230
+ const subscribePSP22Balance = _ref5 => {
231
+ let {
232
+ addresses,
233
+ assetMap,
234
+ callback,
235
+ chainInfo,
236
+ substrateApi
237
+ } = _ref5;
238
+ const chain = chainInfo.slug;
180
239
  const psp22ContractMap = {};
240
+ const tokenList = (0, _utils3.filterAssetsByChainAndType)(assetMap, chain, [_types._AssetType.PSP22]);
241
+ Object.entries(tokenList).forEach(_ref6 => {
242
+ let [slug, tokenInfo] = _ref6;
243
+ psp22ContractMap[slug] = (0, _wasm.getPSP22ContractPromise)(substrateApi, (0, _utils2._getContractAddressOfToken)(tokenInfo));
244
+ });
181
245
  const getTokenBalances = () => {
182
246
  Object.values(tokenList).map(async tokenInfo => {
183
247
  try {
184
248
  const contract = psp22ContractMap[tokenInfo.slug];
185
249
  const balances = await Promise.all(addresses.map(async address => {
186
250
  try {
187
- var _balanceOf$output, _ref2;
251
+ var _balanceOf$output, _ref7;
188
252
  const _balanceOf = await contract.query['psp22::balanceOf'](address, {
189
- gasLimit: (0, _utils.getDefaultWeightV2)(api)
253
+ gasLimit: (0, _utils.getDefaultWeightV2)(substrateApi)
190
254
  }, address);
191
255
  const balanceObj = _balanceOf === null || _balanceOf === void 0 ? void 0 : (_balanceOf$output = _balanceOf.output) === null || _balanceOf$output === void 0 ? void 0 : _balanceOf$output.toPrimitive();
192
256
  return {
193
257
  address: address,
194
258
  tokenSlug: tokenInfo.slug,
195
- free: _balanceOf.output ? (_ref2 = balanceObj.ok) !== null && _ref2 !== void 0 ? _ref2 : balanceObj.Ok : '0',
259
+ free: _balanceOf.output ? (_ref7 = balanceObj.ok) !== null && _ref7 !== void 0 ? _ref7 : balanceObj.Ok : '0',
196
260
  locked: '0',
197
261
  state: _KoniTypes.APIItemState.READY
198
262
  };
@@ -207,27 +271,31 @@ function subscribePSP22Balance(addresses, chain, api, callBack) {
207
271
  };
208
272
  }
209
273
  }));
210
- callBack(balances);
274
+ callback(balances);
211
275
  } catch (err) {
212
276
  console.warn(tokenInfo.slug, err); // TODO: error createType
213
277
  }
214
278
  });
215
279
  };
216
280
 
217
- tokenList = _handlers.state.getAssetByChainAndAsset(chain, [_types._AssetType.PSP22]);
218
- Object.entries(tokenList).forEach(_ref3 => {
219
- let [slug, tokenInfo] = _ref3;
220
- psp22ContractMap[slug] = (0, _wasm.getPSP22ContractPromise)(api, (0, _utils2._getContractAddressOfToken)(tokenInfo));
221
- });
222
281
  getTokenBalances();
223
282
  const interval = setInterval(getTokenBalances, _constants.SUB_TOKEN_REFRESH_BALANCE_INTERVAL);
224
283
  return () => {
225
284
  clearInterval(interval);
226
285
  };
227
- }
228
- async function subscribeTokensAccountsPallet(addresses, chain, api, callBack, includeNativeToken) {
286
+ };
287
+ const subscribeTokensAccountsPallet = async _ref8 => {
288
+ let {
289
+ addresses,
290
+ assetMap,
291
+ callback,
292
+ chainInfo,
293
+ includeNativeToken,
294
+ substrateApi
295
+ } = _ref8;
296
+ const chain = chainInfo.slug;
229
297
  const tokenTypes = includeNativeToken ? [_types._AssetType.NATIVE, _types._AssetType.LOCAL] : [_types._AssetType.LOCAL];
230
- const tokenMap = _handlers.state.getAssetByChainAndAsset(chain, tokenTypes);
298
+ const tokenMap = (0, _utils3.filterAssetsByChainAndType)(assetMap, chain, tokenTypes);
231
299
  const unsubList = await Promise.all(Object.values(tokenMap).map(async tokenInfo => {
232
300
  try {
233
301
  const onChainInfo = (0, _utils2._getTokenOnChainInfo)(tokenInfo);
@@ -235,7 +303,7 @@ async function subscribeTokensAccountsPallet(addresses, chain, api, callBack, in
235
303
 
236
304
  // Get Token Balance
237
305
  // @ts-ignore
238
- return await api.query.tokens.accounts.multi(addresses.map(address => [address, onChainInfo || assetId]), balances => {
306
+ return await substrateApi.query.tokens.accounts.multi(addresses.map(address => [address, onChainInfo || assetId]), balances => {
239
307
  const items = balances.map((balance, index) => {
240
308
  const tokenBalance = {
241
309
  reserved: balance.reserved || new _util.BN(0),
@@ -257,7 +325,7 @@ async function subscribeTokensAccountsPallet(addresses, chain, api, callBack, in
257
325
  }
258
326
  };
259
327
  });
260
- callBack(items);
328
+ callback(items);
261
329
  });
262
330
  } catch (err) {
263
331
  console.warn(err);
@@ -269,9 +337,18 @@ async function subscribeTokensAccountsPallet(addresses, chain, api, callBack, in
269
337
  unsub && unsub();
270
338
  });
271
339
  };
272
- }
273
- async function subscribeAssetsAccountPallet(addresses, chain, api, callBack) {
274
- const tokenMap = _handlers.state.getAssetByChainAndAsset(chain, [_types._AssetType.LOCAL]);
340
+ };
341
+ const subscribeAssetsAccountPallet = async _ref9 => {
342
+ let {
343
+ addresses,
344
+ assetMap,
345
+ callback,
346
+ chainInfo,
347
+ includeNativeToken,
348
+ substrateApi
349
+ } = _ref9;
350
+ const chain = chainInfo.slug;
351
+ const tokenMap = (0, _utils3.filterAssetsByChainAndType)(assetMap, chain, [_types._AssetType.LOCAL]);
275
352
  Object.values(tokenMap).forEach(token => {
276
353
  if (_constants2._MANTA_ZK_CHAIN_GROUP.includes(token.originChain) && token.symbol.startsWith(_constants2._ZK_ASSET_PREFIX)) {
277
354
  delete tokenMap[token.slug];
@@ -282,7 +359,7 @@ async function subscribeAssetsAccountPallet(addresses, chain, api, callBack) {
282
359
  const assetIndex = (0, _utils2._getTokenOnChainAssetId)(tokenInfo);
283
360
 
284
361
  // Get Token Balance
285
- return await api.query.assets.account.multi(addresses.map(address => [assetIndex, address]), balances => {
362
+ return await substrateApi.query.assets.account.multi(addresses.map(address => [assetIndex, address]), balances => {
286
363
  const items = balances.map((balance, index) => {
287
364
  const bdata = balance === null || balance === void 0 ? void 0 : balance.toPrimitive();
288
365
  let frozen = _util.BN_ZERO;
@@ -311,7 +388,7 @@ async function subscribeAssetsAccountPallet(addresses, chain, api, callBack) {
311
388
  }
312
389
  };
313
390
  });
314
- callBack(items);
391
+ callback(items);
315
392
  });
316
393
  } catch (err) {
317
394
  console.warn(err);
@@ -323,19 +400,27 @@ async function subscribeAssetsAccountPallet(addresses, chain, api, callBack) {
323
400
  unsub && unsub();
324
401
  });
325
402
  };
326
- }
403
+ };
327
404
 
328
405
  // eslint-disable-next-line @typescript-eslint/require-await
329
- async function subscribeOrmlTokensPallet(addresses, chain, api, callBack) {
406
+ const subscribeOrmlTokensPallet = async _ref10 => {
407
+ let {
408
+ addresses,
409
+ assetMap,
410
+ callback,
411
+ chainInfo,
412
+ substrateApi
413
+ } = _ref10;
414
+ const chain = chainInfo.slug;
330
415
  const tokenTypes = [_types._AssetType.LOCAL];
331
- const tokenMap = _handlers.state.getAssetByChainAndAsset(chain, tokenTypes);
416
+ const tokenMap = (0, _utils3.filterAssetsByChainAndType)(assetMap, chain, tokenTypes);
332
417
  const unsubList = Object.values(tokenMap).map(async tokenInfo => {
333
418
  try {
334
419
  const onChainInfo = (0, _utils2._getTokenOnChainInfo)(tokenInfo);
335
420
 
336
421
  // Get Token Balance
337
422
  // @ts-ignore
338
- const unsub = await api.query.ormlTokens.accounts.multi(addresses.map(address => [address, onChainInfo]), balances => {
423
+ const unsub = await substrateApi.query.ormlTokens.accounts.multi(addresses.map(address => [address, onChainInfo]), balances => {
339
424
  const items = balances.map((balance, index) => {
340
425
  const tokenBalance = {
341
426
  reserved: balance.reserved || new _util.BN(0),
@@ -359,7 +444,7 @@ async function subscribeOrmlTokensPallet(addresses, chain, api, callBack) {
359
444
  }
360
445
  };
361
446
  });
362
- callBack(items);
447
+ callback(items);
363
448
  });
364
449
  return unsub;
365
450
  } catch (err) {
@@ -374,4 +459,4 @@ async function subscribeOrmlTokensPallet(addresses, chain, api, callBack) {
374
459
  }).catch(console.error);
375
460
  });
376
461
  };
377
- }
462
+ };