@subwallet/extension-base 1.0.13-0 → 1.1.1-dev.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 (81) hide show
  1. package/background/KoniTypes.d.ts +37 -0
  2. package/background/KoniTypes.js +8 -1
  3. package/background/handlers/Extension.js +17 -2
  4. package/background/types.d.ts +6 -1
  5. package/bundle-polkadot-extension-base.js +20 -0
  6. package/cjs/background/KoniTypes.js +10 -2
  7. package/cjs/background/handlers/Extension.js +22 -6
  8. package/cjs/constants/index.js +7 -1
  9. package/cjs/defaults.js +1 -1
  10. package/cjs/koni/api/dotsama/balance.js +5 -0
  11. package/cjs/koni/api/dotsama/transfer.js +6 -0
  12. package/cjs/koni/api/staking/bonding/astar.js +2 -2
  13. package/cjs/koni/api/staking/bonding/relayChain.js +12 -2
  14. package/cjs/koni/api/staking/bonding/utils.js +2 -2
  15. package/cjs/koni/background/cron.js +13 -37
  16. package/cjs/koni/background/handlers/Extension.js +324 -147
  17. package/cjs/koni/background/handlers/State.js +224 -51
  18. package/cjs/koni/background/subscription.js +9 -86
  19. package/cjs/packageInfo.js +1 -1
  20. package/cjs/services/chain-service/constants.js +10 -4
  21. package/cjs/services/chain-service/handler/SubstrateApi.js +2 -1
  22. package/cjs/services/chain-service/handler/SubstrateChainHandler.js +3 -1
  23. package/cjs/services/chain-service/handler/manta/MantaPrivateHandler.js +147 -0
  24. package/cjs/services/chain-service/helper/erc20_abi.json +224 -0
  25. package/cjs/services/chain-service/helper/erc721_abi.json +384 -0
  26. package/cjs/services/chain-service/helper/psp22_abi.json +1127 -0
  27. package/cjs/services/chain-service/helper/psp34_abi.json +3144 -0
  28. package/cjs/services/chain-service/helper/test_erc721_abi.json +393 -0
  29. package/cjs/services/chain-service/index.js +54 -5
  30. package/cjs/services/chain-service/utils.js +6 -1
  31. package/cjs/services/event-service/types.js +3 -1
  32. package/cjs/services/storage-service/DatabaseService.js +31 -1
  33. package/cjs/services/storage-service/databases/index.js +3 -0
  34. package/cjs/services/storage-service/db-stores/MantaPay.js +40 -0
  35. package/cjs/utils/index.js +12 -0
  36. package/cjs/utils/lazy.js +52 -0
  37. package/constants/index.d.ts +2 -0
  38. package/constants/index.js +2 -0
  39. package/defaults.d.ts +1 -1
  40. package/defaults.js +1 -1
  41. package/koni/api/dotsama/balance.js +6 -1
  42. package/koni/api/dotsama/transfer.js +7 -1
  43. package/koni/api/staking/bonding/astar.d.ts +1 -1
  44. package/koni/api/staking/bonding/astar.js +1 -1
  45. package/koni/api/staking/bonding/relayChain.js +12 -2
  46. package/koni/api/staking/bonding/utils.js +3 -3
  47. package/koni/background/cron.d.ts +1 -5
  48. package/koni/background/cron.js +15 -39
  49. package/koni/background/handlers/Extension.d.ts +5 -0
  50. package/koni/background/handlers/Extension.js +186 -11
  51. package/koni/background/handlers/State.d.ts +15 -3
  52. package/koni/background/handlers/State.js +226 -50
  53. package/koni/background/subscription.d.ts +1 -4
  54. package/koni/background/subscription.js +11 -87
  55. package/package.json +23 -6
  56. package/packageInfo.js +1 -1
  57. package/services/chain-service/constants.d.ts +3 -0
  58. package/services/chain-service/constants.js +5 -2
  59. package/services/chain-service/handler/SubstrateApi.d.ts +1 -1
  60. package/services/chain-service/handler/SubstrateApi.js +2 -1
  61. package/services/chain-service/handler/SubstrateChainHandler.d.ts +1 -1
  62. package/services/chain-service/handler/SubstrateChainHandler.js +3 -1
  63. package/services/chain-service/handler/manta/MantaPrivateHandler.d.ts +30 -0
  64. package/services/chain-service/handler/manta/MantaPrivateHandler.js +140 -0
  65. package/services/chain-service/handler/types.d.ts +2 -0
  66. package/services/chain-service/index.d.ts +7 -3
  67. package/services/chain-service/index.js +56 -7
  68. package/services/chain-service/utils.d.ts +1 -0
  69. package/services/chain-service/utils.js +5 -1
  70. package/services/event-service/types.d.ts +3 -0
  71. package/services/event-service/types.js +3 -1
  72. package/services/storage-service/DatabaseService.d.ts +10 -1
  73. package/services/storage-service/DatabaseService.js +31 -1
  74. package/services/storage-service/databases/index.d.ts +2 -0
  75. package/services/storage-service/databases/index.js +3 -0
  76. package/services/storage-service/db-stores/MantaPay.d.ts +9 -0
  77. package/services/storage-service/db-stores/MantaPay.js +32 -0
  78. package/utils/index.d.ts +1 -0
  79. package/utils/index.js +2 -1
  80. package/utils/lazy.d.ts +2 -0
  81. package/utils/lazy.js +43 -0
