@subwallet/extension-base 1.0.12-0 → 1.0.13-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 +89 -0
- package/background/KoniTypes.js +18 -19
- package/background/handlers/Extension.js +17 -2
- package/background/handlers/State.d.ts +0 -1
- package/background/handlers/State.js +4 -8
- package/background/types.d.ts +6 -1
- package/cjs/background/KoniTypes.js +21 -11
- package/cjs/background/handlers/Extension.js +22 -6
- package/cjs/background/handlers/State.js +4 -8
- package/cjs/constants/index.js +7 -1
- package/cjs/defaults.js +1 -1
- package/cjs/koni/api/dotsama/balance.js +5 -0
- package/cjs/koni/api/dotsama/transfer.js +6 -0
- package/cjs/koni/api/nft/config.js +11 -6
- package/cjs/koni/api/xcm/polkadotXcm.js +1 -1
- package/cjs/koni/api/xcm/xTokens.js +2 -2
- package/cjs/koni/background/cron.js +12 -1
- package/cjs/koni/background/handlers/Extension.js +457 -131
- package/cjs/koni/background/handlers/State.js +236 -53
- package/cjs/koni/background/handlers/Tabs.js +61 -9
- package/cjs/koni/background/subscription.js +3 -0
- package/cjs/packageInfo.js +1 -1
- package/cjs/page/Metadata.js +3 -0
- package/cjs/services/chain-service/constants.js +10 -4
- package/cjs/services/chain-service/handler/SubstrateApi.js +2 -1
- package/cjs/services/chain-service/handler/SubstrateChainHandler.js +3 -1
- package/cjs/services/chain-service/handler/manta/MantaPrivateHandler.js +147 -0
- package/cjs/services/chain-service/index.js +54 -5
- package/cjs/services/chain-service/utils.js +32 -0
- package/cjs/services/event-service/types.js +3 -1
- package/cjs/services/request-service/handler/AuthRequestHandler.js +4 -9
- package/cjs/services/request-service/handler/SubstrateRequestHandler.js +2 -2
- package/cjs/services/request-service/handler/WalletConnectRequestHandler.js +71 -0
- package/cjs/services/request-service/index.js +24 -6
- package/cjs/services/storage-service/DatabaseService.js +31 -1
- package/cjs/services/storage-service/databases/index.js +3 -0
- package/cjs/services/storage-service/db-stores/MantaPay.js +40 -0
- package/cjs/services/transaction-service/helpers/index.js +3 -2
- package/cjs/services/transaction-service/index.js +2 -1
- package/cjs/services/wallet-connect-service/constants.js +38 -0
- package/cjs/services/wallet-connect-service/handler/Eip155RequestHandler.js +113 -0
- package/cjs/services/wallet-connect-service/handler/PolkadotRequestHandler.js +123 -0
- package/cjs/services/wallet-connect-service/helpers.js +81 -0
- package/cjs/services/wallet-connect-service/index.js +273 -0
- package/cjs/services/wallet-connect-service/types.js +27 -0
- package/cjs/utils/array.js +17 -0
- package/cjs/utils/environment.js +66 -0
- package/cjs/utils/index.js +78 -1
- package/cjs/utils/lazy.js +52 -0
- package/constants/index.d.ts +2 -0
- package/constants/index.js +2 -0
- package/defaults.d.ts +1 -1
- package/defaults.js +1 -1
- package/koni/api/dotsama/balance.js +6 -1
- package/koni/api/dotsama/transfer.js +7 -1
- package/koni/api/nft/config.js +11 -6
- package/koni/api/xcm/polkadotXcm.js +1 -1
- package/koni/api/xcm/xTokens.js +2 -2
- package/koni/background/cron.d.ts +1 -0
- package/koni/background/cron.js +13 -2
- package/koni/background/handlers/Extension.d.ts +11 -0
- package/koni/background/handlers/Extension.js +329 -12
- package/koni/background/handlers/State.d.ts +17 -3
- package/koni/background/handlers/State.js +238 -52
- package/koni/background/handlers/Tabs.d.ts +2 -0
- package/koni/background/handlers/Tabs.js +58 -7
- package/koni/background/subscription.js +3 -0
- package/package.json +72 -6
- package/packageInfo.js +1 -1
- package/page/Metadata.d.ts +2 -0
- package/page/Metadata.js +3 -0
- package/services/chain-service/constants.d.ts +3 -0
- package/services/chain-service/constants.js +5 -2
- package/services/chain-service/handler/SubstrateApi.d.ts +1 -1
- package/services/chain-service/handler/SubstrateApi.js +2 -1
- package/services/chain-service/handler/SubstrateChainHandler.d.ts +1 -1
- package/services/chain-service/handler/SubstrateChainHandler.js +3 -1
- package/services/chain-service/handler/manta/MantaPrivateHandler.d.ts +30 -0
- package/services/chain-service/handler/manta/MantaPrivateHandler.js +140 -0
- package/services/chain-service/handler/types.d.ts +2 -0
- package/services/chain-service/index.d.ts +7 -3
- package/services/chain-service/index.js +56 -7
- package/services/chain-service/utils.d.ts +3 -0
- package/services/chain-service/utils.js +28 -0
- package/services/event-service/types.d.ts +3 -0
- package/services/event-service/types.js +3 -1
- package/services/request-service/handler/AuthRequestHandler.d.ts +0 -1
- package/services/request-service/handler/AuthRequestHandler.js +5 -10
- package/services/request-service/handler/SubstrateRequestHandler.d.ts +1 -1
- package/services/request-service/handler/SubstrateRequestHandler.js +2 -2
- package/services/request-service/handler/WalletConnectRequestHandler.d.ts +15 -0
- package/services/request-service/handler/WalletConnectRequestHandler.js +62 -0
- package/services/request-service/index.d.ts +7 -2
- package/services/request-service/index.js +24 -6
- package/services/storage-service/DatabaseService.d.ts +10 -1
- package/services/storage-service/DatabaseService.js +31 -1
- package/services/storage-service/databases/index.d.ts +2 -0
- package/services/storage-service/databases/index.js +3 -0
- package/services/storage-service/db-stores/MantaPay.d.ts +9 -0
- package/services/storage-service/db-stores/MantaPay.js +32 -0
- package/services/transaction-service/helpers/index.d.ts +1 -1
- package/services/transaction-service/helpers/index.js +2 -2
- package/services/transaction-service/index.js +2 -1
- package/services/transaction-service/types.d.ts +2 -1
- package/services/wallet-connect-service/constants.d.ts +11 -0
- package/services/wallet-connect-service/constants.js +23 -0
- package/services/wallet-connect-service/handler/Eip155RequestHandler.d.ts +8 -0
- package/services/wallet-connect-service/handler/Eip155RequestHandler.js +106 -0
- package/services/wallet-connect-service/handler/PolkadotRequestHandler.d.ts +8 -0
- package/services/wallet-connect-service/handler/PolkadotRequestHandler.js +114 -0
- package/services/wallet-connect-service/helpers.d.ts +12 -0
- package/services/wallet-connect-service/helpers.js +67 -0
- package/services/wallet-connect-service/index.d.ts +20 -0
- package/services/wallet-connect-service/index.js +265 -0
- package/services/wallet-connect-service/types.d.ts +46 -0
- package/services/wallet-connect-service/types.js +20 -0
- package/utils/array.d.ts +1 -0
- package/utils/array.js +10 -0
- package/utils/environment.d.ts +2 -0
- package/utils/environment.js +59 -0
- package/utils/index.d.ts +4 -0
- package/utils/index.js +10 -2
- package/utils/lazy.d.ts +2 -0
- package/utils/lazy.js +43 -0
|
@@ -6,10 +6,12 @@ import { AccountAuthType, AccountJson, AddressJson, AuthorizeRequest, Confirmati
|
|
|
6
6
|
import { _CHAIN_VALIDATION_ERROR } from '@subwallet/extension-base/services/chain-service/handler/types';
|
|
7
7
|
import { _ChainState, _EvmApi, _NetworkUpsertParams, _SubstrateApi, _ValidateCustomAssetRequest, _ValidateCustomAssetResponse, EnableChainParams, EnableMultiChainParams } from '@subwallet/extension-base/services/chain-service/types';
|
|
8
8
|
import { SWTransactionResponse, SWTransactionResult } from '@subwallet/extension-base/services/transaction-service/types';
|
|
9
|
+
import { WalletConnectSessionRequest } from '@subwallet/extension-base/services/wallet-connect-service/types';
|
|
9
10
|
import { InjectedAccount, MetadataDefBase } from '@subwallet/extension-inject/types';
|
|
10
11
|
import { KeyringPair$Json, KeyringPair$Meta } from '@subwallet/keyring/types';
|
|
11
12
|
import { KeyringOptions } from '@subwallet/ui-keyring/options/types';
|
|
12
13
|
import { KeyringAddress, KeyringPairs$Json } from '@subwallet/ui-keyring/types';
|
|
14
|
+
import { SessionTypes } from '@walletconnect/types/dist/types/sign-client/session';
|
|
13
15
|
import Web3 from 'web3';
|
|
14
16
|
import { RequestArguments, TransactionConfig } from 'web3-core';
|
|
15
17
|
import { JsonRpcPayload, JsonRpcResponse } from 'web3-core-helpers';
|
|
@@ -18,6 +20,21 @@ import { BN } from '@polkadot/util';
|
|
|
18
20
|
import { HexString } from '@polkadot/util/types';
|
|
19
21
|
import { KeypairType } from '@polkadot/util-crypto/types';
|
|
20
22
|
import { TransactionWarning } from './warnings/TransactionWarning';
|
|
23
|
+
export declare enum RuntimeEnvironment {
|
|
24
|
+
Web = "Web",
|
|
25
|
+
Node = "Node",
|
|
26
|
+
ExtensionChrome = "Extension (Chrome)",
|
|
27
|
+
ExtensionFirefox = "Extension (Firefox)",
|
|
28
|
+
WebWorker = "Web Worker",
|
|
29
|
+
ServiceWorker = "Service Worker",
|
|
30
|
+
Unknown = "Unknown"
|
|
31
|
+
}
|
|
32
|
+
export interface RuntimeEnvironmentInfo {
|
|
33
|
+
environment: RuntimeEnvironment;
|
|
34
|
+
version: string;
|
|
35
|
+
host?: string;
|
|
36
|
+
protocol?: string;
|
|
37
|
+
}
|
|
21
38
|
export interface ServiceInfo {
|
|
22
39
|
chainInfoMap: Record<string, _ChainInfo>;
|
|
23
40
|
chainStateMap: Record<string, _ChainState>;
|
|
@@ -1407,6 +1424,64 @@ export interface PassPhishing {
|
|
|
1407
1424
|
export interface RequestPassPhishingPage {
|
|
1408
1425
|
url: string;
|
|
1409
1426
|
}
|
|
1427
|
+
export interface RequestAddPspToken {
|
|
1428
|
+
genesisHash: string;
|
|
1429
|
+
tokenInfo: {
|
|
1430
|
+
type: string;
|
|
1431
|
+
address: string;
|
|
1432
|
+
symbol: string;
|
|
1433
|
+
name: string;
|
|
1434
|
+
decimals?: number;
|
|
1435
|
+
logo?: string;
|
|
1436
|
+
};
|
|
1437
|
+
}
|
|
1438
|
+
export interface RequestConnectWalletConnect {
|
|
1439
|
+
uri: string;
|
|
1440
|
+
}
|
|
1441
|
+
export interface RequestRejectConnectWalletSession {
|
|
1442
|
+
id: string;
|
|
1443
|
+
}
|
|
1444
|
+
export interface RequestApproveConnectWalletSession {
|
|
1445
|
+
id: string;
|
|
1446
|
+
accounts: string[];
|
|
1447
|
+
}
|
|
1448
|
+
export interface RequestReconnectConnectWalletSession {
|
|
1449
|
+
id: string;
|
|
1450
|
+
}
|
|
1451
|
+
export interface RequestDisconnectWalletConnectSession {
|
|
1452
|
+
topic: string;
|
|
1453
|
+
}
|
|
1454
|
+
export interface MantaPayConfig {
|
|
1455
|
+
address: string;
|
|
1456
|
+
zkAddress: string;
|
|
1457
|
+
enabled: boolean;
|
|
1458
|
+
chain: string;
|
|
1459
|
+
isInitialSync: boolean;
|
|
1460
|
+
}
|
|
1461
|
+
export interface MantaAuthorizationContext {
|
|
1462
|
+
address: string;
|
|
1463
|
+
chain: string;
|
|
1464
|
+
data: unknown;
|
|
1465
|
+
}
|
|
1466
|
+
export interface MantaPaySyncState {
|
|
1467
|
+
isSyncing: boolean;
|
|
1468
|
+
progress: number;
|
|
1469
|
+
needManualSync?: boolean;
|
|
1470
|
+
}
|
|
1471
|
+
export interface MantaPayEnableParams {
|
|
1472
|
+
password: string;
|
|
1473
|
+
address: string;
|
|
1474
|
+
}
|
|
1475
|
+
export declare enum MantaPayEnableMessage {
|
|
1476
|
+
WRONG_PASSWORD = "WRONG_PASSWORD",
|
|
1477
|
+
CHAIN_DISCONNECTED = "CHAIN_DISCONNECTED",
|
|
1478
|
+
UNKNOWN_ERROR = "UNKNOWN_ERROR",
|
|
1479
|
+
SUCCESS = "SUCCESS"
|
|
1480
|
+
}
|
|
1481
|
+
export interface MantaPayEnableResponse {
|
|
1482
|
+
success: boolean;
|
|
1483
|
+
message: MantaPayEnableMessage;
|
|
1484
|
+
}
|
|
1410
1485
|
export interface KoniRequestSignatures {
|
|
1411
1486
|
'pri(staking.submitTuringCancelCompound)': [RequestTuringCancelStakeCompound, SWTransactionResponse];
|
|
1412
1487
|
'pri(staking.submitTuringCompound)': [RequestTuringStakeCompound, SWTransactionResponse];
|
|
@@ -1461,6 +1536,12 @@ export interface KoniRequestSignatures {
|
|
|
1461
1536
|
'pri(crowdloan.getCrowdloan)': [RequestCrowdloan, CrowdloanJson];
|
|
1462
1537
|
'pri(crowdloan.getSubscription)': [RequestSubscribeCrowdloan, CrowdloanJson, CrowdloanJson];
|
|
1463
1538
|
'pri(phishing.pass)': [RequestPassPhishingPage, boolean];
|
|
1539
|
+
'pri(mantaPay.enable)': [MantaPayEnableParams, MantaPayEnableResponse];
|
|
1540
|
+
'pri(mantaPay.disable)': [string, boolean];
|
|
1541
|
+
'pri(mantaPay.getZkBalance)': [null, null];
|
|
1542
|
+
'pri(mantaPay.subscribeConfig)': [null, MantaPayConfig[], MantaPayConfig[]];
|
|
1543
|
+
'pri(mantaPay.subscribeSyncingState)': [null, MantaPaySyncState, MantaPaySyncState];
|
|
1544
|
+
'pri(mantaPay.initSyncMantaPay)': [string, null];
|
|
1464
1545
|
'pri(authorize.listV2)': [null, ResponseAuthorizeList];
|
|
1465
1546
|
'pri(authorize.requestsV2)': [RequestAuthorizeSubscribe, boolean, AuthorizeRequest[]];
|
|
1466
1547
|
'pri(authorize.approveV2)': [RequestAuthorizeApproveV2, boolean];
|
|
@@ -1561,6 +1642,14 @@ export interface KoniRequestSignatures {
|
|
|
1561
1642
|
'mobile(subscription.start)': [SubscriptionServiceType[], void];
|
|
1562
1643
|
'mobile(subscription.stop)': [SubscriptionServiceType[], void];
|
|
1563
1644
|
'mobile(subscription.restart)': [SubscriptionServiceType[], void];
|
|
1645
|
+
'pub(token.add)': [RequestAddPspToken, boolean];
|
|
1646
|
+
'pri(walletConnect.connect)': [RequestConnectWalletConnect, boolean];
|
|
1647
|
+
'pri(walletConnect.requests.subscribe)': [null, WalletConnectSessionRequest[], WalletConnectSessionRequest[]];
|
|
1648
|
+
'pri(walletConnect.session.approve)': [RequestApproveConnectWalletSession, boolean];
|
|
1649
|
+
'pri(walletConnect.session.reject)': [RequestRejectConnectWalletSession, boolean];
|
|
1650
|
+
'pri(walletConnect.session.reconnect)': [RequestReconnectConnectWalletSession, boolean];
|
|
1651
|
+
'pri(walletConnect.session.subscribe)': [null, SessionTypes.Struct[], SessionTypes.Struct[]];
|
|
1652
|
+
'pri(walletConnect.session.disconnect)': [RequestDisconnectWalletConnectSession, boolean];
|
|
1564
1653
|
}
|
|
1565
1654
|
export interface ApplicationMetadataType {
|
|
1566
1655
|
version: string;
|
package/background/KoniTypes.js
CHANGED
|
@@ -1,24 +1,16 @@
|
|
|
1
1
|
// Copyright 2019-2022 @polkadot/extension-koni authors & contributors
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
// Manage single auth with single account
|
|
15
|
-
|
|
16
|
-
// Manage single site with multi account
|
|
17
|
-
|
|
18
|
-
// Manage site block
|
|
19
|
-
|
|
20
|
-
// Forget site auth
|
|
21
|
-
|
|
4
|
+
export let RuntimeEnvironment;
|
|
5
|
+
(function (RuntimeEnvironment) {
|
|
6
|
+
RuntimeEnvironment["Web"] = "Web";
|
|
7
|
+
RuntimeEnvironment["Node"] = "Node";
|
|
8
|
+
RuntimeEnvironment["ExtensionChrome"] = "Extension (Chrome)";
|
|
9
|
+
RuntimeEnvironment["ExtensionFirefox"] = "Extension (Firefox)";
|
|
10
|
+
RuntimeEnvironment["WebWorker"] = "Web Worker";
|
|
11
|
+
RuntimeEnvironment["ServiceWorker"] = "Service Worker";
|
|
12
|
+
RuntimeEnvironment["Unknown"] = "Unknown";
|
|
13
|
+
})(RuntimeEnvironment || (RuntimeEnvironment = {}));
|
|
22
14
|
/// Staking subscribe
|
|
23
15
|
|
|
24
16
|
export let StakingType;
|
|
@@ -231,4 +223,11 @@ export let NotificationType;
|
|
|
231
223
|
NotificationType["SUCCESS"] = "success";
|
|
232
224
|
NotificationType["WARNING"] = "warning";
|
|
233
225
|
NotificationType["ERROR"] = "error";
|
|
234
|
-
})(NotificationType || (NotificationType = {}));
|
|
226
|
+
})(NotificationType || (NotificationType = {}));
|
|
227
|
+
export let MantaPayEnableMessage;
|
|
228
|
+
(function (MantaPayEnableMessage) {
|
|
229
|
+
MantaPayEnableMessage["WRONG_PASSWORD"] = "WRONG_PASSWORD";
|
|
230
|
+
MantaPayEnableMessage["CHAIN_DISCONNECTED"] = "CHAIN_DISCONNECTED";
|
|
231
|
+
MantaPayEnableMessage["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
|
|
232
|
+
MantaPayEnableMessage["SUCCESS"] = "SUCCESS";
|
|
233
|
+
})(MantaPayEnableMessage || (MantaPayEnableMessage = {}));
|
|
@@ -446,8 +446,23 @@ export default class Extension {
|
|
|
446
446
|
});
|
|
447
447
|
return true;
|
|
448
448
|
}
|
|
449
|
-
windowOpen(
|
|
450
|
-
|
|
449
|
+
windowOpen({
|
|
450
|
+
allowedPath: path,
|
|
451
|
+
params,
|
|
452
|
+
subPath
|
|
453
|
+
}) {
|
|
454
|
+
let paramString = '';
|
|
455
|
+
if (params) {
|
|
456
|
+
paramString += '?';
|
|
457
|
+
for (let i = 0; i < Object.keys(params).length; i++) {
|
|
458
|
+
const [key, value] = Object.entries(params)[i];
|
|
459
|
+
paramString += `${key}=${value}`;
|
|
460
|
+
if (i !== Object.keys(params).length - 1) {
|
|
461
|
+
paramString += '&';
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
const url = `${chrome.extension.getURL('index.html')}#${path}${subPath || ''}${paramString}`;
|
|
451
466
|
if (!ALLOWED_PATH.includes(path)) {
|
|
452
467
|
console.error('Not allowed to open the url:', url);
|
|
453
468
|
return false;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import { DEFAULT_SETTING } from '@subwallet/extension-base/services/setting-service/constants';
|
|
5
5
|
import SettingsStore from '@subwallet/extension-base/stores/Settings';
|
|
6
|
+
import { stripUrl } from '@subwallet/extension-base/utils';
|
|
6
7
|
import { getId } from '@subwallet/extension-base/utils/getId';
|
|
7
8
|
import { addMetadata, knownMetadata } from '@subwallet/extension-chains';
|
|
8
9
|
import { BehaviorSubject } from 'rxjs';
|
|
@@ -206,7 +207,7 @@ export default class State {
|
|
|
206
207
|
url
|
|
207
208
|
} = this.#authRequests[id];
|
|
208
209
|
const isAllowedMap = {};
|
|
209
|
-
this.#authUrls[
|
|
210
|
+
this.#authUrls[stripUrl(url)] = {
|
|
210
211
|
count: 0,
|
|
211
212
|
id: idStr,
|
|
212
213
|
isAllowed,
|
|
@@ -264,11 +265,6 @@ export default class State {
|
|
|
264
265
|
}
|
|
265
266
|
};
|
|
266
267
|
};
|
|
267
|
-
stripUrl(url) {
|
|
268
|
-
assert(url && (url.startsWith('http:') || url.startsWith('https:') || url.startsWith('ipfs:') || url.startsWith('ipns:')), `Invalid url ${url}, expected to start with http: or https: or ipfs: or ipns:`);
|
|
269
|
-
const parts = url.split('/');
|
|
270
|
-
return parts[2];
|
|
271
|
-
}
|
|
272
268
|
updateIcon(shouldClose) {
|
|
273
269
|
const authCount = this.numAuthRequests;
|
|
274
270
|
const metaCount = this.numMetaRequests;
|
|
@@ -304,7 +300,7 @@ export default class State {
|
|
|
304
300
|
this.updateIcon(shouldClose);
|
|
305
301
|
}
|
|
306
302
|
async authorizeUrl(url, request) {
|
|
307
|
-
const idStr =
|
|
303
|
+
const idStr = stripUrl(url);
|
|
308
304
|
|
|
309
305
|
// Do not enqueue duplicate authorization requests.
|
|
310
306
|
const isDuplicate = Object.values(this.#authRequests).some(request => request.idStr === idStr);
|
|
@@ -328,7 +324,7 @@ export default class State {
|
|
|
328
324
|
});
|
|
329
325
|
}
|
|
330
326
|
ensureUrlAuthorized(url) {
|
|
331
|
-
const entry = this.#authUrls[
|
|
327
|
+
const entry = this.#authUrls[stripUrl(url)];
|
|
332
328
|
assert(entry, `The source ${url} has not been enabled yet`);
|
|
333
329
|
assert(entry.isAllowed, `The source ${url} is not allowed to interact with this extension`);
|
|
334
330
|
return true;
|
package/background/types.d.ts
CHANGED
|
@@ -124,7 +124,7 @@ export interface RequestSignatures extends KoniRequestSignatures {
|
|
|
124
124
|
'pri(signing.cancel)': [RequestSigningCancel, boolean];
|
|
125
125
|
'pri(signing.isLocked)': [RequestSigningIsLocked, ResponseSigningIsLocked];
|
|
126
126
|
'pri(signing.requests)': [RequestSigningSubscribe, boolean, SigningRequest[]];
|
|
127
|
-
'pri(window.open)': [
|
|
127
|
+
'pri(window.open)': [WindowOpenParams, boolean];
|
|
128
128
|
'pub(accounts.list)': [RequestAccountList, InjectedAccount[]];
|
|
129
129
|
'pub(accounts.subscribe)': [RequestAccountSubscribe, boolean, InjectedAccount[]];
|
|
130
130
|
'pub(authorize.tab)': [RequestAuthorizeTab, null];
|
|
@@ -361,6 +361,11 @@ export interface ResponseJsonRestore {
|
|
|
361
361
|
error: string | null;
|
|
362
362
|
}
|
|
363
363
|
export declare type AllowedPath = typeof ALLOWED_PATH[number];
|
|
364
|
+
export declare type WindowOpenParams = {
|
|
365
|
+
allowedPath: AllowedPath;
|
|
366
|
+
subPath?: string;
|
|
367
|
+
params?: Record<string, string>;
|
|
368
|
+
};
|
|
364
369
|
export interface ResponseJsonGetAccountInfo {
|
|
365
370
|
address: string;
|
|
366
371
|
name: string;
|
|
@@ -3,18 +3,20 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.UnstakingStatus = exports.TransferTxErrorType = exports.TransactionDirection = exports.ThemeNames = exports.StakingType = exports.StakingTxErrorType = exports.StakingStatus = exports.RMRK_VER = exports.ProviderErrorType = exports.NotificationType = exports.NETWORK_STATUS = exports.NETWORK_ERROR = exports.ExtrinsicType = exports.ExtrinsicStatus = exports.ExternalRequestPromiseStatus = exports.EvmProviderErrorType = exports.CrowdloanParaState = exports.ContractType = exports.ChainType = exports.ChainEditStandard = exports.BasicTxWarningCode = exports.BasicTxErrorType = exports.BalanceErrorType = exports.AccountExternalErrorCode = exports.APIItemState = void 0;
|
|
6
|
+
exports.UnstakingStatus = exports.TransferTxErrorType = exports.TransactionDirection = exports.ThemeNames = exports.StakingType = exports.StakingTxErrorType = exports.StakingStatus = exports.RuntimeEnvironment = exports.RMRK_VER = exports.ProviderErrorType = exports.NotificationType = exports.NETWORK_STATUS = exports.NETWORK_ERROR = exports.MantaPayEnableMessage = exports.ExtrinsicType = exports.ExtrinsicStatus = exports.ExternalRequestPromiseStatus = exports.EvmProviderErrorType = exports.CrowdloanParaState = exports.ContractType = exports.ChainType = exports.ChainEditStandard = exports.BasicTxWarningCode = exports.BasicTxErrorType = exports.BalanceErrorType = exports.AccountExternalErrorCode = exports.APIItemState = void 0;
|
|
7
7
|
// Copyright 2019-2022 @polkadot/extension-koni authors & contributors
|
|
8
8
|
// SPDX-License-Identifier: Apache-2.0
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
let RuntimeEnvironment;
|
|
10
|
+
exports.RuntimeEnvironment = RuntimeEnvironment;
|
|
11
|
+
(function (RuntimeEnvironment) {
|
|
12
|
+
RuntimeEnvironment["Web"] = "Web";
|
|
13
|
+
RuntimeEnvironment["Node"] = "Node";
|
|
14
|
+
RuntimeEnvironment["ExtensionChrome"] = "Extension (Chrome)";
|
|
15
|
+
RuntimeEnvironment["ExtensionFirefox"] = "Extension (Firefox)";
|
|
16
|
+
RuntimeEnvironment["WebWorker"] = "Web Worker";
|
|
17
|
+
RuntimeEnvironment["ServiceWorker"] = "Service Worker";
|
|
18
|
+
RuntimeEnvironment["Unknown"] = "Unknown";
|
|
19
|
+
})(RuntimeEnvironment || (exports.RuntimeEnvironment = RuntimeEnvironment = {}));
|
|
18
20
|
/// Staking subscribe
|
|
19
21
|
let StakingType;
|
|
20
22
|
exports.StakingType = StakingType;
|
|
@@ -239,4 +241,12 @@ exports.NotificationType = NotificationType;
|
|
|
239
241
|
NotificationType["SUCCESS"] = "success";
|
|
240
242
|
NotificationType["WARNING"] = "warning";
|
|
241
243
|
NotificationType["ERROR"] = "error";
|
|
242
|
-
})(NotificationType || (exports.NotificationType = NotificationType = {}));
|
|
244
|
+
})(NotificationType || (exports.NotificationType = NotificationType = {}));
|
|
245
|
+
let MantaPayEnableMessage;
|
|
246
|
+
exports.MantaPayEnableMessage = MantaPayEnableMessage;
|
|
247
|
+
(function (MantaPayEnableMessage) {
|
|
248
|
+
MantaPayEnableMessage["WRONG_PASSWORD"] = "WRONG_PASSWORD";
|
|
249
|
+
MantaPayEnableMessage["CHAIN_DISCONNECTED"] = "CHAIN_DISCONNECTED";
|
|
250
|
+
MantaPayEnableMessage["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
|
|
251
|
+
MantaPayEnableMessage["SUCCESS"] = "SUCCESS";
|
|
252
|
+
})(MantaPayEnableMessage || (exports.MantaPayEnableMessage = MantaPayEnableMessage = {}));
|
|
@@ -483,8 +483,24 @@ class Extension {
|
|
|
483
483
|
});
|
|
484
484
|
return true;
|
|
485
485
|
}
|
|
486
|
-
windowOpen(
|
|
487
|
-
|
|
486
|
+
windowOpen(_ref24) {
|
|
487
|
+
let {
|
|
488
|
+
allowedPath: path,
|
|
489
|
+
params,
|
|
490
|
+
subPath
|
|
491
|
+
} = _ref24;
|
|
492
|
+
let paramString = '';
|
|
493
|
+
if (params) {
|
|
494
|
+
paramString += '?';
|
|
495
|
+
for (let i = 0; i < Object.keys(params).length; i++) {
|
|
496
|
+
const [key, value] = Object.entries(params)[i];
|
|
497
|
+
paramString += `${key}=${value}`;
|
|
498
|
+
if (i !== Object.keys(params).length - 1) {
|
|
499
|
+
paramString += '&';
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
const url = `${chrome.extension.getURL('index.html')}#${path}${subPath || ''}${paramString}`;
|
|
488
504
|
if (!_defaults.ALLOWED_PATH.includes(path)) {
|
|
489
505
|
console.error('Not allowed to open the url:', url);
|
|
490
506
|
return false;
|
|
@@ -507,26 +523,26 @@ class Extension {
|
|
|
507
523
|
throw new Error(`"${suri}" is not a valid derivation path`);
|
|
508
524
|
}
|
|
509
525
|
}
|
|
510
|
-
derivationValidate(
|
|
526
|
+
derivationValidate(_ref25) {
|
|
511
527
|
let {
|
|
512
528
|
parentAddress,
|
|
513
529
|
parentPassword,
|
|
514
530
|
suri
|
|
515
|
-
} =
|
|
531
|
+
} = _ref25;
|
|
516
532
|
const childPair = this.derive(parentAddress, suri, parentPassword, {});
|
|
517
533
|
return {
|
|
518
534
|
address: childPair.address,
|
|
519
535
|
suri
|
|
520
536
|
};
|
|
521
537
|
}
|
|
522
|
-
derivationCreate(
|
|
538
|
+
derivationCreate(_ref26) {
|
|
523
539
|
let {
|
|
524
540
|
genesisHash,
|
|
525
541
|
name,
|
|
526
542
|
parentAddress,
|
|
527
543
|
parentPassword,
|
|
528
544
|
suri
|
|
529
|
-
} =
|
|
545
|
+
} = _ref26;
|
|
530
546
|
const childPair = this.derive(parentAddress, suri, parentPassword, {
|
|
531
547
|
genesisHash,
|
|
532
548
|
name,
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = exports.NotificationOptions = void 0;
|
|
8
8
|
var _constants = require("@subwallet/extension-base/services/setting-service/constants");
|
|
9
9
|
var _Settings = _interopRequireDefault(require("@subwallet/extension-base/stores/Settings"));
|
|
10
|
+
var _utils = require("@subwallet/extension-base/utils");
|
|
10
11
|
var _getId = require("@subwallet/extension-base/utils/getId");
|
|
11
12
|
var _extensionChains = require("@subwallet/extension-chains");
|
|
12
13
|
var _rxjs = require("rxjs");
|
|
@@ -232,7 +233,7 @@ class State {
|
|
|
232
233
|
url
|
|
233
234
|
} = this.#authRequests[id];
|
|
234
235
|
const isAllowedMap = {};
|
|
235
|
-
this.#authUrls[
|
|
236
|
+
this.#authUrls[(0, _utils.stripUrl)(url)] = {
|
|
236
237
|
count: 0,
|
|
237
238
|
id: idStr,
|
|
238
239
|
isAllowed,
|
|
@@ -290,11 +291,6 @@ class State {
|
|
|
290
291
|
}
|
|
291
292
|
};
|
|
292
293
|
};
|
|
293
|
-
stripUrl(url) {
|
|
294
|
-
(0, _util.assert)(url && (url.startsWith('http:') || url.startsWith('https:') || url.startsWith('ipfs:') || url.startsWith('ipns:')), `Invalid url ${url}, expected to start with http: or https: or ipfs: or ipns:`);
|
|
295
|
-
const parts = url.split('/');
|
|
296
|
-
return parts[2];
|
|
297
|
-
}
|
|
298
294
|
updateIcon(shouldClose) {
|
|
299
295
|
const authCount = this.numAuthRequests;
|
|
300
296
|
const metaCount = this.numMetaRequests;
|
|
@@ -330,7 +326,7 @@ class State {
|
|
|
330
326
|
this.updateIcon(shouldClose);
|
|
331
327
|
}
|
|
332
328
|
async authorizeUrl(url, request) {
|
|
333
|
-
const idStr =
|
|
329
|
+
const idStr = (0, _utils.stripUrl)(url);
|
|
334
330
|
|
|
335
331
|
// Do not enqueue duplicate authorization requests.
|
|
336
332
|
const isDuplicate = Object.values(this.#authRequests).some(request => request.idStr === idStr);
|
|
@@ -354,7 +350,7 @@ class State {
|
|
|
354
350
|
});
|
|
355
351
|
}
|
|
356
352
|
ensureUrlAuthorized(url) {
|
|
357
|
-
const entry = this.#authUrls[
|
|
353
|
+
const entry = this.#authUrls[(0, _utils.stripUrl)(url)];
|
|
358
354
|
(0, _util.assert)(entry, `The source ${url} has not been enabled yet`);
|
|
359
355
|
(0, _util.assert)(entry.isAllowed, `The source ${url} is not allowed to interact with this extension`);
|
|
360
356
|
return true;
|
package/cjs/constants/index.js
CHANGED
|
@@ -18,6 +18,8 @@ var _exportNames = {
|
|
|
18
18
|
CRON_REFRESH_CHAIN_STAKING_METADATA: true,
|
|
19
19
|
CRON_REFRESH_CHAIN_NOMINATOR_METADATA: true,
|
|
20
20
|
CRON_RECOVER_HISTORY_INTERVAL: true,
|
|
21
|
+
CRON_SYNC_MANTA_PAY: true,
|
|
22
|
+
MANTA_PAY_BALANCE_INTERVAL: true,
|
|
21
23
|
ALL_ACCOUNT_KEY: true,
|
|
22
24
|
ALL_NETWORK_KEY: true,
|
|
23
25
|
ALL_GENESIS_HASH: true,
|
|
@@ -25,7 +27,7 @@ var _exportNames = {
|
|
|
25
27
|
IGNORE_QR_SIGNER: true,
|
|
26
28
|
XCM_MIN_AMOUNT_RATIO: true
|
|
27
29
|
};
|
|
28
|
-
exports.XCM_MIN_AMOUNT_RATIO = exports.SUB_TOKEN_REFRESH_BALANCE_INTERVAL = exports.IGNORE_QR_SIGNER = exports.IGNORE_GET_SUBSTRATE_FEATURES_LIST = exports.CRON_REFRESH_STAKING_REWARD_INTERVAL = exports.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL = exports.CRON_REFRESH_PRICE_INTERVAL = exports.CRON_REFRESH_NFT_INTERVAL = exports.CRON_REFRESH_HISTORY_INTERVAL = exports.CRON_REFRESH_CHAIN_STAKING_METADATA = exports.CRON_REFRESH_CHAIN_NOMINATOR_METADATA = exports.CRON_RECOVER_HISTORY_INTERVAL = exports.CRON_GET_API_MAP_STATUS = exports.CRON_AUTO_RECOVER_WEB3_INTERVAL = exports.CRON_AUTO_RECOVER_DOTSAMA_INTERVAL = exports.ASTAR_REFRESH_BALANCE_INTERVAL = exports.ALL_NETWORK_KEY = exports.ALL_GENESIS_HASH = exports.ALL_ACCOUNT_KEY = exports.ACALA_REFRESH_CROWDLOAN_INTERVAL = void 0;
|
|
30
|
+
exports.XCM_MIN_AMOUNT_RATIO = exports.SUB_TOKEN_REFRESH_BALANCE_INTERVAL = exports.MANTA_PAY_BALANCE_INTERVAL = exports.IGNORE_QR_SIGNER = exports.IGNORE_GET_SUBSTRATE_FEATURES_LIST = exports.CRON_SYNC_MANTA_PAY = exports.CRON_REFRESH_STAKING_REWARD_INTERVAL = exports.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL = exports.CRON_REFRESH_PRICE_INTERVAL = exports.CRON_REFRESH_NFT_INTERVAL = exports.CRON_REFRESH_HISTORY_INTERVAL = exports.CRON_REFRESH_CHAIN_STAKING_METADATA = exports.CRON_REFRESH_CHAIN_NOMINATOR_METADATA = exports.CRON_RECOVER_HISTORY_INTERVAL = exports.CRON_GET_API_MAP_STATUS = exports.CRON_AUTO_RECOVER_WEB3_INTERVAL = exports.CRON_AUTO_RECOVER_DOTSAMA_INTERVAL = exports.ASTAR_REFRESH_BALANCE_INTERVAL = exports.ALL_NETWORK_KEY = exports.ALL_GENESIS_HASH = exports.ALL_ACCOUNT_KEY = exports.ACALA_REFRESH_CROWDLOAN_INTERVAL = void 0;
|
|
29
31
|
var _staking = require("./staking");
|
|
30
32
|
Object.keys(_staking).forEach(function (key) {
|
|
31
33
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -69,6 +71,10 @@ const CRON_REFRESH_CHAIN_NOMINATOR_METADATA = 1800000;
|
|
|
69
71
|
exports.CRON_REFRESH_CHAIN_NOMINATOR_METADATA = CRON_REFRESH_CHAIN_NOMINATOR_METADATA;
|
|
70
72
|
const CRON_RECOVER_HISTORY_INTERVAL = 30000;
|
|
71
73
|
exports.CRON_RECOVER_HISTORY_INTERVAL = CRON_RECOVER_HISTORY_INTERVAL;
|
|
74
|
+
const CRON_SYNC_MANTA_PAY = 300000;
|
|
75
|
+
exports.CRON_SYNC_MANTA_PAY = CRON_SYNC_MANTA_PAY;
|
|
76
|
+
const MANTA_PAY_BALANCE_INTERVAL = 30000;
|
|
77
|
+
exports.MANTA_PAY_BALANCE_INTERVAL = MANTA_PAY_BALANCE_INTERVAL;
|
|
72
78
|
const ALL_ACCOUNT_KEY = 'ALL';
|
|
73
79
|
exports.ALL_ACCOUNT_KEY = ALL_ACCOUNT_KEY;
|
|
74
80
|
const ALL_NETWORK_KEY = 'all';
|
package/cjs/defaults.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.PORT_MOBILE = exports.PORT_EXTENSION = exports.PORT_CONTENT = exports.PH
|
|
|
7
7
|
// Copyright 2019-2022 @polkadot/extension-base authors & contributors
|
|
8
8
|
// SPDX-License-Identifier: Apache-2.0
|
|
9
9
|
|
|
10
|
-
const ALLOWED_PATH = ['/', '/settings/security', '/accounts/connect-ledger', '/accounts/restore-json', '/accounts/new-seed-phrase'];
|
|
10
|
+
const ALLOWED_PATH = ['/', '/settings/security', '/accounts/connect-ledger', '/accounts/restore-json', '/accounts/detail', '/accounts/new-seed-phrase'];
|
|
11
11
|
exports.ALLOWED_PATH = ALLOWED_PATH;
|
|
12
12
|
const PHISHING_PAGE_REDIRECT = '/phishing-page-detected';
|
|
13
13
|
exports.PHISHING_PAGE_REDIRECT = PHISHING_PAGE_REDIRECT;
|
|
@@ -337,6 +337,11 @@ async function subscribeTokensAccountsPallet(addresses, chain, api, callBack, in
|
|
|
337
337
|
}
|
|
338
338
|
async function subscribeAssetsAccountPallet(addresses, chain, api, callBack) {
|
|
339
339
|
const tokenMap = _handlers.state.getAssetByChainAndAsset(chain, [_types._AssetType.LOCAL]);
|
|
340
|
+
Object.values(tokenMap).forEach(token => {
|
|
341
|
+
if (_constants2._MANTA_ZK_CHAIN_GROUP.includes(token.originChain) && token.symbol.startsWith(_constants2._ZK_ASSET_PREFIX)) {
|
|
342
|
+
delete tokenMap[token.slug];
|
|
343
|
+
}
|
|
344
|
+
});
|
|
340
345
|
const unsubList = await Promise.all(Object.values(tokenMap).map(async tokenInfo => {
|
|
341
346
|
try {
|
|
342
347
|
const assetIndex = (0, _utils2._getTokenOnChainAssetId)(tokenInfo);
|
|
@@ -42,6 +42,12 @@ async function checkSupportTransfer(networkKey, tokenInfo, substrateApiMap, chai
|
|
|
42
42
|
supportTransferAll: true
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
|
+
if (tokenInfo.symbol.startsWith(_constants._ZK_ASSET_PREFIX) && _constants._MANTA_ZK_CHAIN_GROUP.includes(tokenInfo.originChain)) {
|
|
46
|
+
return {
|
|
47
|
+
supportTransfer: false,
|
|
48
|
+
supportTransferAll: false
|
|
49
|
+
};
|
|
50
|
+
}
|
|
45
51
|
if (_constants._TRANSFER_NOT_SUPPORTED_CHAINS.includes(networkKey)) {
|
|
46
52
|
return {
|
|
47
53
|
supportTransfer: false,
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.UNIQUE_SCAN_ENDPOINT = exports.UNIQUE_IPFS_GATEWAY = exports.TRANSFER_CHAIN_ID = exports.SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = exports.SUPPORTED_TRANSFER_EVM_CHAIN_NAME = exports.SUPPORTED_TRANSFER_EVM_CHAIN = exports.SUPPORTED_NFT_NETWORKS = exports.SINGULAR_V2_ENDPOINT = exports.SINGULAR_V2_COLLECTION_ENDPOINT = exports.SINGULAR_V1_ENDPOINT = exports.SINGULAR_V1_COLLECTION_ENDPOINT = exports.RMRK_PINATA_SERVER = exports.QUARTZ_SCAN_ENDPOINT = exports.PINATA_IPFS_GATEWAY = exports.NFT_STORAGE_GATEWAY = exports.KANARIA_EXTERNAL_SERVER = exports.KANARIA_ENDPOINT = exports.IPFS_TELOS_MIAMI = exports.IPFS_IO_GATEWAY = exports.IPFS_GATEWAY_CLOUD = exports.IPFS_FLEEK = exports.GATEWAY_IPFS_IO = exports.DWEB_LINK = exports.CLOUDFLARE_PINATA_SERVER = exports.CF_IPFS_GATEWAY = exports.BIT_COUNTRY_THUMBNAIL_RESOLVER = exports.BIT_COUNTRY_SERVER = void 0;
|
|
7
7
|
exports.getRandomIpfsGateway = getRandomIpfsGateway;
|
|
8
|
+
var _utils = require("@subwallet/extension-base/utils");
|
|
8
9
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
9
10
|
// SPDX-License-Identifier: Apache-2.0
|
|
10
11
|
|
|
@@ -102,9 +103,6 @@ exports.SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = SUPPORTED_TRANSFER_SUBSTRATE_C
|
|
|
102
103
|
const RANDOM_IPFS_GATEWAY_SETTING = [{
|
|
103
104
|
provider: IPFS_IO_GATEWAY,
|
|
104
105
|
weight: 0 // Not stable
|
|
105
|
-
}, {
|
|
106
|
-
provider: NFT_STORAGE_GATEWAY,
|
|
107
|
-
weight: 50
|
|
108
106
|
}, {
|
|
109
107
|
provider: CF_IPFS_GATEWAY,
|
|
110
108
|
weight: 4
|
|
@@ -123,13 +121,20 @@ const RANDOM_IPFS_GATEWAY_SETTING = [{
|
|
|
123
121
|
}, {
|
|
124
122
|
provider: IPFS_GATEWAY_CLOUD,
|
|
125
123
|
weight: 0 // Deceptive site warning
|
|
126
|
-
}, {
|
|
127
|
-
provider: IPFS_FLEEK,
|
|
128
|
-
weight: 4
|
|
129
124
|
}, {
|
|
130
125
|
provider: IPFS_TELOS_MIAMI,
|
|
131
126
|
weight: 0
|
|
132
127
|
}];
|
|
128
|
+
if (!_utils.RuntimeInfo.protocol || _utils.RuntimeInfo.protocol && !_utils.RuntimeInfo.protocol.startsWith('http')) {
|
|
129
|
+
RANDOM_IPFS_GATEWAY_SETTING.push({
|
|
130
|
+
provider: NFT_STORAGE_GATEWAY,
|
|
131
|
+
weight: 50
|
|
132
|
+
});
|
|
133
|
+
RANDOM_IPFS_GATEWAY_SETTING.push({
|
|
134
|
+
provider: IPFS_FLEEK,
|
|
135
|
+
weight: 4
|
|
136
|
+
});
|
|
137
|
+
}
|
|
133
138
|
const RANDOM_IPFS_GATEWAY_TOTAL_WEIGHT = RANDOM_IPFS_GATEWAY_SETTING.reduce((value, item) => value + item.weight, 0);
|
|
134
139
|
function getRandomIpfsGateway() {
|
|
135
140
|
const weighedItems = [];
|
|
@@ -11,7 +11,7 @@ var _utils2 = require("@subwallet/extension-base/services/chain-service/utils");
|
|
|
11
11
|
|
|
12
12
|
function getExtrinsicByPolkadotXcmPallet(tokenInfo, originChainInfo, destinationChainInfo, recipientAddress, value, api) {
|
|
13
13
|
const weightParam = (0, _utils.getDestWeight)();
|
|
14
|
-
const version = ['statemint', 'statemine', 'shiden'].includes(originChainInfo.slug) ? 'V3' : 'V1';
|
|
14
|
+
const version = ['statemint', 'statemine', 'shiden', 'astar'].includes(originChainInfo.slug) ? 'V3' : 'V1';
|
|
15
15
|
const beneficiary = (0, _utils.getBeneficiary)(destinationChainInfo, recipientAddress, version);
|
|
16
16
|
const destination = (0, _utils.getDestinationChainLocation)(originChainInfo, destinationChainInfo, version);
|
|
17
17
|
let assetLocation = (0, _utils.getTokenLocation)(tokenInfo, value, version);
|
|
@@ -24,7 +24,7 @@ function getCurrencyId(tokenInfo) {
|
|
|
24
24
|
return (0, _utils2._getTokenOnChainInfo)(tokenInfo) || (0, _utils2._getTokenOnChainAssetId)(tokenInfo);
|
|
25
25
|
}
|
|
26
26
|
function getExtrinsicByXtokensPallet(tokenInfo, originChainInfo, destinationChainInfo, recipientAddress, value, api) {
|
|
27
|
-
const weightParam = ['pioneer'
|
|
28
|
-
const destVersion = ['moonbeam', 'moonriver', 'bifrost_dot'].includes(originChainInfo.slug) ? 'V3' : undefined;
|
|
27
|
+
const weightParam = ['pioneer'].includes(originChainInfo.slug) ? _utils.FOUR_INSTRUCTIONS_WEIGHT : (0, _utils.getDestWeight)();
|
|
28
|
+
const destVersion = ['moonbeam', 'moonriver', 'bifrost_dot', 'interlay', 'hydradx_main'].includes(originChainInfo.slug) ? 'V3' : undefined;
|
|
29
29
|
return api.tx.xTokens.transfer(getCurrencyId(tokenInfo), value, (0, _utils.getDestMultilocation)(destinationChainInfo, recipientAddress, destVersion), weightParam);
|
|
30
30
|
}
|
|
@@ -73,6 +73,7 @@ class KoniCron {
|
|
|
73
73
|
const commonReload = eventTypes.some(eventType => commonReloadEvents.includes(eventType));
|
|
74
74
|
const chainUpdated = eventTypes.includes('chain.updateState');
|
|
75
75
|
const stakingSubmitted = eventTypes.includes('transaction.submitStaking');
|
|
76
|
+
const reloadMantaPay = eventTypes.includes('mantaPay.submitTransaction') || eventTypes.includes('mantaPay.enable');
|
|
76
77
|
const updatedChains = [];
|
|
77
78
|
if (chainUpdated) {
|
|
78
79
|
events.forEach(event => {
|
|
@@ -82,7 +83,7 @@ class KoniCron {
|
|
|
82
83
|
}
|
|
83
84
|
});
|
|
84
85
|
}
|
|
85
|
-
if (!commonReload && !chainUpdated && !stakingSubmitted) {
|
|
86
|
+
if (!commonReload && !chainUpdated && !stakingSubmitted && !reloadMantaPay) {
|
|
86
87
|
return;
|
|
87
88
|
}
|
|
88
89
|
const address = (_serviceInfo$currentA = serviceInfo.currentAccountInfo) === null || _serviceInfo$currentA === void 0 ? void 0 : _serviceInfo$currentA.address;
|
|
@@ -93,6 +94,9 @@ class KoniCron {
|
|
|
93
94
|
const needUpdateNft = this.needUpdateNft(chainInfoMap, updatedChains);
|
|
94
95
|
const needUpdateStaking = this.needUpdateStaking(chainInfoMap, updatedChains);
|
|
95
96
|
|
|
97
|
+
// MantaPay
|
|
98
|
+
reloadMantaPay && this.removeCron('syncMantaPay');
|
|
99
|
+
|
|
96
100
|
// NFT
|
|
97
101
|
(commonReload || needUpdateNft) && this.resetNft(address);
|
|
98
102
|
(commonReload || needUpdateNft) && this.removeCron('refreshNft');
|
|
@@ -110,6 +114,7 @@ class KoniCron {
|
|
|
110
114
|
(commonReload || needUpdateStaking || stakingSubmitted) && this.addCron('refreshStakingReward', this.refreshStakingReward(address), _constants.CRON_REFRESH_STAKING_REWARD_INTERVAL);
|
|
111
115
|
(commonReload || needUpdateStaking || stakingSubmitted) && this.addCron('refreshPoolingStakingReward', this.refreshStakingRewardFastInterval(address), _constants.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL);
|
|
112
116
|
needUpdateStaking && this.addCron('updateChainStakingMetadata', this.updateChainStakingMetadata(serviceInfo.chainInfoMap, serviceInfo.chainStateMap, serviceInfo.chainApiMap.substrate), _constants.CRON_REFRESH_CHAIN_STAKING_METADATA);
|
|
117
|
+
reloadMantaPay && this.addCron('syncMantaPay', this.syncMantaPay, _constants.CRON_SYNC_MANTA_PAY);
|
|
113
118
|
} else {
|
|
114
119
|
this.setStakingRewardReady();
|
|
115
120
|
}
|
|
@@ -124,6 +129,7 @@ class KoniCron {
|
|
|
124
129
|
this.addCron('refreshStakingReward', this.refreshStakingReward(currentAccountInfo.address), _constants.CRON_REFRESH_STAKING_REWARD_INTERVAL);
|
|
125
130
|
this.addCron('refreshPoolingStakingReward', this.refreshStakingRewardFastInterval(currentAccountInfo.address), _constants.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL);
|
|
126
131
|
this.addCron('updateChainStakingMetadata', this.updateChainStakingMetadata(this.state.getChainInfoMap(), this.state.getChainStateMap(), this.state.getSubstrateApiMap()), _constants.CRON_REFRESH_CHAIN_STAKING_METADATA);
|
|
132
|
+
this.addCron('syncMantaPay', this.syncMantaPay, _constants.CRON_SYNC_MANTA_PAY);
|
|
127
133
|
} else {
|
|
128
134
|
this.setStakingRewardReady();
|
|
129
135
|
}
|
|
@@ -147,6 +153,11 @@ class KoniCron {
|
|
|
147
153
|
this.status = 'stopped';
|
|
148
154
|
return Promise.resolve();
|
|
149
155
|
};
|
|
156
|
+
syncMantaPay = () => {
|
|
157
|
+
if (this.state.isMantaPayEnabled) {
|
|
158
|
+
this.state.syncMantaPay().catch(console.warn);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
150
161
|
refreshNft = (address, apiMap, smartContractNfts, chainInfoMap) => {
|
|
151
162
|
return () => {
|
|
152
163
|
this.subscriptions.subscribeNft(address, apiMap.substrate, apiMap.evm, smartContractNfts, chainInfoMap);
|