@subwallet/extension-base 1.0.11-2 → 1.0.13-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/background/KoniTypes.d.ts +52 -0
- package/background/KoniTypes.js +10 -18
- package/background/handlers/State.d.ts +0 -1
- package/background/handlers/State.js +4 -8
- package/cjs/background/KoniTypes.js +12 -10
- package/cjs/background/handlers/State.js +4 -8
- 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/handlers/Extension.js +150 -1
- package/cjs/koni/background/handlers/State.js +14 -3
- package/cjs/koni/background/handlers/Tabs.js +61 -9
- package/cjs/packageInfo.js +1 -1
- package/cjs/page/Metadata.js +3 -0
- package/cjs/services/chain-service/utils.js +28 -1
- package/cjs/services/migration-service/scripts/MigrateEthProvider.js +32 -0
- package/cjs/services/migration-service/scripts/index.js +12 -10
- 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/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 +66 -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/handlers/Extension.d.ts +6 -0
- package/koni/background/handlers/Extension.js +144 -2
- package/koni/background/handlers/State.d.ts +2 -0
- package/koni/background/handlers/State.js +14 -3
- package/koni/background/handlers/Tabs.d.ts +2 -0
- package/koni/background/handlers/Tabs.js +58 -7
- package/package.json +72 -18
- package/packageInfo.js +1 -1
- package/page/Metadata.d.ts +2 -0
- package/page/Metadata.js +3 -0
- package/services/chain-service/utils.d.ts +2 -0
- package/services/chain-service/utils.js +25 -1
- package/services/migration-service/scripts/MigrateEthProvider.d.ts +4 -0
- package/services/migration-service/scripts/MigrateEthProvider.js +24 -0
- package/services/migration-service/scripts/index.js +12 -10
- 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/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 +3 -0
- package/utils/index.js +9 -2
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { EvmSendTransactionParams } from '@subwallet/extension-base/background/KoniTypes';
|
|
2
|
+
import { ConfirmationRequestBase, Resolver } from '@subwallet/extension-base/background/types';
|
|
3
|
+
import { EngineTypes, SignClientTypes } from '@walletconnect/types';
|
|
4
|
+
import { SignerPayloadJSON } from '@polkadot/types/types';
|
|
5
|
+
export interface WalletConnectSessionRequest extends ConfirmationRequestBase {
|
|
6
|
+
request: SignClientTypes.EventArguments['session_proposal'];
|
|
7
|
+
}
|
|
8
|
+
export declare type ResultApproveWalletConnectSession = EngineTypes.ApproveParams;
|
|
9
|
+
export interface RequestWalletConnectSession extends WalletConnectSessionRequest, Resolver<void> {
|
|
10
|
+
}
|
|
11
|
+
export declare enum EIP155_SIGNING_METHODS {
|
|
12
|
+
PERSONAL_SIGN = "personal_sign",
|
|
13
|
+
ETH_SIGN = "eth_sign",
|
|
14
|
+
ETH_SIGN_TRANSACTION = "eth_signTransaction",
|
|
15
|
+
ETH_SIGN_TYPED_DATA = "eth_signTypedData",
|
|
16
|
+
ETH_SIGN_TYPED_DATA_V1 = "eth_signTypedData_v1",
|
|
17
|
+
ETH_SIGN_TYPED_DATA_V3 = "eth_signTypedData_v3",
|
|
18
|
+
ETH_SIGN_TYPED_DATA_V4 = "eth_signTypedData_v4",
|
|
19
|
+
ETH_SEND_RAW_TRANSACTION = "eth_sendRawTransaction",
|
|
20
|
+
ETH_SEND_TRANSACTION = "eth_sendTransaction"
|
|
21
|
+
}
|
|
22
|
+
export declare enum POLKADOT_SIGNING_METHODS {
|
|
23
|
+
POLKADOT_SIGN_TRANSACTION = "polkadot_signTransaction",
|
|
24
|
+
POLKADOT_SIGN_MESSAGE = "polkadot_signMessage"
|
|
25
|
+
}
|
|
26
|
+
export declare type WalletConnectSigningMethod = EIP155_SIGNING_METHODS | POLKADOT_SIGNING_METHODS;
|
|
27
|
+
export interface WalletConnectPolkadotSignMessageParams {
|
|
28
|
+
address: string;
|
|
29
|
+
message: string;
|
|
30
|
+
}
|
|
31
|
+
export interface WalletConnectPolkadotSignTransactionParams {
|
|
32
|
+
address: string;
|
|
33
|
+
transactionPayload: SignerPayloadJSON;
|
|
34
|
+
}
|
|
35
|
+
export declare type WalletConnectEip155SignMessage = [string, string];
|
|
36
|
+
export declare type WalletConnectEip155SendTransaction = [EvmSendTransactionParams];
|
|
37
|
+
export interface WalletConnectParamMap {
|
|
38
|
+
[POLKADOT_SIGNING_METHODS.POLKADOT_SIGN_MESSAGE]: WalletConnectPolkadotSignMessageParams;
|
|
39
|
+
[POLKADOT_SIGNING_METHODS.POLKADOT_SIGN_TRANSACTION]: WalletConnectPolkadotSignTransactionParams;
|
|
40
|
+
[EIP155_SIGNING_METHODS.PERSONAL_SIGN]: WalletConnectEip155SignMessage;
|
|
41
|
+
[EIP155_SIGNING_METHODS.ETH_SIGN]: WalletConnectEip155SignMessage;
|
|
42
|
+
[EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA]: WalletConnectEip155SignMessage;
|
|
43
|
+
[EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V3]: WalletConnectEip155SignMessage;
|
|
44
|
+
[EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V4]: WalletConnectEip155SignMessage;
|
|
45
|
+
[EIP155_SIGNING_METHODS.ETH_SEND_TRANSACTION]: WalletConnectEip155SendTransaction;
|
|
46
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export let EIP155_SIGNING_METHODS;
|
|
5
|
+
(function (EIP155_SIGNING_METHODS) {
|
|
6
|
+
EIP155_SIGNING_METHODS["PERSONAL_SIGN"] = "personal_sign";
|
|
7
|
+
EIP155_SIGNING_METHODS["ETH_SIGN"] = "eth_sign";
|
|
8
|
+
EIP155_SIGNING_METHODS["ETH_SIGN_TRANSACTION"] = "eth_signTransaction";
|
|
9
|
+
EIP155_SIGNING_METHODS["ETH_SIGN_TYPED_DATA"] = "eth_signTypedData";
|
|
10
|
+
EIP155_SIGNING_METHODS["ETH_SIGN_TYPED_DATA_V1"] = "eth_signTypedData_v1";
|
|
11
|
+
EIP155_SIGNING_METHODS["ETH_SIGN_TYPED_DATA_V3"] = "eth_signTypedData_v3";
|
|
12
|
+
EIP155_SIGNING_METHODS["ETH_SIGN_TYPED_DATA_V4"] = "eth_signTypedData_v4";
|
|
13
|
+
EIP155_SIGNING_METHODS["ETH_SEND_RAW_TRANSACTION"] = "eth_sendRawTransaction";
|
|
14
|
+
EIP155_SIGNING_METHODS["ETH_SEND_TRANSACTION"] = "eth_sendTransaction";
|
|
15
|
+
})(EIP155_SIGNING_METHODS || (EIP155_SIGNING_METHODS = {}));
|
|
16
|
+
export let POLKADOT_SIGNING_METHODS;
|
|
17
|
+
(function (POLKADOT_SIGNING_METHODS) {
|
|
18
|
+
POLKADOT_SIGNING_METHODS["POLKADOT_SIGN_TRANSACTION"] = "polkadot_signTransaction";
|
|
19
|
+
POLKADOT_SIGNING_METHODS["POLKADOT_SIGN_MESSAGE"] = "polkadot_signMessage";
|
|
20
|
+
})(POLKADOT_SIGNING_METHODS || (POLKADOT_SIGNING_METHODS = {}));
|
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,6 @@ 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';
|
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,11 @@ 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";
|