@metamask/connect-multichain 0.1.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/CHANGELOG.md +17 -0
- package/LICENSE +20 -0
- package/README.md +15 -0
- package/dist/browser/es/connect-multichain.d.mts +585 -0
- package/dist/browser/es/connect-multichain.mjs +2609 -0
- package/dist/browser/es/connect-multichain.mjs.map +1 -0
- package/dist/browser/es/metafile-esm.json +1 -0
- package/dist/browser/iife/connect-multichain.d.ts +585 -0
- package/dist/browser/iife/connect-multichain.js +30057 -0
- package/dist/browser/iife/connect-multichain.js.map +1 -0
- package/dist/browser/iife/metafile-iife.json +1 -0
- package/dist/browser/umd/connect-multichain.d.ts +585 -0
- package/dist/browser/umd/connect-multichain.js +2622 -0
- package/dist/browser/umd/connect-multichain.js.map +1 -0
- package/dist/browser/umd/metafile-cjs.json +1 -0
- package/dist/node/cjs/connect-multichain.d.ts +585 -0
- package/dist/node/cjs/connect-multichain.js +2603 -0
- package/dist/node/cjs/connect-multichain.js.map +1 -0
- package/dist/node/cjs/metafile-cjs.json +1 -0
- package/dist/node/es/connect-multichain.d.mts +585 -0
- package/dist/node/es/connect-multichain.mjs +2564 -0
- package/dist/node/es/connect-multichain.mjs.map +1 -0
- package/dist/node/es/metafile-esm.json +1 -0
- package/dist/react-native/es/connect-multichain.d.mts +585 -0
- package/dist/react-native/es/connect-multichain.mjs +2517 -0
- package/dist/react-native/es/connect-multichain.mjs.map +1 -0
- package/dist/react-native/es/metafile-esm.json +1 -0
- package/dist/src/config/index.d.ts +4 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +4 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/domain/errors/base.d.ts +7 -0
- package/dist/src/domain/errors/base.d.ts.map +1 -0
- package/dist/src/domain/errors/base.js +8 -0
- package/dist/src/domain/errors/base.js.map +1 -0
- package/dist/src/domain/errors/index.d.ts +3 -0
- package/dist/src/domain/errors/index.d.ts.map +1 -0
- package/dist/src/domain/errors/index.js +2 -0
- package/dist/src/domain/errors/index.js.map +1 -0
- package/dist/src/domain/errors/rpc.d.ts +25 -0
- package/dist/src/domain/errors/rpc.d.ts.map +1 -0
- package/dist/src/domain/errors/rpc.js +33 -0
- package/dist/src/domain/errors/rpc.js.map +1 -0
- package/dist/src/domain/errors/storage.d.ts +24 -0
- package/dist/src/domain/errors/storage.d.ts.map +1 -0
- package/dist/src/domain/errors/storage.js +30 -0
- package/dist/src/domain/errors/storage.js.map +1 -0
- package/dist/src/domain/errors/types.d.ts +7 -0
- package/dist/src/domain/errors/types.d.ts.map +1 -0
- package/dist/src/domain/errors/types.js +2 -0
- package/dist/src/domain/errors/types.js.map +1 -0
- package/dist/src/domain/events/index.d.ts +39 -0
- package/dist/src/domain/events/index.d.ts.map +1 -0
- package/dist/src/domain/events/index.js +58 -0
- package/dist/src/domain/events/index.js.map +1 -0
- package/dist/src/domain/events/types/index.d.ts +8 -0
- package/dist/src/domain/events/types/index.d.ts.map +1 -0
- package/dist/src/domain/events/types/index.js +2 -0
- package/dist/src/domain/events/types/index.js.map +1 -0
- package/dist/src/domain/index.d.ts +9 -0
- package/dist/src/domain/index.d.ts.map +1 -0
- package/dist/src/domain/index.js +9 -0
- package/dist/src/domain/index.js.map +1 -0
- package/dist/src/domain/logger/index.d.ts +41 -0
- package/dist/src/domain/logger/index.d.ts.map +1 -0
- package/dist/src/domain/logger/index.js +79 -0
- package/dist/src/domain/logger/index.js.map +1 -0
- package/dist/src/domain/multichain/api/constants.d.ts +5 -0
- package/dist/src/domain/multichain/api/constants.d.ts.map +1 -0
- package/dist/src/domain/multichain/api/constants.js +101 -0
- package/dist/src/domain/multichain/api/constants.js.map +1 -0
- package/dist/src/domain/multichain/api/eip155.d.ts +58 -0
- package/dist/src/domain/multichain/api/eip155.d.ts.map +1 -0
- package/dist/src/domain/multichain/api/eip155.js +2 -0
- package/dist/src/domain/multichain/api/eip155.js.map +1 -0
- package/dist/src/domain/multichain/api/infura.d.ts +3 -0
- package/dist/src/domain/multichain/api/infura.d.ts.map +1 -0
- package/dist/src/domain/multichain/api/infura.js +10 -0
- package/dist/src/domain/multichain/api/infura.js.map +1 -0
- package/dist/src/domain/multichain/api/types.d.ts +89 -0
- package/dist/src/domain/multichain/api/types.d.ts.map +1 -0
- package/dist/src/domain/multichain/api/types.js +2 -0
- package/dist/src/domain/multichain/api/types.js.map +1 -0
- package/dist/src/domain/multichain/index.d.ts +51 -0
- package/dist/src/domain/multichain/index.d.ts.map +1 -0
- package/dist/src/domain/multichain/index.js +33 -0
- package/dist/src/domain/multichain/index.js.map +1 -0
- package/dist/src/domain/multichain/types.d.ts +102 -0
- package/dist/src/domain/multichain/types.d.ts.map +1 -0
- package/dist/src/domain/multichain/types.js +2 -0
- package/dist/src/domain/multichain/types.js.map +1 -0
- package/dist/src/domain/platform/index.d.ts +17 -0
- package/dist/src/domain/platform/index.d.ts.map +1 -0
- package/dist/src/domain/platform/index.js +122 -0
- package/dist/src/domain/platform/index.js.map +1 -0
- package/dist/src/domain/store/adapter.d.ts +10 -0
- package/dist/src/domain/store/adapter.d.ts.map +1 -0
- package/dist/src/domain/store/adapter.js +6 -0
- package/dist/src/domain/store/adapter.js.map +1 -0
- package/dist/src/domain/store/client.d.ts +16 -0
- package/dist/src/domain/store/client.d.ts.map +1 -0
- package/dist/src/domain/store/client.js +3 -0
- package/dist/src/domain/store/client.js.map +1 -0
- package/dist/src/domain/store/index.d.ts +3 -0
- package/dist/src/domain/store/index.d.ts.map +1 -0
- package/dist/src/domain/store/index.js +3 -0
- package/dist/src/domain/store/index.js.map +1 -0
- package/dist/src/domain/ui/factory.d.ts +26 -0
- package/dist/src/domain/ui/factory.d.ts.map +1 -0
- package/dist/src/domain/ui/factory.js +2 -0
- package/dist/src/domain/ui/factory.js.map +1 -0
- package/dist/src/domain/ui/index.d.ts +3 -0
- package/dist/src/domain/ui/index.d.ts.map +1 -0
- package/dist/src/domain/ui/index.js +2 -0
- package/dist/src/domain/ui/index.js.map +1 -0
- package/dist/src/domain/ui/types.d.ts +34 -0
- package/dist/src/domain/ui/types.d.ts.map +1 -0
- package/dist/src/domain/ui/types.js +38 -0
- package/dist/src/domain/ui/types.js.map +1 -0
- package/dist/src/domain/utils/index.d.ts +7 -0
- package/dist/src/domain/utils/index.d.ts.map +1 -0
- package/dist/src/domain/utils/index.js +9 -0
- package/dist/src/domain/utils/index.js.map +1 -0
- package/dist/src/index.browser.d.ts +4 -0
- package/dist/src/index.browser.d.ts.map +1 -0
- package/dist/src/index.browser.js +28 -0
- package/dist/src/index.browser.js.map +1 -0
- package/dist/src/index.native.d.ts +4 -0
- package/dist/src/index.native.d.ts.map +1 -0
- package/dist/src/index.native.js +28 -0
- package/dist/src/index.native.js.map +1 -0
- package/dist/src/index.node.d.ts +4 -0
- package/dist/src/index.node.d.ts.map +1 -0
- package/dist/src/index.node.js +28 -0
- package/dist/src/index.node.js.map +1 -0
- package/dist/src/multichain/index.d.ts +41 -0
- package/dist/src/multichain/index.d.ts.map +1 -0
- package/dist/src/multichain/index.js +499 -0
- package/dist/src/multichain/index.js.map +1 -0
- package/dist/src/multichain/rpc/handlers/rpcClient.d.ts +19 -0
- package/dist/src/multichain/rpc/handlers/rpcClient.d.ts.map +1 -0
- package/dist/src/multichain/rpc/handlers/rpcClient.js +105 -0
- package/dist/src/multichain/rpc/handlers/rpcClient.js.map +1 -0
- package/dist/src/multichain/rpc/requestRouter.d.ts +29 -0
- package/dist/src/multichain/rpc/requestRouter.d.ts.map +1 -0
- package/dist/src/multichain/rpc/requestRouter.js +104 -0
- package/dist/src/multichain/rpc/requestRouter.js.map +1 -0
- package/dist/src/multichain/transports/default/index.d.ts +17 -0
- package/dist/src/multichain/transports/default/index.d.ts.map +1 -0
- package/dist/src/multichain/transports/default/index.js +101 -0
- package/dist/src/multichain/transports/default/index.js.map +1 -0
- package/dist/src/multichain/transports/mwp/KeyManager.d.ts +9 -0
- package/dist/src/multichain/transports/mwp/KeyManager.d.ts.map +1 -0
- package/dist/src/multichain/transports/mwp/KeyManager.js +35 -0
- package/dist/src/multichain/transports/mwp/KeyManager.js.map +1 -0
- package/dist/src/multichain/transports/mwp/index.d.ts +65 -0
- package/dist/src/multichain/transports/mwp/index.d.ts.map +1 -0
- package/dist/src/multichain/transports/mwp/index.js +323 -0
- package/dist/src/multichain/transports/mwp/index.js.map +1 -0
- package/dist/src/multichain/utils/index.d.ts +41 -0
- package/dist/src/multichain/utils/index.d.ts.map +1 -0
- package/dist/src/multichain/utils/index.js +239 -0
- package/dist/src/multichain/utils/index.js.map +1 -0
- package/dist/src/store/adapters/node.d.ts +9 -0
- package/dist/src/store/adapters/node.d.ts.map +1 -0
- package/dist/src/store/adapters/node.js +34 -0
- package/dist/src/store/adapters/node.js.map +1 -0
- package/dist/src/store/adapters/rn.d.ts +8 -0
- package/dist/src/store/adapters/rn.d.ts.map +1 -0
- package/dist/src/store/adapters/rn.js +33 -0
- package/dist/src/store/adapters/rn.js.map +1 -0
- package/dist/src/store/adapters/web.d.ts +16 -0
- package/dist/src/store/adapters/web.d.ts.map +1 -0
- package/dist/src/store/adapters/web.js +99 -0
- package/dist/src/store/adapters/web.js.map +1 -0
- package/dist/src/store/index.d.ts +17 -0
- package/dist/src/store/index.d.ts.map +1 -0
- package/dist/src/store/index.js +130 -0
- package/dist/src/store/index.js.map +1 -0
- package/dist/src/ui/index.d.ts +45 -0
- package/dist/src/ui/index.d.ts.map +1 -0
- package/dist/src/ui/index.js +185 -0
- package/dist/src/ui/index.js.map +1 -0
- package/dist/src/ui/modals/base/AbstractInstallModal.d.ts +16 -0
- package/dist/src/ui/modals/base/AbstractInstallModal.d.ts.map +1 -0
- package/dist/src/ui/modals/base/AbstractInstallModal.js +90 -0
- package/dist/src/ui/modals/base/AbstractInstallModal.js.map +1 -0
- package/dist/src/ui/modals/base/AbstractOTPModal.d.ts +8 -0
- package/dist/src/ui/modals/base/AbstractOTPModal.d.ts.map +1 -0
- package/dist/src/ui/modals/base/AbstractOTPModal.js +16 -0
- package/dist/src/ui/modals/base/AbstractOTPModal.js.map +1 -0
- package/dist/src/ui/modals/base/utils.d.ts +3 -0
- package/dist/src/ui/modals/base/utils.d.ts.map +1 -0
- package/dist/src/ui/modals/base/utils.js +30 -0
- package/dist/src/ui/modals/base/utils.js.map +1 -0
- package/dist/src/ui/modals/node/index.d.ts +3 -0
- package/dist/src/ui/modals/node/index.d.ts.map +1 -0
- package/dist/src/ui/modals/node/index.js +3 -0
- package/dist/src/ui/modals/node/index.js.map +1 -0
- package/dist/src/ui/modals/node/install.d.ts +9 -0
- package/dist/src/ui/modals/node/install.d.ts.map +1 -0
- package/dist/src/ui/modals/node/install.js +47 -0
- package/dist/src/ui/modals/node/install.js.map +1 -0
- package/dist/src/ui/modals/node/otp.d.ts +10 -0
- package/dist/src/ui/modals/node/otp.d.ts.map +1 -0
- package/dist/src/ui/modals/node/otp.js +10 -0
- package/dist/src/ui/modals/node/otp.js.map +1 -0
- package/dist/src/ui/modals/rn/index.d.ts +3 -0
- package/dist/src/ui/modals/rn/index.d.ts.map +1 -0
- package/dist/src/ui/modals/rn/index.js +3 -0
- package/dist/src/ui/modals/rn/index.js.map +1 -0
- package/dist/src/ui/modals/rn/install.d.ts +7 -0
- package/dist/src/ui/modals/rn/install.d.ts.map +1 -0
- package/dist/src/ui/modals/rn/install.js +9 -0
- package/dist/src/ui/modals/rn/install.js.map +1 -0
- package/dist/src/ui/modals/rn/otp.d.ts +10 -0
- package/dist/src/ui/modals/rn/otp.d.ts.map +1 -0
- package/dist/src/ui/modals/rn/otp.js +10 -0
- package/dist/src/ui/modals/rn/otp.js.map +1 -0
- package/dist/src/ui/modals/types.d.ts +13 -0
- package/dist/src/ui/modals/types.d.ts.map +1 -0
- package/dist/src/ui/modals/types.js +2 -0
- package/dist/src/ui/modals/types.js.map +1 -0
- package/dist/src/ui/modals/web/index.d.ts +3 -0
- package/dist/src/ui/modals/web/index.d.ts.map +1 -0
- package/dist/src/ui/modals/web/index.js +3 -0
- package/dist/src/ui/modals/web/index.js.map +1 -0
- package/dist/src/ui/modals/web/install.d.ts +7 -0
- package/dist/src/ui/modals/web/install.d.ts.map +1 -0
- package/dist/src/ui/modals/web/install.js +32 -0
- package/dist/src/ui/modals/web/install.js.map +1 -0
- package/dist/src/ui/modals/web/otp.d.ts +10 -0
- package/dist/src/ui/modals/web/otp.d.ts.map +1 -0
- package/dist/src/ui/modals/web/otp.js +10 -0
- package/dist/src/ui/modals/web/otp.js.map +1 -0
- package/dist/src/ui/qr.d.ts +3 -0
- package/dist/src/ui/qr.d.ts.map +1 -0
- package/dist/src/ui/qr.js +32 -0
- package/dist/src/ui/qr.js.map +1 -0
- package/dist/types/connect-multichain.d.ts +585 -0
- package/package.json +111 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { CaipChainId } from '@metamask/utils';
|
|
2
|
+
import type EIP155 from './eip155';
|
|
3
|
+
/**
|
|
4
|
+
* Represents a blockchain scope identifier in CAIP format.
|
|
5
|
+
*
|
|
6
|
+
* Scopes define which blockchain networks and standards the SDK
|
|
7
|
+
* can interact with. The format follows CAIP standards for
|
|
8
|
+
* blockchain identification.
|
|
9
|
+
*
|
|
10
|
+
* @template T - The RPC API type to extract available scopes from
|
|
11
|
+
*/
|
|
12
|
+
export type Scope<T extends RPCAPI = RPCAPI> = `eip155:${string}` | `solana:${string}` | `${Extract<keyof T, string>}:${string}`;
|
|
13
|
+
/**
|
|
14
|
+
* Represents a generic RPC (Remote Procedure Call) method function type.
|
|
15
|
+
*
|
|
16
|
+
* This type defines the signature for RPC methods that can be either synchronous
|
|
17
|
+
* or asynchronous, providing flexibility for different types of API calls.
|
|
18
|
+
*
|
|
19
|
+
* @template Params - The type of parameters that the RPC method accepts
|
|
20
|
+
* @template Return - The type of value that the RPC method returns
|
|
21
|
+
*
|
|
22
|
+
* @param params - The parameters to pass to the RPC method
|
|
23
|
+
* @returns Either a Promise that resolves to the return value, or the return value directly
|
|
24
|
+
*/
|
|
25
|
+
export type RpcMethod<Params, Return> = (params: Params) => Promise<Return> | Return;
|
|
26
|
+
/**
|
|
27
|
+
* Defines the structure of the RPC API interface.
|
|
28
|
+
*
|
|
29
|
+
* This type represents the available RPC APIs organized by blockchain standard.
|
|
30
|
+
* Currently supports EIP-155 (Ethereum) with the potential for additional
|
|
31
|
+
* blockchain standards to be added in the future.
|
|
32
|
+
*/
|
|
33
|
+
export type RPCAPI = {
|
|
34
|
+
/** EIP-155 compliant RPC methods for Ethereum-based chains */
|
|
35
|
+
eip155: EIP155;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Callback function type for handling incoming notifications.
|
|
39
|
+
*
|
|
40
|
+
* This type defines the signature for functions that process notification
|
|
41
|
+
* messages received from RPC connections.
|
|
42
|
+
*
|
|
43
|
+
* @param notification - The notification object to handle
|
|
44
|
+
*/
|
|
45
|
+
export type NotificationCallback = (notification: unknown) => void;
|
|
46
|
+
/**
|
|
47
|
+
* Options for invoking RPC methods with specific scope and request parameters.
|
|
48
|
+
*
|
|
49
|
+
* This type defines the structure for method invocation options, allowing
|
|
50
|
+
* callers to specify both the blockchain scope and the specific request details.
|
|
51
|
+
*/
|
|
52
|
+
export type InvokeMethodOptions = {
|
|
53
|
+
/** The blockchain scope/standard to use for the method call */
|
|
54
|
+
scope: Scope;
|
|
55
|
+
/** The request details including method name and parameters */
|
|
56
|
+
request: {
|
|
57
|
+
/** The name of the RPC method to invoke */
|
|
58
|
+
method: string;
|
|
59
|
+
/** The parameters to pass to the RPC method */
|
|
60
|
+
params: unknown;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Mapping of CAIP chain IDs to their corresponding RPC URLs.
|
|
65
|
+
*
|
|
66
|
+
* This type defines the structure for providing custom RPC endpoints
|
|
67
|
+
* for different blockchain networks using CAIP-2 format identifiers.
|
|
68
|
+
*/
|
|
69
|
+
export type RpcUrlsMap = {
|
|
70
|
+
/** CAIP-2 format chain ID mapped to its RPC URL (e.g., "eip155:1" -> "https://...") */
|
|
71
|
+
[chainId: CaipChainId]: string;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Represents the structure of a JSON-RPC response.
|
|
75
|
+
*
|
|
76
|
+
* This type defines the expected format of JSON-RPC responses from RPC endpoints.
|
|
77
|
+
* It includes the unique identifier for the request, the JSON-RPC version used,
|
|
78
|
+
* and the result of the RPC call.
|
|
79
|
+
*
|
|
80
|
+
* id - The unique identifier for the request
|
|
81
|
+
* jsonrpc - The JSON-RPC version used
|
|
82
|
+
* result - The result of the RPC call JSON
|
|
83
|
+
*/
|
|
84
|
+
export type RPCResponse = {
|
|
85
|
+
id: number;
|
|
86
|
+
jsonrpc: string;
|
|
87
|
+
result: unknown;
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/domain/multichain/api/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IACvC,UAAU,MAAM,EAAE,GAClB,UAAU,MAAM,EAAE,GAClB,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,IAAI,CACtC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,+DAA+D;IAC/D,KAAK,EAAE,KAAK,CAAC;IACb,+DAA+D;IAC/D,OAAO,EAAE;QACP,2CAA2C;QAC3C,MAAM,EAAE,MAAM,CAAC;QACf,+CAA+C;QAC/C,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;CACH,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,uFAAuF;IACvF,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/domain/multichain/api/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { MultichainApiClient, Transport } from '@metamask/multichain-api-client';
|
|
2
|
+
import type { CaipAccountId, Json } from '@metamask/utils';
|
|
3
|
+
import { EventEmitter, type SDKEvents } from '../events';
|
|
4
|
+
import type { StoreClient } from '../store/client';
|
|
5
|
+
import type { InvokeMethodOptions, RPCAPI, Scope } from './api/types';
|
|
6
|
+
import type { MultichainOptions } from './types';
|
|
7
|
+
export type SDKState = 'pending' | 'loaded' | 'disconnected' | 'connected' | 'connecting';
|
|
8
|
+
export declare enum TransportType {
|
|
9
|
+
Browser = "browser",
|
|
10
|
+
MPW = "mwp",
|
|
11
|
+
UNKNOWN = "unknown"
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Abstract base class for the Multichain SDK implementation.
|
|
15
|
+
*
|
|
16
|
+
* This class defines the core interface that all Multichain SDK implementations
|
|
17
|
+
* must provide, including session management, connection handling, and method invocation.
|
|
18
|
+
*/
|
|
19
|
+
export declare abstract class MultichainCore extends EventEmitter<SDKEvents> {
|
|
20
|
+
protected readonly options: MultichainOptions;
|
|
21
|
+
abstract storage: StoreClient;
|
|
22
|
+
abstract state: SDKState;
|
|
23
|
+
abstract provider: MultichainApiClient<RPCAPI>;
|
|
24
|
+
abstract transport: Transport;
|
|
25
|
+
/**
|
|
26
|
+
* Establishes a connection to the multichain provider, or re-use existing session
|
|
27
|
+
*
|
|
28
|
+
* @returns Promise that resolves to the session data
|
|
29
|
+
*/
|
|
30
|
+
abstract connect(scopes: Scope[], caipAccountIds: CaipAccountId[]): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Disconnects from the multichain provider.
|
|
33
|
+
*
|
|
34
|
+
* @returns Promise that resolves when disconnection is complete
|
|
35
|
+
*/
|
|
36
|
+
abstract disconnect(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Invokes an RPC method with the specified options.
|
|
39
|
+
*
|
|
40
|
+
* @param options - The method invocation options including scope and request details
|
|
41
|
+
* @returns Promise that resolves to the method result
|
|
42
|
+
*/
|
|
43
|
+
abstract invokeMethod(options: InvokeMethodOptions): Promise<Json>;
|
|
44
|
+
constructor(options: MultichainOptions);
|
|
45
|
+
}
|
|
46
|
+
export declare function getTransportType(type: string): TransportType;
|
|
47
|
+
export * from './api/constants';
|
|
48
|
+
export * from './api/infura';
|
|
49
|
+
export type * from './api/types';
|
|
50
|
+
export type * from './types';
|
|
51
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/multichain/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EACV,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,QAAQ,GACR,cAAc,GACd,WAAW,GACX,YAAY,CAAC;AAEjB,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB;AAED;;;;;GAKG;AACH,8BAAsB,cAAe,SAAQ,YAAY,CAAC,SAAS,CAAC;IAkCtD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB;IAjCzD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAE9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE/C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CACd,MAAM,EAAE,KAAK,EAAE,EACf,cAAc,EAAE,aAAa,EAAE,GAC9B,OAAO,CAAC,IAAI,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;gBAEnC,OAAO,EAAE,iBAAiB;CAG1D;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAS5D;AAED,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,mBAAmB,aAAa,CAAC;AACjC,mBAAmB,SAAS,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { EventEmitter } from '../events';
|
|
2
|
+
export var TransportType;
|
|
3
|
+
(function (TransportType) {
|
|
4
|
+
TransportType["Browser"] = "browser";
|
|
5
|
+
TransportType["MPW"] = "mwp";
|
|
6
|
+
TransportType["UNKNOWN"] = "unknown";
|
|
7
|
+
})(TransportType || (TransportType = {}));
|
|
8
|
+
/**
|
|
9
|
+
* Abstract base class for the Multichain SDK implementation.
|
|
10
|
+
*
|
|
11
|
+
* This class defines the core interface that all Multichain SDK implementations
|
|
12
|
+
* must provide, including session management, connection handling, and method invocation.
|
|
13
|
+
*/
|
|
14
|
+
export class MultichainCore extends EventEmitter {
|
|
15
|
+
constructor(options) {
|
|
16
|
+
super();
|
|
17
|
+
this.options = options;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/* c8 ignore end */
|
|
21
|
+
export function getTransportType(type) {
|
|
22
|
+
switch (type) {
|
|
23
|
+
case 'browser':
|
|
24
|
+
return TransportType.Browser;
|
|
25
|
+
case 'mwp':
|
|
26
|
+
return TransportType.MPW;
|
|
27
|
+
default:
|
|
28
|
+
return TransportType.UNKNOWN;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export * from './api/constants';
|
|
32
|
+
export * from './api/infura';
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/multichain/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAYzD,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,4BAAW,CAAA;IACX,oCAAmB,CAAA;AACrB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED;;;;;GAKG;AACH,MAAM,OAAgB,cAAe,SAAQ,YAAuB;IAkClE,YAA+B,OAA0B;QACvD,KAAK,EAAE,CAAC;QADqB,YAAO,GAAP,OAAO,CAAmB;IAEzD,CAAC;CACF;AACD,mBAAmB;AAEnB,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC,OAAO,CAAC;QAC/B,KAAK,KAAK;YACR,OAAO,aAAa,CAAC,GAAG,CAAC;QAC3B;YACE,OAAO,aAAa,CAAC,OAAO,CAAC;IACjC,CAAC;AACH,CAAC;AAED,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { SessionRequest } from '@metamask/mobile-wallet-protocol-core';
|
|
2
|
+
import type { Transport } from '@metamask/multichain-api-client';
|
|
3
|
+
import type { CaipAccountId } from '@metamask/utils';
|
|
4
|
+
import type { MultichainCore } from '.';
|
|
5
|
+
import type { ModalFactory } from '../../ui';
|
|
6
|
+
import type { PlatformType } from '../platform';
|
|
7
|
+
import type { StoreClient } from '../store';
|
|
8
|
+
import type { RpcUrlsMap, Scope } from './api/types';
|
|
9
|
+
export type { SessionData } from '@metamask/multichain-api-client';
|
|
10
|
+
/**
|
|
11
|
+
* Configuration settings for the dapp using the SDK.
|
|
12
|
+
*
|
|
13
|
+
* This type allows for two variants of dapp configuration:
|
|
14
|
+
* - Using a regular icon URL
|
|
15
|
+
* - Using a base64-encoded icon
|
|
16
|
+
*/
|
|
17
|
+
export type DappSettings = {
|
|
18
|
+
name?: string;
|
|
19
|
+
url?: string;
|
|
20
|
+
} & ({
|
|
21
|
+
iconUrl?: string;
|
|
22
|
+
} | {
|
|
23
|
+
base64Icon?: string;
|
|
24
|
+
});
|
|
25
|
+
export type ConnectionRequest = {
|
|
26
|
+
sessionRequest: SessionRequest;
|
|
27
|
+
metadata: {
|
|
28
|
+
dapp: DappSettings;
|
|
29
|
+
sdk: {
|
|
30
|
+
version: string;
|
|
31
|
+
platform: PlatformType;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Constructor options for creating a Multichain SDK instance.
|
|
37
|
+
*
|
|
38
|
+
* This type defines all the configuration options available when
|
|
39
|
+
* initializing the SDK, including dapp settings, API configuration,
|
|
40
|
+
* analytics, storage, UI preferences, and transport options.
|
|
41
|
+
*/
|
|
42
|
+
export type MultichainOptions = {
|
|
43
|
+
/** Dapp identification and branding settings */
|
|
44
|
+
dapp: DappSettings;
|
|
45
|
+
/** Optional API configuration for external services */
|
|
46
|
+
api?: {
|
|
47
|
+
/** The Infura API key to use for RPC requests */
|
|
48
|
+
infuraAPIKey?: string;
|
|
49
|
+
/** A map of RPC URLs to use for read-only requests */
|
|
50
|
+
readonlyRPCMap?: RpcUrlsMap;
|
|
51
|
+
};
|
|
52
|
+
/** Analytics configuration */
|
|
53
|
+
analytics?: {
|
|
54
|
+
enabled: false;
|
|
55
|
+
} | {
|
|
56
|
+
enabled: true;
|
|
57
|
+
integrationType: string;
|
|
58
|
+
};
|
|
59
|
+
/** Storage client for persisting SDK data */
|
|
60
|
+
storage: StoreClient;
|
|
61
|
+
/** UI configuration options */
|
|
62
|
+
ui: {
|
|
63
|
+
factory: ModalFactory;
|
|
64
|
+
headless?: boolean;
|
|
65
|
+
preferExtension?: boolean;
|
|
66
|
+
preferDesktop?: boolean;
|
|
67
|
+
};
|
|
68
|
+
mobile?: {
|
|
69
|
+
preferredOpenLink?: (deeplink: string, target?: string) => void;
|
|
70
|
+
/**
|
|
71
|
+
* The `MetaMaskSDK` constructor option `useDeeplink: boolean` controls which type of link is used:
|
|
72
|
+
* - If `true`, the SDK will attempt to use the `metamask://` deeplink.
|
|
73
|
+
* - If `false` (the default for web), the SDK will use the `https://metamask.app.link` universal link.
|
|
74
|
+
*/
|
|
75
|
+
useDeeplink?: boolean;
|
|
76
|
+
};
|
|
77
|
+
/** Optional transport configuration */
|
|
78
|
+
transport?: {
|
|
79
|
+
/** Extension ID for browser extension transport */
|
|
80
|
+
extensionId?: string;
|
|
81
|
+
onNotification?: (notification: unknown) => void;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
type MultiChainFNOptions = Omit<MultichainOptions, 'storage' | 'ui'> & {
|
|
85
|
+
ui?: Omit<MultichainOptions['ui'], 'factory'>;
|
|
86
|
+
} & {
|
|
87
|
+
storage?: StoreClient;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Complete options for Multichain SDK configuration.
|
|
91
|
+
*
|
|
92
|
+
* This type extends the base options with storage configuration,
|
|
93
|
+
* providing all necessary options for SDK initialization.
|
|
94
|
+
*/
|
|
95
|
+
export type CreateMultichainFN = (options: MultiChainFNOptions) => Promise<MultichainCore>;
|
|
96
|
+
export type ExtendedTransport = Omit<Transport, 'connect'> & {
|
|
97
|
+
connect: (props?: {
|
|
98
|
+
scopes: Scope[];
|
|
99
|
+
caipAccountIds: CaipAccountId[];
|
|
100
|
+
}) => Promise<void>;
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/multichain/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domain/multichain/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare enum PlatformType {
|
|
2
|
+
NonBrowser = "nodejs",
|
|
3
|
+
MetaMaskMobileWebview = "in-app-browser",
|
|
4
|
+
DesktopWeb = "web-desktop",
|
|
5
|
+
MobileWeb = "web-mobile",
|
|
6
|
+
ReactNative = "react-native"
|
|
7
|
+
}
|
|
8
|
+
export declare function getPlatformType(): PlatformType;
|
|
9
|
+
/**
|
|
10
|
+
* Check if MetaMask extension is installed
|
|
11
|
+
*
|
|
12
|
+
* @returns True if extension is installed, false otherwise
|
|
13
|
+
*/
|
|
14
|
+
export declare function isMetamaskExtensionInstalled(): boolean;
|
|
15
|
+
export declare function isSecure(): boolean;
|
|
16
|
+
export declare function hasExtension(): Promise<boolean>;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/platform/index.ts"],"names":[],"mappings":"AAMA,oBAAY,YAAY;IAEtB,UAAU,WAAW;IAErB,qBAAqB,mBAAmB;IAExC,UAAU,gBAAgB;IAE1B,SAAS,eAAe;IAExB,WAAW,iBAAiB;CAC7B;AA8CD,wBAAgB,eAAe,IAAI,YAAY,CAc9C;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAMtD;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAGlC;AAiCD,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAErD"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
11
|
+
/* eslint-disable no-restricted-globals */
|
|
12
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
13
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
14
|
+
import { parse } from 'bowser';
|
|
15
|
+
export var PlatformType;
|
|
16
|
+
(function (PlatformType) {
|
|
17
|
+
// React Native or Nodejs
|
|
18
|
+
PlatformType["NonBrowser"] = "nodejs";
|
|
19
|
+
// MetaMask Mobile in-app browser
|
|
20
|
+
PlatformType["MetaMaskMobileWebview"] = "in-app-browser";
|
|
21
|
+
// Desktop Browser
|
|
22
|
+
PlatformType["DesktopWeb"] = "web-desktop";
|
|
23
|
+
// Mobile Browser
|
|
24
|
+
PlatformType["MobileWeb"] = "web-mobile";
|
|
25
|
+
// ReactNative
|
|
26
|
+
PlatformType["ReactNative"] = "react-native";
|
|
27
|
+
})(PlatformType || (PlatformType = {}));
|
|
28
|
+
function isNotBrowser() {
|
|
29
|
+
var _a;
|
|
30
|
+
if (typeof window === 'undefined') {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
if (!(window === null || window === void 0 ? void 0 : window.navigator)) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
if (typeof global !== 'undefined' &&
|
|
37
|
+
((_a = global === null || global === void 0 ? void 0 : global.navigator) === null || _a === void 0 ? void 0 : _a.product) === 'ReactNative') {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
return (navigator === null || navigator === void 0 ? void 0 : navigator.product) === 'ReactNative';
|
|
41
|
+
}
|
|
42
|
+
function isReactNative() {
|
|
43
|
+
var _a;
|
|
44
|
+
const hasWindowNavigator = typeof window !== 'undefined' && window.navigator !== undefined;
|
|
45
|
+
const nav = hasWindowNavigator ? window.navigator : undefined;
|
|
46
|
+
if (!nav) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
return hasWindowNavigator && ((_a = window.navigator) === null || _a === void 0 ? void 0 : _a.product) === 'ReactNative';
|
|
50
|
+
}
|
|
51
|
+
function isMetaMaskMobileWebView() {
|
|
52
|
+
return (typeof window !== 'undefined' &&
|
|
53
|
+
// @ts-expect-error ReactNativeWebView should be defined
|
|
54
|
+
Boolean(window.ReactNativeWebView) &&
|
|
55
|
+
Boolean(window.navigator.userAgent.endsWith('MetaMaskMobile')));
|
|
56
|
+
}
|
|
57
|
+
function isMobile() {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
const browser = parse(window.navigator.userAgent);
|
|
60
|
+
return (((_a = browser === null || browser === void 0 ? void 0 : browser.platform) === null || _a === void 0 ? void 0 : _a.type) === 'mobile' || ((_b = browser === null || browser === void 0 ? void 0 : browser.platform) === null || _b === void 0 ? void 0 : _b.type) === 'tablet');
|
|
61
|
+
}
|
|
62
|
+
export function getPlatformType() {
|
|
63
|
+
if (isReactNative()) {
|
|
64
|
+
return PlatformType.ReactNative;
|
|
65
|
+
}
|
|
66
|
+
if (isNotBrowser()) {
|
|
67
|
+
return PlatformType.NonBrowser;
|
|
68
|
+
}
|
|
69
|
+
if (isMetaMaskMobileWebView()) {
|
|
70
|
+
return PlatformType.MetaMaskMobileWebview;
|
|
71
|
+
}
|
|
72
|
+
if (isMobile()) {
|
|
73
|
+
return PlatformType.MobileWeb;
|
|
74
|
+
}
|
|
75
|
+
return PlatformType.DesktopWeb;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Check if MetaMask extension is installed
|
|
79
|
+
*
|
|
80
|
+
* @returns True if extension is installed, false otherwise
|
|
81
|
+
*/
|
|
82
|
+
export function isMetamaskExtensionInstalled() {
|
|
83
|
+
var _a;
|
|
84
|
+
if (typeof window === 'undefined') {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
// @ts-expect-error ethereum should be defined
|
|
88
|
+
return Boolean((_a = window.ethereum) === null || _a === void 0 ? void 0 : _a.isMetaMask);
|
|
89
|
+
}
|
|
90
|
+
export function isSecure() {
|
|
91
|
+
const platformType = getPlatformType();
|
|
92
|
+
return isReactNative() || platformType === PlatformType.MobileWeb;
|
|
93
|
+
}
|
|
94
|
+
// Immediately start MetaMask detection when module loads
|
|
95
|
+
const detectionPromise = (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
96
|
+
const pt = getPlatformType();
|
|
97
|
+
if (pt === PlatformType.NonBrowser || pt === PlatformType.ReactNative) {
|
|
98
|
+
return Promise.resolve(false);
|
|
99
|
+
}
|
|
100
|
+
return new Promise((resolve) => {
|
|
101
|
+
const providers = [];
|
|
102
|
+
const handler = (event) => {
|
|
103
|
+
var _a, _b;
|
|
104
|
+
if ((_b = (_a = event === null || event === void 0 ? void 0 : event.detail) === null || _a === void 0 ? void 0 : _a.info) === null || _b === void 0 ? void 0 : _b.rdns) {
|
|
105
|
+
providers.push(event.detail);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
window.addEventListener('eip6963:announceProvider', handler);
|
|
109
|
+
window.dispatchEvent(new Event('eip6963:requestProvider'));
|
|
110
|
+
setTimeout(() => {
|
|
111
|
+
window.removeEventListener('eip6963:announceProvider', handler);
|
|
112
|
+
const hasMetaMask = providers.some((provider) => { var _a; return ((_a = provider === null || provider === void 0 ? void 0 : provider.info) === null || _a === void 0 ? void 0 : _a.rdns) === 'io.metamask'; });
|
|
113
|
+
resolve(hasMetaMask);
|
|
114
|
+
}, 300); // default timeout
|
|
115
|
+
});
|
|
116
|
+
}))();
|
|
117
|
+
export function hasExtension() {
|
|
118
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
return detectionPromise;
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/platform/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type StoreOptions = Record<string, any>;
|
|
2
|
+
export declare abstract class StoreAdapter {
|
|
3
|
+
options?: StoreOptions | undefined;
|
|
4
|
+
abstract platform: 'web' | 'rn' | 'node';
|
|
5
|
+
constructor(options?: StoreOptions | undefined);
|
|
6
|
+
abstract get(key: string): Promise<string | null>;
|
|
7
|
+
abstract set(key: string, value: string): Promise<void>;
|
|
8
|
+
abstract delete(key: string): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/domain/store/adapter.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/C,8BAAsB,YAAY;IAGb,OAAO,CAAC,EAAE,YAAY;IAFzC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;gBAEtB,OAAO,CAAC,EAAE,YAAY,YAAA;IAEzC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAEjD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvD,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/domain/store/adapter.ts"],"names":[],"mappings":"AAKA,MAAM,OAAgB,YAAY;IAGhC,YAAmB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;CAO9C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { StoreAdapter } from '.';
|
|
2
|
+
import type { TransportType } from '../multichain';
|
|
3
|
+
export declare abstract class StoreClient {
|
|
4
|
+
abstract adapter: StoreAdapter;
|
|
5
|
+
abstract getAnonId(): Promise<string>;
|
|
6
|
+
abstract getExtensionId(): Promise<string | null>;
|
|
7
|
+
abstract setExtensionId(extensionId: string): Promise<void>;
|
|
8
|
+
abstract getTransport(): Promise<TransportType | null>;
|
|
9
|
+
abstract setTransport(transport: TransportType): Promise<void>;
|
|
10
|
+
abstract removeTransport(): Promise<void>;
|
|
11
|
+
abstract setAnonId(anonId: string): Promise<void>;
|
|
12
|
+
abstract removeExtensionId(): Promise<void>;
|
|
13
|
+
abstract removeAnonId(): Promise<void>;
|
|
14
|
+
abstract getDebug(): Promise<string | null>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/domain/store/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAE/B,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAErC,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAEjD,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE3D,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAEtD,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9D,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjD,QAAQ,CAAC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAE3C,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/domain/store/client.ts"],"names":[],"mappings":"AAIA,MAAM,OAAgB,WAAW;CAsBhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Transport } from '@metamask/multichain-api-client';
|
|
2
|
+
import type { CaipAccountId } from '@metamask/utils';
|
|
3
|
+
import type { MultichainOptions, Scope, SessionData } from '../multichain';
|
|
4
|
+
/**
|
|
5
|
+
* Options passed when establishing a connection through a modal.
|
|
6
|
+
* Contains the scopes (permissions) and account IDs involved in the connection.
|
|
7
|
+
*/
|
|
8
|
+
export type ModalFactoryConnectOptions = {
|
|
9
|
+
scopes: Scope[];
|
|
10
|
+
caipAccountIds: CaipAccountId[];
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Configuration options for the modal factory.
|
|
14
|
+
* Combines mobile settings from SDK options with UI preferences and connection handling.
|
|
15
|
+
*/
|
|
16
|
+
export type ModalFactoryOptions = Pick<MultichainOptions, 'mobile' | 'transport'> & {
|
|
17
|
+
ui: {
|
|
18
|
+
headless?: boolean;
|
|
19
|
+
preferExtension?: boolean;
|
|
20
|
+
preferDesktop?: boolean;
|
|
21
|
+
};
|
|
22
|
+
onConnection: (transport: Transport, options: ModalFactoryConnectOptions) => Promise<void>;
|
|
23
|
+
getCurrentSession: () => Promise<SessionData | undefined>;
|
|
24
|
+
connection?: ModalFactoryConnectOptions;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/domain/ui/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,iBAAiB,EACjB,QAAQ,GAAG,WAAW,CACvB,GAAG;IACF,EAAE,EAAE;QACF,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,YAAY,EAAE,CACZ,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,0BAA0B,KAChC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,iBAAiB,EAAE,MAAM,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC1D,UAAU,CAAC,EAAE,0BAA0B,CAAC;CACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/domain/ui/factory.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/ui/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,WAAW,CAAC;AAC/B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/ui/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Components } from '@metamask/multichain-ui';
|
|
2
|
+
import type { ConnectionRequest } from '../multichain';
|
|
3
|
+
export type OTPCode = string;
|
|
4
|
+
export type QRLink = string;
|
|
5
|
+
export type InstallWidgetProps = Components.MmInstallModal & {
|
|
6
|
+
parentElement?: Element;
|
|
7
|
+
connectionRequest: ConnectionRequest;
|
|
8
|
+
onClose: (shouldTerminate?: boolean) => void;
|
|
9
|
+
startDesktopOnboarding: () => void;
|
|
10
|
+
createConnectionRequest: () => Promise<ConnectionRequest>;
|
|
11
|
+
generateQRCode: (connectionRequest: ConnectionRequest) => Promise<QRLink>;
|
|
12
|
+
};
|
|
13
|
+
export type OTPCodeWidgetProps = Components.MmOtpModal & {
|
|
14
|
+
parentElement?: Element;
|
|
15
|
+
onClose: () => Promise<void>;
|
|
16
|
+
onDisconnect?: () => void;
|
|
17
|
+
createOTPCode: () => Promise<OTPCode>;
|
|
18
|
+
updateOTPCode: (otpValue: string) => void;
|
|
19
|
+
};
|
|
20
|
+
export type DataType = OTPCode | QRLink;
|
|
21
|
+
/**
|
|
22
|
+
* Abstract Modal class with shared functionality across all models
|
|
23
|
+
*/
|
|
24
|
+
export declare abstract class Modal<Options, Data extends DataType = DataType> {
|
|
25
|
+
protected readonly options: Options;
|
|
26
|
+
protected abstract instance?: HTMLMmInstallModalElement | HTMLMmOtpModalElement | undefined;
|
|
27
|
+
abstract mount(): void;
|
|
28
|
+
abstract unmount(): void;
|
|
29
|
+
constructor(options: Options);
|
|
30
|
+
get isMounted(): boolean;
|
|
31
|
+
get data(): Data;
|
|
32
|
+
set data(data: Data);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/ui/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,cAAc,GAAG;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1D,cAAc,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3E,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,GAAG;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACxC;;GAEG;AACH,8BAAsB,KAAK,CAAC,OAAO,EAAE,IAAI,SAAS,QAAQ,GAAG,QAAQ;IAWvD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO;IAV/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACxB,yBAAyB,GACzB,qBAAqB,GACrB,SAAS,CAAC;IAEd,QAAQ,CAAC,KAAK,IAAI,IAAI;IAEtB,QAAQ,CAAC,OAAO,IAAI,IAAI;gBAGO,OAAO,EAAE,OAAO;IAE/C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,IAAI,IAAI,IAAI,CAkBf;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAgBlB;CACF"}
|