@subwallet/extension-base 1.1.68-2 → 1.2.1
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 +3 -1
- package/background/handlers/State.d.ts +1 -78
- package/background/handlers/State.js +1 -428
- package/background/types.d.ts +1 -0
- package/cjs/background/handlers/State.js +1 -456
- package/cjs/constants/storage.js +3 -1
- package/cjs/koni/api/dotsama/crowdloan.js +1 -2
- package/cjs/koni/api/nft/acala_nft/index.js +1 -3
- package/cjs/koni/api/nft/assethub_nft/index.js +1 -3
- package/cjs/koni/api/nft/assethub_unique/index.js +1 -3
- package/cjs/koni/api/nft/bit.country/index.js +4 -6
- package/cjs/koni/api/nft/config.js +1 -8
- package/cjs/koni/api/nft/evm_nft/index.js +1 -3
- package/cjs/koni/api/nft/karura_nft/index.js +1 -3
- package/cjs/koni/api/nft/ordinal_nft/index.js +4 -3
- package/cjs/koni/api/nft/rmrk_nft/index.js +4 -6
- package/cjs/koni/api/nft/unique_network_nft/index.js +1 -3
- package/cjs/koni/api/nft/unique_nft/uniqueNftV2.js +1 -3
- package/cjs/koni/api/nft/vara_nft/index.js +1 -3
- package/cjs/koni/api/nft/wasm_nft/index.js +10 -17
- package/cjs/koni/api/staking/bonding/astar.js +2 -4
- package/cjs/koni/api/staking/subsquidStaking.js +9 -12
- package/cjs/koni/api/subquery/subquery.js +1 -3
- package/cjs/koni/background/handlers/Extension.js +39 -15
- package/cjs/koni/background/handlers/Mobile.js +7 -4
- package/cjs/koni/background/handlers/State.js +68 -12
- package/cjs/koni/background/handlers/Tabs.js +4 -1
- package/cjs/koni/background/handlers/index.js +71 -71
- package/cjs/koni/background/subscription.js +7 -6
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/campaign-service/helpers.js +3 -1
- package/cjs/services/chain-service/index.js +36 -27
- package/cjs/services/chain-service/utils/patch.js +1 -3
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +1 -2
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +2 -3
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +2 -3
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +1 -2
- package/cjs/services/earning-service/handlers/native-staking/astar.js +3 -4
- package/cjs/services/event-service/index.js +0 -1
- package/cjs/services/history-service/subsquid-multi-chain-history.js +1 -3
- package/cjs/services/keyring-service/index.js +22 -0
- package/cjs/services/migration-service/scripts/MigrateRemoveGenesisHash.js +28 -0
- package/cjs/services/migration-service/scripts/index.js +3 -1
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +16 -21
- package/cjs/services/notification-service/NotificationService.js +3 -1
- package/cjs/services/price-service/coingecko.js +6 -7
- package/cjs/services/price-service/index.js +7 -3
- package/cjs/services/request-service/handler/PopupHandler.js +14 -15
- package/cjs/services/setting-service/SettingService.js +4 -1
- package/cjs/services/setting-service/constants.js +1 -1
- package/cjs/services/setting-service/i18n/i18n.js +2 -4
- package/cjs/services/storage-service/DatabaseService.js +1 -1
- package/cjs/services/storage-service/databases/index.js +14 -1
- package/cjs/services/storage-service/db-stores/KeyValue.js +13 -0
- package/cjs/services/subscan-service/index.js +11 -3
- package/cjs/services/transaction-service/index.js +3 -3
- package/cjs/services/wallet-connect-service/constants.js +2 -2
- package/cjs/services/wallet-connect-service/helpers.js +1 -4
- package/cjs/services/wallet-connect-service/index.js +50 -33
- package/cjs/storage/index.js +120 -23
- package/cjs/types/common/index.js +16 -0
- package/cjs/types/common/storage.js +1 -0
- package/cjs/types/index.js +11 -0
- package/cjs/utils/environment.js +1 -1
- package/cjs/utils/eth/parseTransaction/index.js +8 -10
- package/cjs/utils/fetch.js +55 -0
- package/cjs/utils/fetchStaticCache.js +2 -4
- package/cjs/utils/fetchStaticData.js +7 -4
- package/cjs/utils/index.js +24 -0
- package/cjs/utils/reportError.js +1 -3
- package/constants/storage.d.ts +1 -0
- package/constants/storage.js +1 -0
- package/koni/api/dotsama/crowdloan.js +2 -3
- package/koni/api/nft/acala_nft/index.js +0 -1
- package/koni/api/nft/assethub_nft/index.js +0 -1
- package/koni/api/nft/assethub_unique/index.js +0 -1
- package/koni/api/nft/bit.country/index.js +0 -1
- package/koni/api/nft/config.js +1 -7
- package/koni/api/nft/evm_nft/index.js +0 -1
- package/koni/api/nft/karura_nft/index.js +0 -1
- package/koni/api/nft/ordinal_nft/index.d.ts +2 -0
- package/koni/api/nft/ordinal_nft/index.js +4 -3
- package/koni/api/nft/rmrk_nft/index.js +0 -1
- package/koni/api/nft/unique_network_nft/index.js +0 -1
- package/koni/api/nft/unique_nft/uniqueNftV2.js +0 -1
- package/koni/api/nft/vara_nft/index.js +0 -1
- package/koni/api/nft/wasm_nft/index.js +4 -10
- package/koni/api/staking/bonding/astar.js +0 -1
- package/koni/api/staking/subsquidStaking.js +10 -12
- package/koni/api/subquery/subquery.js +0 -1
- package/koni/background/handlers/Extension.d.ts +4 -0
- package/koni/background/handlers/Extension.js +29 -8
- package/koni/background/handlers/Mobile.js +9 -6
- package/koni/background/handlers/State.d.ts +6 -1
- package/koni/background/handlers/State.js +68 -12
- package/koni/background/handlers/Tabs.js +4 -1
- package/koni/background/handlers/index.d.ts +13 -7
- package/koni/background/handlers/index.js +67 -62
- package/koni/background/subscription.js +2 -1
- package/package.json +35 -28
- package/packageInfo.js +1 -1
- package/services/campaign-service/helpers.js +3 -1
- package/services/chain-service/index.js +36 -28
- package/services/chain-service/utils/patch.js +0 -1
- package/services/earning-service/handlers/liquid-staking/acala.js +0 -1
- package/services/earning-service/handlers/liquid-staking/bifrost-manta.js +0 -1
- package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -1
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -1
- package/services/earning-service/handlers/native-staking/astar.js +0 -1
- package/services/event-service/index.js +0 -1
- package/services/history-service/subsquid-multi-chain-history.js +0 -1
- package/services/keyring-service/index.d.ts +1 -0
- package/services/keyring-service/index.js +19 -0
- package/services/migration-service/scripts/MigrateRemoveGenesisHash.d.ts +4 -0
- package/services/migration-service/scripts/MigrateRemoveGenesisHash.js +20 -0
- package/services/migration-service/scripts/index.js +3 -1
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +17 -21
- package/services/notification-service/NotificationService.js +3 -1
- package/services/price-service/coingecko.js +6 -6
- package/services/price-service/index.js +7 -3
- package/services/request-service/handler/PopupHandler.d.ts +1 -1
- package/services/request-service/handler/PopupHandler.js +14 -15
- package/services/setting-service/SettingService.d.ts +1 -0
- package/services/setting-service/SettingService.js +4 -1
- package/services/setting-service/constants.js +2 -2
- package/services/setting-service/i18n/i18n.js +2 -4
- package/services/storage-service/DatabaseService.js +1 -1
- package/services/storage-service/databases/index.d.ts +8 -0
- package/services/storage-service/databases/index.js +13 -1
- package/services/storage-service/db-stores/KeyValue.d.ts +4 -0
- package/services/storage-service/db-stores/KeyValue.js +5 -0
- package/services/subscan-service/index.d.ts +2 -0
- package/services/subscan-service/index.js +10 -1
- package/services/transaction-service/index.js +4 -4
- package/services/wallet-connect-service/constants.js +3 -3
- package/services/wallet-connect-service/helpers.js +1 -4
- package/services/wallet-connect-service/index.d.ts +2 -0
- package/services/wallet-connect-service/index.js +42 -31
- package/storage/index.d.ts +19 -9
- package/storage/index.js +115 -23
- package/types/common/index.d.ts +1 -0
- package/types/common/index.js +4 -0
- package/types/common/storage.d.ts +4 -0
- package/types/common/storage.js +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.js +1 -0
- package/utils/environment.js +1 -1
- package/utils/eth/parseTransaction/index.js +8 -10
- package/utils/fetch.d.ts +8 -0
- package/utils/fetch.js +44 -0
- package/utils/fetchStaticCache.js +2 -3
- package/utils/fetchStaticData.d.ts +1 -1
- package/utils/fetchStaticData.js +7 -4
- package/utils/index.d.ts +2 -0
- package/utils/index.js +2 -0
- package/utils/reportError.js +0 -1
- package/background/handlers/Extension.d.ts +0 -55
- package/background/handlers/Extension.js +0 -601
- package/background/handlers/Tabs.d.ts +0 -24
- package/background/handlers/Tabs.js +0 -194
- package/background/handlers/index.d.ts +0 -3
- package/background/handlers/index.js +0 -45
- package/cjs/background/handlers/Extension.js +0 -642
- package/cjs/background/handlers/Tabs.js +0 -222
- package/cjs/background/handlers/index.js +0 -54
- package/cjs/koni/background/events.js +0 -14
- package/koni/background/events.d.ts +0 -1
- package/koni/background/events.js +0 -7
|
@@ -32,7 +32,6 @@ var _PopupHandler = require("@subwallet/extension-base/services/request-service/
|
|
|
32
32
|
var _SettingService = _interopRequireDefault(require("@subwallet/extension-base/services/setting-service/SettingService"));
|
|
33
33
|
var _DatabaseService = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/DatabaseService"));
|
|
34
34
|
var _subscanService = require("@subwallet/extension-base/services/subscan-service");
|
|
35
|
-
var _subscanChainMap = require("@subwallet/extension-base/services/subscan-service/subscan-chain-map");
|
|
36
35
|
var _swapService = require("@subwallet/extension-base/services/swap-service");
|
|
37
36
|
var _transactionService = _interopRequireDefault(require("@subwallet/extension-base/services/transaction-service"));
|
|
38
37
|
var _walletConnectService = _interopRequireDefault(require("@subwallet/extension-base/services/wallet-connect-service"));
|
|
@@ -101,7 +100,7 @@ class KoniState {
|
|
|
101
100
|
this.keyringService = new _keyringService.KeyringService(this.eventService);
|
|
102
101
|
this.notificationService = new _NotificationService.default();
|
|
103
102
|
this.chainService = new _chainService.ChainService(this.dbService, this.eventService);
|
|
104
|
-
this.subscanService =
|
|
103
|
+
this.subscanService = _subscanService.SubscanService.getInstance();
|
|
105
104
|
this.settingService = new _SettingService.default();
|
|
106
105
|
this.requestService = new _requestService.default(this.chainService, this.settingService, this.keyringService);
|
|
107
106
|
this.priceService = new _priceService.PriceService(this.dbService, this.eventService, this.chainService);
|
|
@@ -121,7 +120,7 @@ class KoniState {
|
|
|
121
120
|
this.logger = (0, _util.logger)('State');
|
|
122
121
|
|
|
123
122
|
// Init state
|
|
124
|
-
if (_utils3.
|
|
123
|
+
if (_utils3.targetIsWeb) {
|
|
125
124
|
this.init().catch(console.error);
|
|
126
125
|
}
|
|
127
126
|
}
|
|
@@ -1366,15 +1365,57 @@ class KoniState {
|
|
|
1366
1365
|
async completeConfirmation(request) {
|
|
1367
1366
|
return await this.requestService.completeConfirmation(request);
|
|
1368
1367
|
}
|
|
1369
|
-
|
|
1370
|
-
const
|
|
1368
|
+
async onMV3Update() {
|
|
1369
|
+
const migrationStatus = await _storage.SWStorage.instance.getItem('mv3_migration');
|
|
1370
|
+
if (!migrationStatus || migrationStatus !== 'done') {
|
|
1371
|
+
// Open migration tab
|
|
1372
|
+
const url = `${chrome.runtime.getURL('index.html')}#/mv3-migration`;
|
|
1373
|
+
await (0, _PopupHandler.openPopup)(url);
|
|
1374
|
+
|
|
1375
|
+
// migrateMV3LocalStorage will be called when user open migration tab with data from localStorage on frontend
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
|
|
1379
|
+
async migrateMV3LocalStorage(data) {
|
|
1380
|
+
try {
|
|
1381
|
+
const parsedData = JSON.parse(data);
|
|
1382
|
+
parsedData.mv3_migration = 'done';
|
|
1383
|
+
await _storage.SWStorage.instance.setMap(parsedData);
|
|
1384
|
+
|
|
1385
|
+
// Reload some services use SWStorage
|
|
1386
|
+
// wallet connect
|
|
1387
|
+
this.walletConnectService.initClient().catch(console.error);
|
|
1388
|
+
return true;
|
|
1389
|
+
} catch (e) {
|
|
1390
|
+
console.error(e);
|
|
1391
|
+
return false;
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
async onMV3Install() {
|
|
1395
|
+
await _storage.SWStorage.instance.setItem('mv3_migration', 'done');
|
|
1396
|
+
|
|
1397
|
+
// Open expand page
|
|
1398
|
+
const url = `${chrome.runtime.getURL('index.html')}#/welcome`;
|
|
1399
|
+
(0, _helpers.withErrorLog)(() => chrome.tabs.create({
|
|
1400
|
+
url
|
|
1401
|
+
}));
|
|
1402
|
+
}
|
|
1403
|
+
onInstallOrUpdate(details) {
|
|
1404
|
+
// Open mv3 migration window
|
|
1405
|
+
if (details.reason === 'install') {
|
|
1406
|
+
this.onMV3Install().catch(console.error);
|
|
1407
|
+
} else if (details.reason === 'update') {
|
|
1408
|
+
this.onMV3Update().catch(console.error);
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
async onHandleRemindExportAccount() {
|
|
1412
|
+
const remindStatus = await _storage.SWStorage.instance.getItem(_constants.REMIND_EXPORT_ACCOUNT);
|
|
1371
1413
|
if (!remindStatus || !remindStatus.includes('done')) {
|
|
1372
1414
|
const handleRemind = account => {
|
|
1373
1415
|
if (account.address !== '') {
|
|
1374
1416
|
// Open remind tab
|
|
1375
1417
|
const url = `${chrome.runtime.getURL('index.html')}#/remind-export-account`;
|
|
1376
|
-
(0, _PopupHandler.openPopup)(url);
|
|
1377
|
-
subscription.unsubscribe();
|
|
1418
|
+
(0, _PopupHandler.openPopup)(url).then(_util.noop).catch(console.error).finally(() => subscription.unsubscribe());
|
|
1378
1419
|
} else {
|
|
1379
1420
|
setTimeout(() => {
|
|
1380
1421
|
subscription.unsubscribe();
|
|
@@ -1384,8 +1425,22 @@ class KoniState {
|
|
|
1384
1425
|
const subscription = this.keyringService.currentAccountSubject.subscribe(handleRemind);
|
|
1385
1426
|
}
|
|
1386
1427
|
}
|
|
1428
|
+
async setStorageFromWS(_ref10) {
|
|
1429
|
+
let {
|
|
1430
|
+
key,
|
|
1431
|
+
value
|
|
1432
|
+
} = _ref10;
|
|
1433
|
+
try {
|
|
1434
|
+
const jsonData = JSON.stringify(value);
|
|
1435
|
+
await _storage.SWStorage.instance.setItem(key, jsonData);
|
|
1436
|
+
return true;
|
|
1437
|
+
} catch (e) {
|
|
1438
|
+
console.error(e);
|
|
1439
|
+
return false;
|
|
1440
|
+
}
|
|
1441
|
+
}
|
|
1387
1442
|
onCheckToRemindUser() {
|
|
1388
|
-
this.onHandleRemindExportAccount();
|
|
1443
|
+
this.onHandleRemindExportAccount().catch(console.error);
|
|
1389
1444
|
}
|
|
1390
1445
|
onInstall() {
|
|
1391
1446
|
// const singleModes = Object.values(_PREDEFINED_SINGLE_MODES);
|
|
@@ -1472,7 +1527,6 @@ class KoniState {
|
|
|
1472
1527
|
this.waitSleeping = null;
|
|
1473
1528
|
}
|
|
1474
1529
|
async _start() {
|
|
1475
|
-
let isWakeup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
1476
1530
|
// Wait sleep finish before start to avoid conflict
|
|
1477
1531
|
this.generalStatus === _types.ServiceStatus.STOPPING && this.waitSleeping && (await this.waitSleeping);
|
|
1478
1532
|
|
|
@@ -1486,6 +1540,7 @@ class KoniState {
|
|
|
1486
1540
|
await this.waitStarting;
|
|
1487
1541
|
return;
|
|
1488
1542
|
}
|
|
1543
|
+
const isWakeup = this.generalStatus === _types.ServiceStatus.STOPPED;
|
|
1489
1544
|
const starting = (0, _promise.createPromiseHandler)();
|
|
1490
1545
|
this.generalStatus = _types.ServiceStatus.STARTING;
|
|
1491
1546
|
this.waitStarting = starting.promise;
|
|
@@ -1505,7 +1560,7 @@ class KoniState {
|
|
|
1505
1560
|
this.generalStatus = _types.ServiceStatus.STARTED;
|
|
1506
1561
|
}
|
|
1507
1562
|
async wakeup() {
|
|
1508
|
-
await this._start(
|
|
1563
|
+
await this._start();
|
|
1509
1564
|
}
|
|
1510
1565
|
cancelSubscription(id) {
|
|
1511
1566
|
if ((0, _subscriptions.isSubscriptionRunning)(id)) {
|
|
@@ -1594,6 +1649,7 @@ class KoniState {
|
|
|
1594
1649
|
await this.dbService.resetWallet(resetAll);
|
|
1595
1650
|
this.accountRefStore.set('refList', []);
|
|
1596
1651
|
if (resetAll) {
|
|
1652
|
+
await this.priceService.setPriceCurrency(DEFAULT_CURRENCY);
|
|
1597
1653
|
this.settingService.resetWallet();
|
|
1598
1654
|
await this.priceService.setPriceCurrency(DEFAULT_CURRENCY);
|
|
1599
1655
|
}
|
|
@@ -1761,12 +1817,12 @@ class KoniState {
|
|
|
1761
1817
|
specVersion: parseInt((metadata === null || metadata === void 0 ? void 0 : metadata.specVersion) || '0')
|
|
1762
1818
|
};
|
|
1763
1819
|
}
|
|
1764
|
-
getCrowdloanContributions(
|
|
1820
|
+
getCrowdloanContributions(_ref11) {
|
|
1765
1821
|
let {
|
|
1766
1822
|
address,
|
|
1767
1823
|
page,
|
|
1768
1824
|
relayChain
|
|
1769
|
-
} =
|
|
1825
|
+
} = _ref11;
|
|
1770
1826
|
return this.subscanService.getCrowdloanContributions(relayChain, address, page);
|
|
1771
1827
|
}
|
|
1772
1828
|
}
|
|
@@ -217,7 +217,7 @@ class KoniTabs {
|
|
|
217
217
|
redirectPhishingLanding(phishingWebsite) {
|
|
218
218
|
const nonFragment = phishingWebsite.split('#')[0];
|
|
219
219
|
const encodedWebsite = encodeURIComponent(nonFragment);
|
|
220
|
-
const url = `${chrome.
|
|
220
|
+
const url = `${chrome.runtime.getURL('index.html')}#${_defaults.PHISHING_PAGE_REDIRECT}/${encodedWebsite}`;
|
|
221
221
|
chrome.tabs.query({
|
|
222
222
|
url: nonFragment
|
|
223
223
|
}, tabs => {
|
|
@@ -978,6 +978,9 @@ class KoniTabs {
|
|
|
978
978
|
if (type === 'pub(phishing.redirectIfDenied)') {
|
|
979
979
|
return this.redirectIfPhishing(url);
|
|
980
980
|
}
|
|
981
|
+
|
|
982
|
+
// Wait for account ready and chain ready
|
|
983
|
+
await Promise.all([this.#koniState.eventService.waitAccountReady, this.#koniState.eventService.waitChainReady]);
|
|
981
984
|
if (type !== 'pub(authorize.tabV2)' && !this.isEvmPublicRequest(type, request)) {
|
|
982
985
|
await this.#koniState.ensureUrlAuthorizedV2(url).catch(e => {
|
|
983
986
|
if (type.startsWith('evm')) {
|
|
@@ -4,10 +4,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
8
|
-
exports.tabs = exports.state = exports.nftHandler = exports.mobile = exports.extension = void 0;
|
|
7
|
+
exports.SWHandler = void 0;
|
|
9
8
|
var _defaults = require("@subwallet/extension-base/defaults");
|
|
10
|
-
var _nft = require("@subwallet/extension-base/koni/api/nft");
|
|
11
9
|
var _Extension = _interopRequireDefault(require("@subwallet/extension-base/koni/background/handlers/Extension"));
|
|
12
10
|
var _Mobile = _interopRequireDefault(require("@subwallet/extension-base/koni/background/handlers/Mobile"));
|
|
13
11
|
var _State = _interopRequireDefault(require("@subwallet/extension-base/koni/background/handlers/State"));
|
|
@@ -16,78 +14,80 @@ var _util = require("@polkadot/util");
|
|
|
16
14
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
17
15
|
// SPDX-License-Identifier: Apache-2.0
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
// const migration = new Migration(state);
|
|
47
|
-
//
|
|
48
|
-
// migration.run().catch((err) => console.warn(err));
|
|
49
|
-
// }).catch((e) => console.warn(e));
|
|
50
|
-
exports.nftHandler = nftHandler;
|
|
51
|
-
function handlers(_ref, port) {
|
|
52
|
-
let {
|
|
53
|
-
id,
|
|
54
|
-
message,
|
|
55
|
-
request
|
|
56
|
-
} = _ref;
|
|
57
|
-
let extensionPortName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _defaults.PORT_EXTENSION;
|
|
58
|
-
const isMobile = port.name === _defaults.PORT_MOBILE;
|
|
59
|
-
const isExtension = port.name === extensionPortName;
|
|
60
|
-
const sender = port.sender;
|
|
61
|
-
const from = isExtension ? 'extension' : sender.url || sender.tab && sender.tab.url || '<unknown>';
|
|
62
|
-
const source = `${from}: ${id}: ${message}`;
|
|
63
|
-
|
|
64
|
-
// console.log(` [in] ${source}`); // :: ${JSON.stringify(request)}`);
|
|
65
|
-
|
|
66
|
-
const promise = isMobile ? mobile.handle(id, message, request, port) : isExtension ? extension.handle(id, message, request, port) : tabs.handle(id, message, request, from, port);
|
|
67
|
-
promise.then(response => {
|
|
68
|
-
// console.log(`[out] ${source}`); // :: ${JSON.stringify(response)}`);
|
|
69
|
-
|
|
70
|
-
// between the start and the end of the promise, the user may have closed
|
|
71
|
-
// the tab, in which case port will be undefined
|
|
72
|
-
(0, _util.assert)(port, 'Port has been disconnected');
|
|
73
|
-
port.postMessage({
|
|
17
|
+
class SWHandler {
|
|
18
|
+
get state() {
|
|
19
|
+
if (!this._state) {
|
|
20
|
+
this._state = new _State.default();
|
|
21
|
+
}
|
|
22
|
+
return this._state;
|
|
23
|
+
}
|
|
24
|
+
get extensionHandler() {
|
|
25
|
+
if (!this._extensionHandler) {
|
|
26
|
+
this._extensionHandler = new _Extension.default(this.state);
|
|
27
|
+
}
|
|
28
|
+
return this._extensionHandler;
|
|
29
|
+
}
|
|
30
|
+
get tabHandler() {
|
|
31
|
+
if (!this._tabsHandler) {
|
|
32
|
+
this._tabsHandler = new _Tabs.default(this.state);
|
|
33
|
+
}
|
|
34
|
+
return this._tabsHandler;
|
|
35
|
+
}
|
|
36
|
+
get mobileHandler() {
|
|
37
|
+
if (!this._mobileHandler) {
|
|
38
|
+
this._mobileHandler = new _Mobile.default(this.state);
|
|
39
|
+
}
|
|
40
|
+
return this._mobileHandler;
|
|
41
|
+
}
|
|
42
|
+
handle(_ref, port) {
|
|
43
|
+
let {
|
|
74
44
|
id,
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
45
|
+
message,
|
|
46
|
+
request
|
|
47
|
+
} = _ref;
|
|
48
|
+
const isMobile = port.name === _defaults.PORT_MOBILE;
|
|
49
|
+
const isExtension = port.name === _defaults.PORT_EXTENSION;
|
|
50
|
+
const sender = port.sender;
|
|
51
|
+
// console.debug('Handle', message);
|
|
52
|
+
|
|
53
|
+
const from = isExtension ? 'extension' : (sender === null || sender === void 0 ? void 0 : sender.url) || (sender === null || sender === void 0 ? void 0 : sender.tab) && (sender === null || sender === void 0 ? void 0 : sender.tab.url) || '<unknown>';
|
|
54
|
+
const source = `${from}: ${id}: ${message}`;
|
|
55
|
+
const promise = isMobile ? this.mobileHandler.handle(id, message, request, port) : isExtension ? this.extensionHandler.handle(id, message, request, port) : this.tabHandler.handle(id, message, request, from, port);
|
|
56
|
+
promise.then(response => {
|
|
57
|
+
// console.log(`[out] ${source}`); // :: ${JSON.stringify(response)}`);
|
|
81
58
|
|
|
82
|
-
|
|
83
|
-
|
|
59
|
+
// between the start and the end of the promise, the user may have closed
|
|
60
|
+
// the tab, in which case port will be undefined
|
|
61
|
+
(0, _util.assert)(port, 'Port has been disconnected');
|
|
84
62
|
port.postMessage({
|
|
85
|
-
error: error.message,
|
|
86
|
-
errorCode: error.code,
|
|
87
|
-
errorData: error.data,
|
|
88
63
|
id,
|
|
64
|
+
response,
|
|
89
65
|
sender: 'BACKGROUND'
|
|
90
66
|
});
|
|
67
|
+
}).catch(error => {
|
|
68
|
+
console.error(error);
|
|
69
|
+
console.log(`[err] ${source}:: ${error.message}`);
|
|
70
|
+
|
|
71
|
+
// only send message back to port if it's still connected
|
|
72
|
+
if (port) {
|
|
73
|
+
port.postMessage({
|
|
74
|
+
error: error.message,
|
|
75
|
+
errorCode: error.code,
|
|
76
|
+
errorData: error.data,
|
|
77
|
+
id,
|
|
78
|
+
sender: 'BACKGROUND'
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Singleton
|
|
85
|
+
|
|
86
|
+
static get instance() {
|
|
87
|
+
if (!SWHandler._instance) {
|
|
88
|
+
SWHandler._instance = new SWHandler();
|
|
91
89
|
}
|
|
92
|
-
|
|
93
|
-
}
|
|
90
|
+
return SWHandler._instance;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.SWHandler = SWHandler;
|
|
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.KoniSubscription = void 0;
|
|
7
7
|
var _crowdloan = require("@subwallet/extension-base/koni/api/dotsama/crowdloan");
|
|
8
|
-
var
|
|
8
|
+
var _nft = require("@subwallet/extension-base/koni/api/nft");
|
|
9
9
|
var _types = require("@subwallet/extension-base/services/event-service/types");
|
|
10
10
|
var _utils = require("@subwallet/extension-base/utils");
|
|
11
11
|
var _util = require("@polkadot/util");
|
|
12
12
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
13
13
|
// SPDX-License-Identifier: Apache-2.0
|
|
14
14
|
|
|
15
|
+
const nftHandler = new _nft.NftHandler();
|
|
15
16
|
class KoniSubscription {
|
|
16
17
|
subscriptionMap = {
|
|
17
18
|
crowdloan: undefined,
|
|
@@ -105,11 +106,11 @@ class KoniSubscription {
|
|
|
105
106
|
}
|
|
106
107
|
initNftSubscription(addresses, substrateApiMap, evmApiMap, smartContractNfts, chainInfoMap) {
|
|
107
108
|
var _this = this;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
nftHandler.setChainInfoMap(chainInfoMap);
|
|
110
|
+
nftHandler.setDotSamaApiMap(substrateApiMap);
|
|
111
|
+
nftHandler.setWeb3ApiMap(evmApiMap);
|
|
112
|
+
nftHandler.setAddresses(addresses);
|
|
113
|
+
nftHandler.handleNfts(smartContractNfts, function () {
|
|
113
114
|
return _this.state.updateNftData(...arguments);
|
|
114
115
|
}, function () {
|
|
115
116
|
return _this.state.setNftCollection(...arguments);
|
package/cjs/packageInfo.js
CHANGED
|
@@ -497,6 +497,7 @@ class ChainService {
|
|
|
497
497
|
needUpdateChainApiList,
|
|
498
498
|
storedChainInfoList
|
|
499
499
|
} = (0, _utils.updateLatestChainInfo)(this.dataMap, latestChainInfo);
|
|
500
|
+
console.log('here', needUpdateChainApiList, storedChainInfoList);
|
|
500
501
|
this.dbService.bulkUpdateChainStore(storedChainInfoList).catch(console.error);
|
|
501
502
|
this.updateChainSubscription();
|
|
502
503
|
needUpdateChainApiList.forEach(chainInfo => {
|
|
@@ -601,6 +602,12 @@ class ChainService {
|
|
|
601
602
|
visible: true
|
|
602
603
|
});
|
|
603
604
|
}
|
|
605
|
+
} else {
|
|
606
|
+
if (originChain === 'avail_mainnet') {
|
|
607
|
+
await this.updateAssetSetting(assetSlug, {
|
|
608
|
+
visible: true
|
|
609
|
+
});
|
|
610
|
+
}
|
|
604
611
|
}
|
|
605
612
|
}
|
|
606
613
|
}
|
|
@@ -666,22 +673,18 @@ class ChainService {
|
|
|
666
673
|
this.updateChainConnectionStatus(slug, status);
|
|
667
674
|
};
|
|
668
675
|
if (chainInfo.substrateInfo !== null && chainInfo.substrateInfo !== undefined) {
|
|
669
|
-
if (
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
}
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
onUpdateStatus
|
|
682
|
-
});
|
|
683
|
-
this.substrateChainHandler.setSubstrateApi(chainInfo.slug, chainApi);
|
|
684
|
-
}
|
|
676
|
+
// if (_MANTA_ZK_CHAIN_GROUP.includes(chainInfo.slug) && MODULE_SUPPORT.MANTA_ZK && this.mantaChainHandler) {
|
|
677
|
+
// const apiPromise = await this.mantaChainHandler?.initMantaPay(endpoint, chainInfo.slug);
|
|
678
|
+
// const chainApi = await this.substrateChainHandler.initApi(chainInfo.slug, endpoint, { providerName, externalApiPromise: apiPromise, onUpdateStatus });
|
|
679
|
+
//
|
|
680
|
+
// this.substrateChainHandler.setSubstrateApi(chainInfo.slug, chainApi);
|
|
681
|
+
// } else {
|
|
682
|
+
const chainApi = await this.substrateChainHandler.initApi(chainInfo.slug, endpoint, {
|
|
683
|
+
providerName,
|
|
684
|
+
onUpdateStatus
|
|
685
|
+
});
|
|
686
|
+
this.substrateChainHandler.setSubstrateApi(chainInfo.slug, chainApi);
|
|
687
|
+
// }
|
|
685
688
|
}
|
|
686
689
|
|
|
687
690
|
/**
|
|
@@ -1029,17 +1032,9 @@ class ChainService {
|
|
|
1029
1032
|
const storedAssetRegistry = await this.dbService.getAllAssetStore();
|
|
1030
1033
|
const latestAssetRegistry = filterAssetInfoMap(this.getChainInfoMap(), _chainList.ChainAssetMap);
|
|
1031
1034
|
const availableChains = Object.values(this.dataMap.chainInfoMap).filter(info => info.chainStatus === _types._ChainStatus.ACTIVE).map(chainInfo => chainInfo.slug);
|
|
1032
|
-
|
|
1033
|
-
// Fill out zk assets from latestAssetRegistry if not supported
|
|
1034
|
-
if (!_utils2.MODULE_SUPPORT.MANTA_ZK) {
|
|
1035
|
-
Object.keys(latestAssetRegistry).forEach(slug => {
|
|
1036
|
-
if ((0, _utils._isMantaZkAsset)(latestAssetRegistry[slug])) {
|
|
1037
|
-
delete latestAssetRegistry[slug];
|
|
1038
|
-
}
|
|
1039
|
-
});
|
|
1040
|
-
}
|
|
1035
|
+
let finalAssetRegistry = {};
|
|
1041
1036
|
if (storedAssetRegistry.length === 0) {
|
|
1042
|
-
|
|
1037
|
+
finalAssetRegistry = latestAssetRegistry;
|
|
1043
1038
|
} else {
|
|
1044
1039
|
const mergedAssetRegistry = latestAssetRegistry;
|
|
1045
1040
|
const parsedStoredAssetRegistry = {};
|
|
@@ -1081,9 +1076,23 @@ class ChainService {
|
|
|
1081
1076
|
deprecatedAssets.push(storedAssetInfo.slug);
|
|
1082
1077
|
}
|
|
1083
1078
|
}
|
|
1084
|
-
|
|
1079
|
+
finalAssetRegistry = mergedAssetRegistry;
|
|
1085
1080
|
await this.dbService.removeFromAssetStore(deprecatedAssets);
|
|
1086
1081
|
}
|
|
1082
|
+
|
|
1083
|
+
// Fill out zk assets from finalAssetRegistry if not supported
|
|
1084
|
+
if (!_utils2.MODULE_SUPPORT.MANTA_ZK) {
|
|
1085
|
+
const zkAssets = [];
|
|
1086
|
+
Object.entries(finalAssetRegistry).forEach(_ref14 => {
|
|
1087
|
+
let [slug, assets] = _ref14;
|
|
1088
|
+
if ((0, _utils._isMantaZkAsset)(assets)) {
|
|
1089
|
+
zkAssets.push(slug);
|
|
1090
|
+
delete finalAssetRegistry[slug];
|
|
1091
|
+
}
|
|
1092
|
+
});
|
|
1093
|
+
await this.dbService.removeFromAssetStore(zkAssets);
|
|
1094
|
+
}
|
|
1095
|
+
this.dataMap.assetRegistry = finalAssetRegistry;
|
|
1087
1096
|
}
|
|
1088
1097
|
updateChainStateMapSubscription() {
|
|
1089
1098
|
this.chainStateMapSubject.next(this.getChainStateMap());
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.fetchPatchData = fetchPatchData;
|
|
8
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
9
7
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
10
8
|
// SPDX-License-Identifier: Apache-2.0
|
|
11
9
|
|
|
@@ -15,7 +13,7 @@ const fetchDomain = PRODUCTION_BRANCHES.indexOf(branchName) > -1 ? 'https://chai
|
|
|
15
13
|
const ChainListVersion = '0.2.62';
|
|
16
14
|
async function fetchPatchData(slug) {
|
|
17
15
|
try {
|
|
18
|
-
const fetchPromise = (
|
|
16
|
+
const fetchPromise = fetch(`${fetchDomain}/patch/${ChainListVersion}/${slug}`);
|
|
19
17
|
const timeout = new Promise(resolve => {
|
|
20
18
|
const id = setTimeout(() => {
|
|
21
19
|
clearTimeout(id);
|
|
@@ -9,7 +9,6 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
|
9
9
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
10
10
|
var _constants = require("@subwallet/extension-base/services/earning-service/constants");
|
|
11
11
|
var _types = require("@subwallet/extension-base/types");
|
|
12
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
13
12
|
var _util = require("@polkadot/util");
|
|
14
13
|
var _base = _interopRequireDefault(require("./base"));
|
|
15
14
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
@@ -50,7 +49,7 @@ class AcalaLiquidStakingPoolHandler extends _base.default {
|
|
|
50
49
|
async getPoolStat() {
|
|
51
50
|
const substrateApi = await this.substrateApi.isReady;
|
|
52
51
|
const stakingMetaPromise = new Promise(function (resolve) {
|
|
53
|
-
(
|
|
52
|
+
fetch(GRAPHQL_API, {
|
|
54
53
|
method: 'POST',
|
|
55
54
|
headers: {
|
|
56
55
|
'Content-Type': 'application/json'
|
|
@@ -8,7 +8,6 @@ exports.default = void 0;
|
|
|
8
8
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
9
9
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
10
10
|
var _types = require("@subwallet/extension-base/types");
|
|
11
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
12
11
|
var _bifrost = _interopRequireDefault(require("./bifrost"));
|
|
13
12
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
14
13
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -38,14 +37,14 @@ class BifrostMantaLiquidStakingPoolHandler extends _bifrost.default {
|
|
|
38
37
|
async getPoolStat() {
|
|
39
38
|
const substrateApi = await this.substrateApi.isReady;
|
|
40
39
|
const stakingMetaPromise = new Promise(function (resolve) {
|
|
41
|
-
(
|
|
40
|
+
fetch(STATS_URL, {
|
|
42
41
|
method: 'GET'
|
|
43
42
|
}).then(res => {
|
|
44
43
|
resolve(res.json());
|
|
45
44
|
}).catch(console.error);
|
|
46
45
|
});
|
|
47
46
|
const exchangeRatePromise = new Promise(function (resolve) {
|
|
48
|
-
(
|
|
47
|
+
fetch(RATIO_URL, {
|
|
49
48
|
method: 'GET'
|
|
50
49
|
}).then(resp => {
|
|
51
50
|
resolve(resp.json());
|
|
@@ -12,7 +12,6 @@ var _constants2 = require("@subwallet/extension-base/services/earning-service/co
|
|
|
12
12
|
var _types = require("@subwallet/extension-base/types");
|
|
13
13
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
14
14
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
15
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
16
15
|
var _util = require("@polkadot/util");
|
|
17
16
|
var _base = _interopRequireDefault(require("./base"));
|
|
18
17
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
@@ -53,14 +52,14 @@ class BifrostLiquidStakingPoolHandler extends _base.default {
|
|
|
53
52
|
async getPoolStat() {
|
|
54
53
|
const substrateApi = await this.substrateApi.isReady;
|
|
55
54
|
const stakingMetaPromise = new Promise(function (resolve) {
|
|
56
|
-
(
|
|
55
|
+
fetch(STATS_URL, {
|
|
57
56
|
method: 'GET'
|
|
58
57
|
}).then(res => {
|
|
59
58
|
resolve(res.json());
|
|
60
59
|
}).catch(console.error);
|
|
61
60
|
});
|
|
62
61
|
const exchangeRatePromise = new Promise(function (resolve) {
|
|
63
|
-
(
|
|
62
|
+
fetch(BIFROST_GRAPHQL_ENDPOINT, {
|
|
64
63
|
method: 'POST',
|
|
65
64
|
headers: {
|
|
66
65
|
'Content-Type': 'application/json'
|
|
@@ -11,7 +11,6 @@ var _web = require("@subwallet/extension-base/koni/api/tokens/evm/web3");
|
|
|
11
11
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
12
12
|
var _utils2 = require("@subwallet/extension-base/services/fee-service/utils");
|
|
13
13
|
var _types = require("@subwallet/extension-base/types");
|
|
14
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
15
14
|
var _util = require("@polkadot/util");
|
|
16
15
|
var _constants = require("../../constants");
|
|
17
16
|
var _base = _interopRequireDefault(require("./base"));
|
|
@@ -63,7 +62,7 @@ class StellaSwapLiquidStakingPoolHandler extends _base.default {
|
|
|
63
62
|
const derivativeTokenInfo = this.state.getAssetBySlug(derivativeTokenSlug);
|
|
64
63
|
const stakingContract = getStellaswapLiquidStakingContract(this.chain, (0, _utils._getContractAddressOfToken)(derivativeTokenInfo), evmApi);
|
|
65
64
|
const aprPromise = new Promise(function (resolve) {
|
|
66
|
-
(
|
|
65
|
+
fetch(APR_STATS_URL, {
|
|
67
66
|
method: 'GET'
|
|
68
67
|
}).then(res => {
|
|
69
68
|
resolve(res.json());
|
|
@@ -12,7 +12,6 @@ var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils")
|
|
|
12
12
|
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
13
13
|
var _types = require("@subwallet/extension-base/types");
|
|
14
14
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
15
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
16
15
|
var _util = require("@polkadot/util");
|
|
17
16
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
18
17
|
var _basePara = _interopRequireDefault(require("./base-para"));
|
|
@@ -76,7 +75,7 @@ class AstarNativeStakingPoolHandler extends _basePara.default {
|
|
|
76
75
|
}
|
|
77
76
|
await defaultCallback();
|
|
78
77
|
const apyPromise = new Promise(resolve => {
|
|
79
|
-
(
|
|
78
|
+
fetch(`https://api.astar.network/api/v1/${this.chain}/dapps-staking/apy`, {
|
|
80
79
|
method: 'GET'
|
|
81
80
|
}).then(resp => {
|
|
82
81
|
resolve(resp.json());
|
|
@@ -159,7 +158,7 @@ class AstarNativeStakingPoolHandler extends _basePara.default {
|
|
|
159
158
|
const nominationList = [];
|
|
160
159
|
const unstakingList = [];
|
|
161
160
|
const allDappsReq = new Promise(resolve => {
|
|
162
|
-
(
|
|
161
|
+
fetch(`https://api.astar.network/api/v1/${chainInfo.slug}/dapps-staking/dapps`, {
|
|
163
162
|
method: 'GET'
|
|
164
163
|
}).then(resp => {
|
|
165
164
|
resolve(resp.json());
|
|
@@ -306,7 +305,7 @@ class AstarNativeStakingPoolHandler extends _basePara.default {
|
|
|
306
305
|
const allDappsInfo = [];
|
|
307
306
|
const maxStakerPerContract = (0, _utils2.parseRawNumber)(rawMaxStakerPerContract);
|
|
308
307
|
const allDappsReq = new Promise(resolve => {
|
|
309
|
-
(
|
|
308
|
+
fetch(`https://api.astar.network/api/v1/${this.chain}/dapps-staking/dapps`, {
|
|
310
309
|
method: 'GET'
|
|
311
310
|
}).then(resp => {
|
|
312
311
|
resolve(resp.json());
|