@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
package/utils/array.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const uniqueStringArray: (array: string[]) => string[];
|
package/utils/array.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// Copyright 2019-2022 @polkadot/extension authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { RuntimeEnvironment } from "../background/KoniTypes.js";
|
|
5
|
+
function detectRuntimeEnvironment() {
|
|
6
|
+
if (typeof window !== 'undefined' && typeof document !== 'undefined') {
|
|
7
|
+
// Web environment
|
|
8
|
+
return {
|
|
9
|
+
environment: RuntimeEnvironment.Web,
|
|
10
|
+
version: navigator.userAgent,
|
|
11
|
+
host: window.location.host,
|
|
12
|
+
protocol: window.location.protocol
|
|
13
|
+
};
|
|
14
|
+
} else if (typeof self !== 'undefined' && typeof importScripts !== 'undefined') {
|
|
15
|
+
// Service Worker environment
|
|
16
|
+
return {
|
|
17
|
+
environment: RuntimeEnvironment.ServiceWorker,
|
|
18
|
+
version: navigator.userAgent,
|
|
19
|
+
host: self.location.host,
|
|
20
|
+
protocol: window.location.protocol
|
|
21
|
+
};
|
|
22
|
+
} else if (typeof process !== 'undefined' && process.versions && process.versions.node) {
|
|
23
|
+
// Node.js environment
|
|
24
|
+
return {
|
|
25
|
+
environment: RuntimeEnvironment.Node,
|
|
26
|
+
version: process.versions.node
|
|
27
|
+
};
|
|
28
|
+
} else if (typeof chrome !== 'undefined' && typeof chrome.runtime !== 'undefined') {
|
|
29
|
+
// Extension environment (Chrome)
|
|
30
|
+
return {
|
|
31
|
+
environment: RuntimeEnvironment.ExtensionChrome,
|
|
32
|
+
version: chrome.runtime.getManifest().version,
|
|
33
|
+
host: window.location.host,
|
|
34
|
+
protocol: window.location.protocol
|
|
35
|
+
};
|
|
36
|
+
} else if (typeof browser !== 'undefined' && typeof browser.runtime !== 'undefined') {
|
|
37
|
+
// Extension environment (Firefox)
|
|
38
|
+
return {
|
|
39
|
+
environment: RuntimeEnvironment.ExtensionFirefox,
|
|
40
|
+
version: browser.runtime.getManifest().version,
|
|
41
|
+
host: window.location.host,
|
|
42
|
+
protocol: window.location.protocol
|
|
43
|
+
};
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
} else if (typeof WorkerGlobalScope !== 'undefined') {
|
|
46
|
+
// Web Worker environment
|
|
47
|
+
return {
|
|
48
|
+
environment: RuntimeEnvironment.WebWorker,
|
|
49
|
+
version: ''
|
|
50
|
+
};
|
|
51
|
+
} else {
|
|
52
|
+
// Unknown environment
|
|
53
|
+
return {
|
|
54
|
+
environment: RuntimeEnvironment.Unknown,
|
|
55
|
+
version: ''
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export const RuntimeInfo = detectRuntimeEnvironment();
|
package/utils/index.d.ts
CHANGED
|
@@ -37,3 +37,7 @@ export declare function parseRawNumber(value: string): number;
|
|
|
37
37
|
export declare function isSameAddress(address1: string, address2: string): boolean;
|
|
38
38
|
export declare function getDomainFromUrl(url: string): string;
|
|
39
39
|
export declare function waitTimeout(ms: number): Promise<void>;
|
|
40
|
+
export declare const stripUrl: (url: string) => string;
|
|
41
|
+
export * from './array';
|
|
42
|
+
export * from './environment';
|
|
43
|
+
export * from './lazy';
|
package/utils/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import { CrowdloanParaState } from '@subwallet/extension-base/background/KoniTypes';
|
|
5
5
|
import { ALL_ACCOUNT_KEY } from '@subwallet/extension-base/constants';
|
|
6
|
-
import { BN, hexToU8a, isHex } from '@polkadot/util';
|
|
6
|
+
import { assert, BN, hexToU8a, isHex } from '@polkadot/util';
|
|
7
7
|
import { decodeAddress, encodeAddress, ethereumEncode, isEthereumAddress } from '@polkadot/util-crypto';
|
|
8
8
|
export { canDerive } from "./canDerive.js";
|
|
9
9
|
export const notDef = x => x === null || typeof x === 'undefined';
|
|
@@ -278,4 +278,12 @@ export function getDomainFromUrl(url) {
|
|
|
278
278
|
}
|
|
279
279
|
export async function waitTimeout(ms) {
|
|
280
280
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
281
|
-
}
|
|
281
|
+
}
|
|
282
|
+
export const stripUrl = url => {
|
|
283
|
+
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:`);
|
|
284
|
+
const parts = url.split('/');
|
|
285
|
+
return parts[2];
|
|
286
|
+
};
|
|
287
|
+
export * from "./array.js";
|
|
288
|
+
export * from "./environment.js";
|
|
289
|
+
export * from "./lazy.js";
|
package/utils/lazy.d.ts
ADDED
package/utils/lazy.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
const lazyMap = {};
|
|
5
|
+
export function removeLazy(key) {
|
|
6
|
+
if (lazyMap[key]) {
|
|
7
|
+
clearTimeout(lazyMap[key].timeout);
|
|
8
|
+
delete lazyMap[key];
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// Add or update new lazy thread
|
|
13
|
+
export function addLazy(key, callback, lazyTime = 300, maxLazyTime = 3000) {
|
|
14
|
+
const existed = lazyMap[key];
|
|
15
|
+
const now = new Date().getTime();
|
|
16
|
+
if (existed) {
|
|
17
|
+
clearTimeout(existed.timeout);
|
|
18
|
+
lazyMap[key] = {
|
|
19
|
+
...existed,
|
|
20
|
+
callback
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// Fire callback if last fire is too long
|
|
24
|
+
if (now - existed.lastFire >= maxLazyTime) {
|
|
25
|
+
callback();
|
|
26
|
+
lazyMap[key].lastFire = now;
|
|
27
|
+
} else {
|
|
28
|
+
lazyMap[key].timeout = setTimeout(() => {
|
|
29
|
+
// This will be fire in the last call of lazy thread
|
|
30
|
+
callback();
|
|
31
|
+
lazyMap[key].lastFire = new Date().getTime();
|
|
32
|
+
removeLazy(key);
|
|
33
|
+
}, lazyTime);
|
|
34
|
+
}
|
|
35
|
+
} else {
|
|
36
|
+
// Fire callback immediately in the first time
|
|
37
|
+
callback();
|
|
38
|
+
lazyMap[key] = {
|
|
39
|
+
callback,
|
|
40
|
+
lastFire: now
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|