@@ -0,0 +1,393 @@
1
+ [
2
+ {
3
+ "inputs": [],
4
+ "stateMutability": "nonpayable",
5
+ "type": "constructor"
6
+ },
7
+ {
8
+ "anonymous": false,
9
+ "inputs": [
10
+ {
11
+ "indexed": true,
12
+ "internalType": "address",
13
+ "name": "_owner",
14
+ "type": "address"
15
+ },
16
+ {
17
+ "indexed": true,
18
+ "internalType": "address",
19
+ "name": "_approved",
20
+ "type": "address"
21
+ },
22
+ {
23
+ "indexed": true,
24
+ "internalType": "uint256",
25
+ "name": "_tokenId",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "name": "Approval",
30
+ "type": "event"
31
+ },
32
+ {
33
+ "anonymous": false,
34
+ "inputs": [
35
+ {
36
+ "indexed": true,
37
+ "internalType": "address",
38
+ "name": "_owner",
39
+ "type": "address"
40
+ },
41
+ {
42
+ "indexed": true,
43
+ "internalType": "address",
44
+ "name": "_operator",
45
+ "type": "address"
46
+ },
47
+ {
48
+ "indexed": false,
49
+ "internalType": "bool",
50
+ "name": "_approved",
51
+ "type": "bool"
52
+ }
53
+ ],
54
+ "name": "ApprovalForAll",
55
+ "type": "event"
56
+ },
57
+ {
58
+ "anonymous": false,
59
+ "inputs": [
60
+ {
61
+ "indexed": true,
62
+ "internalType": "address",
63
+ "name": "_from",
64
+ "type": "address"
65
+ },
66
+ {
67
+ "indexed": true,
68
+ "internalType": "address",
69
+ "name": "_to",
70
+ "type": "address"
71
+ },
72
+ {
73
+ "indexed": true,
74
+ "internalType": "uint256",
75
+ "name": "_tokenId",
76
+ "type": "uint256"
77
+ }
78
+ ],
79
+ "name": "Transfer",
80
+ "type": "event"
81
+ },
82
+ {
83
+ "inputs": [
84
+ {
85
+ "internalType": "address",
86
+ "name": "_approved",
87
+ "type": "address"
88
+ },
89
+ {
90
+ "internalType": "uint256",
91
+ "name": "_tokenId",
92
+ "type": "uint256"
93
+ }
94
+ ],
95
+ "name": "approve",
96
+ "outputs": [],
97
+ "stateMutability": "nonpayable",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [
102
+ {
103
+ "internalType": "address",
104
+ "name": "_owner",
105
+ "type": "address"
106
+ }
107
+ ],
108
+ "name": "balanceOf",
109
+ "outputs": [
110
+ {
111
+ "internalType": "uint256",
112
+ "name": "",
113
+ "type": "uint256"
114
+ }
115
+ ],
116
+ "stateMutability": "view",
117
+ "type": "function"
118
+ },
119
+ {
120
+ "inputs": [
121
+ {
122
+ "internalType": "uint256",
123
+ "name": "_tokenId",
124
+ "type": "uint256"
125
+ }
126
+ ],
127
+ "name": "getApproved",
128
+ "outputs": [
129
+ {
130
+ "internalType": "address",
131
+ "name": "",
132
+ "type": "address"
133
+ }
134
+ ],
135
+ "stateMutability": "view",
136
+ "type": "function"
137
+ },
138
+ {
139
+ "inputs": [
140
+ {
141
+ "internalType": "address",
142
+ "name": "_owner",
143
+ "type": "address"
144
+ },
145
+ {
146
+ "internalType": "address",
147
+ "name": "_operator",
148
+ "type": "address"
149
+ }
150
+ ],
151
+ "name": "isApprovedForAll",
152
+ "outputs": [
153
+ {
154
+ "internalType": "bool",
155
+ "name": "",
156
+ "type": "bool"
157
+ }
158
+ ],
159
+ "stateMutability": "view",
160
+ "type": "function"
161
+ },
162
+ {
163
+ "inputs": [],
164
+ "name": "name",
165
+ "outputs": [
166
+ {
167
+ "internalType": "string",
168
+ "name": "_name",
169
+ "type": "string"
170
+ }
171
+ ],
172
+ "stateMutability": "view",
173
+ "type": "function"
174
+ },
175
+ {
176
+ "inputs": [
177
+ {
178
+ "internalType": "uint256",
179
+ "name": "_tokenId",
180
+ "type": "uint256"
181
+ }
182
+ ],
183
+ "name": "ownerOf",
184
+ "outputs": [
185
+ {
186
+ "internalType": "address",
187
+ "name": "_owner",
188
+ "type": "address"
189
+ }
190
+ ],
191
+ "stateMutability": "view",
192
+ "type": "function"
193
+ },
194
+ {
195
+ "inputs": [
196
+ {
197
+ "internalType": "address",
198
+ "name": "_from",
199
+ "type": "address"
200
+ },
201
+ {
202
+ "internalType": "address",
203
+ "name": "_to",
204
+ "type": "address"
205
+ },
206
+ {
207
+ "internalType": "uint256",
208
+ "name": "_tokenId",
209
+ "type": "uint256"
210
+ }
211
+ ],
212
+ "name": "safeTransferFrom",
213
+ "outputs": [],
214
+ "stateMutability": "nonpayable",
215
+ "type": "function"
216
+ },
217
+ {
218
+ "inputs": [
219
+ {
220
+ "internalType": "address",
221
+ "name": "_from",
222
+ "type": "address"
223
+ },
224
+ {
225
+ "internalType": "address",
226
+ "name": "_to",
227
+ "type": "address"
228
+ },
229
+ {
230
+ "internalType": "uint256",
231
+ "name": "_tokenId",
232
+ "type": "uint256"
233
+ },
234
+ {
235
+ "internalType": "bytes",
236
+ "name": "_data",
237
+ "type": "bytes"
238
+ }
239
+ ],
240
+ "name": "safeTransferFrom",
241
+ "outputs": [],
242
+ "stateMutability": "nonpayable",
243
+ "type": "function"
244
+ },
245
+ {
246
+ "inputs": [
247
+ {
248
+ "internalType": "address",
249
+ "name": "_operator",
250
+ "type": "address"
251
+ },
252
+ {
253
+ "internalType": "bool",
254
+ "name": "_approved",
255
+ "type": "bool"
256
+ }
257
+ ],
258
+ "name": "setApprovalForAll",
259
+ "outputs": [],
260
+ "stateMutability": "nonpayable",
261
+ "type": "function"
262
+ },
263
+ {
264
+ "inputs": [
265
+ {
266
+ "internalType": "bytes4",
267
+ "name": "_interfaceID",
268
+ "type": "bytes4"
269
+ }
270
+ ],
271
+ "name": "supportsInterface",
272
+ "outputs": [
273
+ {
274
+ "internalType": "bool",
275
+ "name": "",
276
+ "type": "bool"
277
+ }
278
+ ],
279
+ "stateMutability": "view",
280
+ "type": "function"
281
+ },
282
+ {
283
+ "inputs": [],
284
+ "name": "symbol",
285
+ "outputs": [
286
+ {
287
+ "internalType": "string",
288
+ "name": "_symbol",
289
+ "type": "string"
290
+ }
291
+ ],
292
+ "stateMutability": "view",
293
+ "type": "function"
294
+ },
295
+ {
296
+ "inputs": [
297
+ {
298
+ "internalType": "uint256",
299
+ "name": "_index",
300
+ "type": "uint256"
301
+ }
302
+ ],
303
+ "name": "tokenByIndex",
304
+ "outputs": [
305
+ {
306
+ "internalType": "uint256",
307
+ "name": "",
308
+ "type": "uint256"
309
+ }
310
+ ],
311
+ "stateMutability": "view",
312
+ "type": "function"
313
+ },
314
+ {
315
+ "inputs": [
316
+ {
317
+ "internalType": "address",
318
+ "name": "_owner",
319
+ "type": "address"
320
+ },
321
+ {
322
+ "internalType": "uint256",
323
+ "name": "_index",
324
+ "type": "uint256"
325
+ }
326
+ ],
327
+ "name": "tokenOfOwnerByIndex",
328
+ "outputs": [
329
+ {
330
+ "internalType": "uint256",
331
+ "name": "",
332
+ "type": "uint256"
333
+ }
334
+ ],
335
+ "stateMutability": "view",
336
+ "type": "function"
337
+ },
338
+ {
339
+ "inputs": [
340
+ {
341
+ "internalType": "uint256",
342
+ "name": "_tokenId",
343
+ "type": "uint256"
344
+ }
345
+ ],
346
+ "name": "tokenURI",
347
+ "outputs": [
348
+ {
349
+ "internalType": "string",
350
+ "name": "",
351
+ "type": "string"
352
+ }
353
+ ],
354
+ "stateMutability": "view",
355
+ "type": "function"
356
+ },
357
+ {
358
+ "inputs": [],
359
+ "name": "totalSupply",
360
+ "outputs": [
361
+ {
362
+ "internalType": "uint256",
363
+ "name": "",
364
+ "type": "uint256"
365
+ }
366
+ ],
367
+ "stateMutability": "view",
368
+ "type": "function"
369
+ },
370
+ {
371
+ "inputs": [
372
+ {
373
+ "internalType": "address",
374
+ "name": "_from",
375
+ "type": "address"
376
+ },
377
+ {
378
+ "internalType": "address",
379
+ "name": "_to",
380
+ "type": "address"
381
+ },
382
+ {
383
+ "internalType": "uint256",
384
+ "name": "_tokenId",
385
+ "type": "uint256"
386
+ }
387
+ ],
388
+ "name": "transferFrom",
389
+ "outputs": [],
390
+ "stateMutability": "nonpayable",
391
+ "type": "function"
392
+ }
393
+ ]
@@ -9,6 +9,7 @@ var _chainList = require("@subwallet/chain-list");
9
9
  var _types = require("@subwallet/chain-list/types");
10
10
  var _constants = require("@subwallet/extension-base/services/chain-service/constants");
11
11
  var _EvmChainHandler = require("@subwallet/extension-base/services/chain-service/handler/EvmChainHandler");
12
+ var _MantaPrivateHandler = require("@subwallet/extension-base/services/chain-service/handler/manta/MantaPrivateHandler");
12
13
  var _SubstrateChainHandler = require("@subwallet/extension-base/services/chain-service/handler/SubstrateChainHandler");
13
14
  var _types2 = require("@subwallet/extension-base/services/chain-service/handler/types");
14
15
  var _types3 = require("@subwallet/extension-base/services/chain-service/types");
@@ -29,6 +30,10 @@ class ChainService {
29
30
  };
30
31
  lockChainInfoMap = false; // prevent unwanted changes (edit, enable, disable) to chainInfoMap
31
32
 
33
+ get mantaPay() {
34
+ return this.mantaChainHandler;
35
+ }
36
+
32
37
  // TODO: consider BehaviorSubject
33
38
  chainInfoMapSubject = new _rxjs.Subject();
34
39
  chainStateMapSubject = new _rxjs.Subject();
@@ -42,6 +47,10 @@ class ChainService {
42
47
  constructor(dbService, eventService) {
43
48
  this.dbService = dbService;
44
49
  this.eventService = eventService;
50
+ this.substrateChainHandler = new _SubstrateChainHandler.SubstrateChainHandler();
51
+ this.evmChainHandler = new _EvmChainHandler.EvmChainHandler();
52
+ this.mantaChainHandler = new _MantaPrivateHandler.MantaPrivateHandler(dbService);
53
+ this.chainInfoMapSubject.next(this.dataMap.chainInfoMap);
45
54
  this.chainStateMapSubject.next(this.dataMap.chainStateMap);
46
55
  this.chainInfoMapSubject.next(this.dataMap.chainInfoMap);
47
56
  this.assetRegistrySubject.next(this.dataMap.assetRegistry);
@@ -225,6 +234,15 @@ class ChainService {
225
234
  getAssetBySlug(slug) {
226
235
  return this.getAssetRegistry()[slug];
227
236
  }
237
+ getMantaZkAssets(chain) {
238
+ const result = {};
239
+ Object.values(this.getAssetRegistry()).forEach(chainAsset => {
240
+ if (chainAsset.originChain === chain && (0, _utils._isAssetFungibleToken)(chainAsset) && chainAsset.symbol.startsWith(_constants._ZK_ASSET_PREFIX)) {
241
+ result[chainAsset.slug] = chainAsset;
242
+ }
243
+ });
244
+ return result;
245
+ }
228
246
  getFungibleTokensByChain(chainSlug) {
229
247
  let checkActive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
230
248
  const result = {};
@@ -415,11 +433,21 @@ class ChainService {
415
433
  }
416
434
  };
417
435
  if (chainInfo.substrateInfo !== null && chainInfo.substrateInfo !== undefined) {
418
- const chainApi = await this.substrateChainHandler.initApi(chainInfo.slug, endpoint, {
419
- providerName,
420
- onUpdateStatus
421
- });
422
- this.substrateChainHandler.setSubstrateApi(chainInfo.slug, chainApi);
436
+ if (_constants._MANTA_ZK_CHAIN_GROUP.includes(chainInfo.slug)) {
437
+ const apiPromise = await this.mantaChainHandler.initMantaPay(endpoint, chainInfo.slug);
438
+ const chainApi = await this.substrateChainHandler.initApi(chainInfo.slug, endpoint, {
439
+ providerName,
440
+ externalApiPromise: apiPromise,
441
+ onUpdateStatus
442
+ });
443
+ this.substrateChainHandler.setSubstrateApi(chainInfo.slug, chainApi);
444
+ } else {
445
+ const chainApi = await this.substrateChainHandler.initApi(chainInfo.slug, endpoint, {
446
+ providerName,
447
+ onUpdateStatus
448
+ });
449
+ this.substrateChainHandler.setSubstrateApi(chainInfo.slug, chainApi);
450
+ }
423
451
  }
424
452
  if (chainInfo.evmInfo !== null && chainInfo.evmInfo !== undefined) {
425
453
  const chainApi = await this.evmChainHandler.initApi(chainInfo.slug, endpoint, {
@@ -1179,6 +1207,27 @@ class ChainService {
1179
1207
  });
1180
1208
  this.store.set('AssetSetting', assetSettings);
1181
1209
  }
1210
+ setMantaZkAssetSettings(visible) {
1211
+ const zkAssetSettings = {};
1212
+ Object.values(this.dataMap.assetRegistry).forEach(asset => {
1213
+ if ((0, _utils._isMantaZkAsset)(asset)) {
1214
+ zkAssetSettings[asset.slug] = {
1215
+ visible
1216
+ };
1217
+ }
1218
+ });
1219
+ this.store.get('AssetSetting', storedAssetSettings => {
1220
+ const newAssetSettings = {
1221
+ ...storedAssetSettings,
1222
+ ...zkAssetSettings
1223
+ };
1224
+ this.store.set('AssetSetting', newAssetSettings);
1225
+ this.assetSettingSubject.next(newAssetSettings);
1226
+ Object.keys(zkAssetSettings).forEach(slug => {
1227
+ this.eventService.emit('asset.updateState', slug);
1228
+ });
1229
+ });
1230
+ }
1182
1231
  async getStoreAssetSettings() {
1183
1232
  return new Promise(resolve => {
1184
1233
  this.store.get('AssetSetting', resolve);
@@ -51,6 +51,7 @@ exports._isCustomProvider = _isCustomProvider;
51
51
  exports._isEqualContractAddress = _isEqualContractAddress;
52
52
  exports._isEqualSmartContractAsset = _isEqualSmartContractAsset;
53
53
  exports._isLocalToken = _isLocalToken;
54
+ exports._isMantaZkAsset = _isMantaZkAsset;
54
55
  exports._isNativeToken = _isNativeToken;
55
56
  exports._isNativeTokenBySlug = _isNativeTokenBySlug;
56
57
  exports._isPureEvmChain = _isPureEvmChain;
@@ -67,6 +68,7 @@ exports._parseAssetRefKey = _parseAssetRefKey;
67
68
  exports._parseMetadataForSmartContractAsset = _parseMetadataForSmartContractAsset;
68
69
  exports.findChainInfoByHalfGenesisHash = exports.findChainInfoByChainId = void 0;
69
70
  var _types = require("@subwallet/chain-list/types");
71
+ var _constants = require("@subwallet/extension-base/services/chain-service/constants");
70
72
  var _types2 = require("@subwallet/extension-base/services/chain-service/types");
71
73
  var _utilCrypto = require("@polkadot/util-crypto");
72
74
  // Copyright 2019-2022 @subwallet/extension-base
@@ -424,4 +426,7 @@ const findChainInfoByChainId = (chainMap, chainId) => {
424
426
  }
425
427
  return null;
426
428
  };
427
- exports.findChainInfoByChainId = findChainInfoByChainId;
429
+ exports.findChainInfoByChainId = findChainInfoByChainId;
430
+ function _isMantaZkAsset(chainAsset) {
431
+ return _constants._MANTA_ZK_CHAIN_GROUP.includes(chainAsset.originChain) && chainAsset.symbol.startsWith(_constants._ZK_ASSET_PREFIX);
432
+ }
@@ -7,5 +7,7 @@ exports.COMMON_RELOAD_EVENTS = void 0;
7
7
  // Copyright 2019-2022 @subwallet/extension-base
8
8
  // SPDX-License-Identifier: Apache-2.0
9
9
 
10
- const COMMON_RELOAD_EVENTS = ['account.updateCurrent', 'asset.updateState', 'account.add', 'chain.updateState', 'account.remove', 'chain.add'];
10
+ const COMMON_RELOAD_EVENTS = ['account.updateCurrent', 'asset.updateState', 'account.add', 'chain.updateState', 'account.remove', 'chain.add', 'mantaPay.initSync',
11
+ // TODO: re-check this
12
+ 'mantaPay.enable'];
11
13
  exports.COMMON_RELOAD_EVENTS = COMMON_RELOAD_EVENTS;
@@ -9,6 +9,7 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
9
9
  var _databases = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/databases"));
10
10
  var _dbStores = require("@subwallet/extension-base/services/storage-service/db-stores");
11
11
  var _ChainStakingMetadata = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/ChainStakingMetadata"));
12
+ var _MantaPay = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/MantaPay"));
12
13
  var _NominatorMetadata = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/NominatorMetadata"));
13
14
  var _utils = require("@subwallet/extension-base/utils");
14
15
  var _util = require("@polkadot/util");
@@ -39,7 +40,8 @@ class DatabaseService {
39
40
  asset: new _dbStores.AssetStore(this._db.asset),
40
41
  // staking
41
42
  chainStakingMetadata: new _ChainStakingMetadata.default(this._db.chainStakingMetadata),
42
- nominatorMetadata: new _NominatorMetadata.default(this._db.nominatorMetadata)
43
+ nominatorMetadata: new _NominatorMetadata.default(this._db.nominatorMetadata),
44
+ mantaPay: new _MantaPay.default(this._db.mantaPay)
43
45
  };
44
46
  }
45
47
  async updatePriceStore(priceData) {
@@ -237,5 +239,33 @@ class DatabaseService {
237
239
  });
238
240
  });
239
241
  }
242
+ async setMantaPayData(data) {
243
+ await this._db.mantaPay.put(data); // just override if exist
244
+ }
245
+
246
+ async updateMantaPayData(key, data) {
247
+ await this._db.mantaPay.update(key, data); // just override if exist
248
+ }
249
+
250
+ async getMantaPayData(key) {
251
+ return this._db.mantaPay.get({
252
+ key
253
+ });
254
+ }
255
+ async deleteMantaPayConfig(key) {
256
+ return this.stores.mantaPay.deleteRecord(key);
257
+ }
258
+ subscribeMantaPayConfig(chain, callback) {
259
+ this.stores.mantaPay.subscribeMantaPayConfig(chain).subscribe({
260
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
261
+ next: data => callback && callback(data)
262
+ });
263
+ }
264
+ async getMantaPayConfig(chain) {
265
+ return this.stores.mantaPay.getConfig(chain);
266
+ }
267
+ async getMantaPayFirstConfig(chain) {
268
+ return this.stores.mantaPay.getFirstConfig(chain);
269
+ }
240
270
  }
241
271
  exports.default = DatabaseService;
@@ -36,6 +36,9 @@ class KoniDatabase extends _dexie.default {
36
36
  this.conditionalVersion(2, {
37
37
  metadata: 'genesisHash, chain'
38
38
  });
39
+ this.conditionalVersion(3, {
40
+ mantaPay: 'key, chain'
41
+ });
39
42
  }
40
43
  conditionalVersion(version, schema, upgrade) {
41
44
  if (this.schemaVersion != null && this.schemaVersion < version) {
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _BaseStore = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/BaseStore"));
9
+ var _dexie = require("dexie");
10
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
11
+ // SPDX-License-Identifier: Apache-2.0
12
+
13
+ class MantaPayStore extends _BaseStore.default {
14
+ async getAll() {
15
+ return this.table.toArray();
16
+ }
17
+ subscribeMantaPayConfig(chain) {
18
+ return (0, _dexie.liveQuery)(
19
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return
20
+ () => this.table.where({
21
+ chain
22
+ }).filter(data => (data === null || data === void 0 ? void 0 : data.key) && (data === null || data === void 0 ? void 0 : data.key.startsWith('config'))).toArray());
23
+ }
24
+ getConfig(chain) {
25
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return
26
+ return this.table.where({
27
+ chain
28
+ }).filter(data => (data === null || data === void 0 ? void 0 : data.key) && (data === null || data === void 0 ? void 0 : data.key.startsWith('config'))).toArray();
29
+ }
30
+ getFirstConfig(chain) {
31
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return
32
+ return this.table.where({
33
+ chain
34
+ }).filter(data => (data === null || data === void 0 ? void 0 : data.key) && (data === null || data === void 0 ? void 0 : data.key.startsWith('config'))).first();
35
+ }
36
+ deleteRecord(key) {
37
+ return this.table.where('key').equals(key).delete();
38
+ }
39
+ }
40
+ exports.default = MantaPayStore;
@@ -97,6 +97,18 @@ Object.keys(_environment).forEach(function (key) {
97
97
  }
98
98
  });
99
99
  });
100
+ var _lazy = require("./lazy");
101
+ Object.keys(_lazy).forEach(function (key) {
102
+ if (key === "default" || key === "__esModule") return;
103
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
104
+ if (key in exports && exports[key] === _lazy[key]) return;
105
+ Object.defineProperty(exports, key, {
106
+ enumerable: true,
107
+ get: function () {
108
+ return _lazy[key];
109
+ }
110
+ });
111
+ });
100
112
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
101
113
  // SPDX-License-Identifier: Apache-2.0
102
114