@multiplatform.one/web3 7.31.1 → 7.33.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/README.md +84 -0
- package/dist/cjs/clients/evm.cjs +52 -1
- package/dist/cjs/clients/evm.native.js +56 -1
- package/dist/cjs/clients/evm.native.js.map +1 -1
- package/dist/cjs/clients/hooks.cjs +5 -2
- package/dist/cjs/clients/hooks.native.js +7 -2
- package/dist/cjs/clients/hooks.native.js.map +1 -1
- package/dist/cjs/clients/index.cjs +4 -0
- package/dist/cjs/clients/index.native.js +4 -0
- package/dist/cjs/clients/index.native.js.map +1 -1
- package/dist/cjs/clients/preparedSend.cjs +96 -0
- package/dist/cjs/clients/preparedSend.native.js +225 -0
- package/dist/cjs/clients/preparedSend.native.js.map +1 -0
- package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.cjs +108 -27
- package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.native.js +105 -28
- package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
- package/dist/cjs/connectkit/index.cjs +2 -0
- package/dist/cjs/connectkit/index.native.js +2 -0
- package/dist/cjs/connectkit/index.native.js.map +1 -1
- package/dist/cjs/connectkit/openConnector/context.cjs +16 -3
- package/dist/cjs/connectkit/openConnector/context.native.js +19 -4
- package/dist/cjs/connectkit/openConnector/context.native.js.map +1 -1
- package/dist/cjs/connectkit/openConnector/launcher.cjs +2 -2
- package/dist/cjs/connectkit/openConnector/launcher.native.js +2 -2
- package/dist/cjs/connectkit/openConnector/launcher.native.js.map +1 -1
- package/dist/cjs/phantom/evm.cjs +133 -0
- package/dist/cjs/phantom/evm.native.js +269 -0
- package/dist/cjs/phantom/evm.native.js.map +1 -0
- package/dist/cjs/phantom/index.cjs +36 -0
- package/dist/cjs/phantom/index.native.js +39 -0
- package/dist/cjs/phantom/index.native.js.map +1 -0
- package/dist/cjs/phantom/urls.cjs +33 -0
- package/dist/cjs/phantom/urls.native.js +38 -0
- package/dist/cjs/phantom/urls.native.js.map +1 -0
- package/dist/cjs/wagmi/driver.cjs +13 -9
- package/dist/cjs/wagmi/driver.native.js +17 -9
- package/dist/cjs/wagmi/driver.native.js.map +1 -1
- package/dist/esm/clients/evm.mjs +53 -2
- package/dist/esm/clients/evm.mjs.map +1 -1
- package/dist/esm/clients/evm.native.js +57 -2
- package/dist/esm/clients/evm.native.js.map +1 -1
- package/dist/esm/clients/hooks.mjs +5 -2
- package/dist/esm/clients/hooks.mjs.map +1 -1
- package/dist/esm/clients/hooks.native.js +7 -2
- package/dist/esm/clients/hooks.native.js.map +1 -1
- package/dist/esm/clients/index.mjs +2 -1
- package/dist/esm/clients/index.mjs.map +1 -1
- package/dist/esm/clients/index.native.js +2 -1
- package/dist/esm/clients/index.native.js.map +1 -1
- package/dist/esm/clients/preparedSend.mjs +69 -0
- package/dist/esm/clients/preparedSend.mjs.map +1 -0
- package/dist/esm/clients/preparedSend.native.js +195 -0
- package/dist/esm/clients/preparedSend.native.js.map +1 -0
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs +107 -28
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -1
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js +104 -29
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
- package/dist/esm/connectkit/index.mjs +2 -2
- package/dist/esm/connectkit/index.mjs.map +1 -1
- package/dist/esm/connectkit/index.native.js +2 -2
- package/dist/esm/connectkit/index.native.js.map +1 -1
- package/dist/esm/connectkit/openConnector/context.mjs +17 -4
- package/dist/esm/connectkit/openConnector/context.mjs.map +1 -1
- package/dist/esm/connectkit/openConnector/context.native.js +20 -5
- package/dist/esm/connectkit/openConnector/context.native.js.map +1 -1
- package/dist/esm/connectkit/openConnector/launcher.mjs +2 -2
- package/dist/esm/connectkit/openConnector/launcher.mjs.map +1 -1
- package/dist/esm/connectkit/openConnector/launcher.native.js +2 -2
- package/dist/esm/connectkit/openConnector/launcher.native.js.map +1 -1
- package/dist/esm/phantom/evm.mjs +103 -0
- package/dist/esm/phantom/evm.mjs.map +1 -0
- package/dist/esm/phantom/evm.native.js +236 -0
- package/dist/esm/phantom/evm.native.js.map +1 -0
- package/dist/esm/phantom/index.mjs +4 -0
- package/dist/esm/phantom/index.mjs.map +1 -0
- package/dist/esm/phantom/index.native.js +4 -0
- package/dist/esm/phantom/index.native.js.map +1 -0
- package/dist/esm/phantom/urls.mjs +7 -0
- package/dist/esm/phantom/urls.mjs.map +1 -0
- package/dist/esm/phantom/urls.native.js +9 -0
- package/dist/esm/phantom/urls.native.js.map +1 -0
- package/dist/esm/wagmi/driver.mjs +14 -10
- package/dist/esm/wagmi/driver.mjs.map +1 -1
- package/dist/esm/wagmi/driver.native.js +18 -10
- package/dist/esm/wagmi/driver.native.js.map +1 -1
- package/dist/jsx/clients/evm.mjs +53 -2
- package/dist/jsx/clients/evm.mjs.map +1 -1
- package/dist/jsx/clients/evm.native.js +56 -1
- package/dist/jsx/clients/evm.native.js.map +1 -1
- package/dist/jsx/clients/hooks.mjs +5 -2
- package/dist/jsx/clients/hooks.mjs.map +1 -1
- package/dist/jsx/clients/hooks.native.js +7 -2
- package/dist/jsx/clients/hooks.native.js.map +1 -1
- package/dist/jsx/clients/index.mjs +2 -1
- package/dist/jsx/clients/index.mjs.map +1 -1
- package/dist/jsx/clients/index.native.js +4 -0
- package/dist/jsx/clients/index.native.js.map +1 -1
- package/dist/jsx/clients/preparedSend.mjs +69 -0
- package/dist/jsx/clients/preparedSend.mjs.map +1 -0
- package/dist/jsx/clients/preparedSend.native.js +225 -0
- package/dist/jsx/clients/preparedSend.native.js.map +1 -0
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs +107 -28
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -1
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js +105 -28
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
- package/dist/jsx/connectkit/index.mjs +2 -2
- package/dist/jsx/connectkit/index.mjs.map +1 -1
- package/dist/jsx/connectkit/index.native.js +2 -0
- package/dist/jsx/connectkit/index.native.js.map +1 -1
- package/dist/jsx/connectkit/openConnector/context.mjs +17 -4
- package/dist/jsx/connectkit/openConnector/context.mjs.map +1 -1
- package/dist/jsx/connectkit/openConnector/context.native.js +19 -4
- package/dist/jsx/connectkit/openConnector/context.native.js.map +1 -1
- package/dist/jsx/connectkit/openConnector/launcher.mjs +2 -2
- package/dist/jsx/connectkit/openConnector/launcher.mjs.map +1 -1
- package/dist/jsx/connectkit/openConnector/launcher.native.js +2 -2
- package/dist/jsx/connectkit/openConnector/launcher.native.js.map +1 -1
- package/dist/jsx/phantom/evm.mjs +103 -0
- package/dist/jsx/phantom/evm.mjs.map +1 -0
- package/dist/jsx/phantom/evm.native.js +269 -0
- package/dist/jsx/phantom/evm.native.js.map +1 -0
- package/dist/jsx/phantom/index.mjs +4 -0
- package/dist/jsx/phantom/index.mjs.map +1 -0
- package/dist/jsx/phantom/index.native.js +39 -0
- package/dist/jsx/phantom/index.native.js.map +1 -0
- package/dist/jsx/phantom/urls.mjs +7 -0
- package/dist/jsx/phantom/urls.mjs.map +1 -0
- package/dist/jsx/phantom/urls.native.js +38 -0
- package/dist/jsx/phantom/urls.native.js.map +1 -0
- package/dist/jsx/wagmi/driver.mjs +14 -10
- package/dist/jsx/wagmi/driver.mjs.map +1 -1
- package/dist/jsx/wagmi/driver.native.js +17 -9
- package/dist/jsx/wagmi/driver.native.js.map +1 -1
- package/dist/keycloak/login.iife.js +382 -382
- package/package.json +12 -6
- package/src/clients/evm.ts +86 -0
- package/src/clients/hooks.spec.tsx +1 -0
- package/src/clients/hooks.ts +4 -1
- package/src/clients/index.ts +12 -0
- package/src/clients/preparedSend.spec.ts +214 -0
- package/src/clients/preparedSend.ts +136 -0
- package/src/connectkit/connectors/metaMaskConnectConnector.spec.ts +256 -4
- package/src/connectkit/connectors/metaMaskConnectConnector.ts +145 -33
- package/src/connectkit/index.ts +2 -0
- package/src/connectkit/openConnector/context.tsx +10 -5
- package/src/connectkit/openConnector/launcher.spec.ts +24 -2
- package/src/connectkit/openConnector/launcher.ts +10 -3
- package/src/core/types.ts +7 -0
- package/src/phantom/evm.spec.ts +195 -0
- package/src/phantom/evm.ts +163 -0
- package/src/phantom/index.ts +16 -0
- package/src/phantom/urls.spec.ts +29 -0
- package/src/phantom/urls.ts +16 -0
- package/src/wagmi/driver.spec.ts +31 -0
- package/src/wagmi/driver.ts +11 -4
- package/types/clients/evm.d.ts +32 -0
- package/types/clients/evm.d.ts.map +1 -1
- package/types/clients/hooks.d.ts.map +1 -1
- package/types/clients/index.d.ts +2 -1
- package/types/clients/index.d.ts.map +1 -1
- package/types/clients/preparedSend.d.ts +71 -0
- package/types/clients/preparedSend.d.ts.map +1 -0
- package/types/connectkit/connectors/metaMaskConnectConnector.d.ts +27 -0
- package/types/connectkit/connectors/metaMaskConnectConnector.d.ts.map +1 -1
- package/types/connectkit/index.d.ts +1 -1
- package/types/connectkit/index.d.ts.map +1 -1
- package/types/connectkit/openConnector/context.d.ts.map +1 -1
- package/types/connectkit/openConnector/launcher.d.ts +8 -1
- package/types/connectkit/openConnector/launcher.d.ts.map +1 -1
- package/types/core/types.d.ts +7 -0
- package/types/core/types.d.ts.map +1 -1
- package/types/phantom/evm.d.ts +76 -0
- package/types/phantom/evm.d.ts.map +1 -0
- package/types/phantom/index.d.ts +3 -0
- package/types/phantom/index.d.ts.map +1 -0
- package/types/phantom/urls.d.ts +11 -0
- package/types/phantom/urls.d.ts.map +1 -0
- package/types/wagmi/driver.d.ts +1 -1
- package/types/wagmi/driver.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clients/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,WAAW,GACjB,MAAM,OAAO,CAAC;AACf,OAAO,EACL,aAAa,EACb,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,cAAc,GACpB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EACL,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clients/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,+BAA+B,EACpC,KAAK,iCAAiC,EACtC,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,WAAW,GACjB,MAAM,OAAO,CAAC;AACf,OAAO,EACL,gCAAgC,EAChC,cAAc,EACd,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,uBAAuB,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,cAAc,GACpB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EACL,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { type Address, type Hash, type Hex, type PublicClient, type RpcTransactionRequest } from "viem";
|
|
2
|
+
/**
|
|
3
|
+
* A phone wallet reached by deeplink (MetaMask Connect, Phantom) opens only
|
|
4
|
+
* while the tap that asked for it still has its user activation. Chrome on
|
|
5
|
+
* Android asks "Continue to MetaMask?" when the request comes after an await,
|
|
6
|
+
* and iOS always asks. So everything that needs the network (nonce, gas, fees,
|
|
7
|
+
* a simulation) happens before the tap, and the tap's handler calls `send()`,
|
|
8
|
+
* which hands eth_sendTransaction to the wallet before it returns.
|
|
9
|
+
*/
|
|
10
|
+
/** The wallet's EIP-1193 `request`: an injected provider's, MetaMask Connect's, Phantom's. */
|
|
11
|
+
export type Eip1193Request = (args: {
|
|
12
|
+
method: string;
|
|
13
|
+
params?: unknown;
|
|
14
|
+
}) => Promise<unknown>;
|
|
15
|
+
/** What a prepared send carries, the transaction to send and the state it was built for. */
|
|
16
|
+
export interface PreparedEvmSend {
|
|
17
|
+
/** The eth_sendTransaction parameter, hex encoded. */
|
|
18
|
+
readonly request: RpcTransactionRequest & {
|
|
19
|
+
from: Address;
|
|
20
|
+
chainId: Hex;
|
|
21
|
+
};
|
|
22
|
+
readonly from: Address;
|
|
23
|
+
readonly chainId: number;
|
|
24
|
+
/** `Date.now()` when it was prepared. */
|
|
25
|
+
readonly preparedAt: number;
|
|
26
|
+
/**
|
|
27
|
+
* Sends it. Call it synchronously from the tap's handler with nothing awaited
|
|
28
|
+
* before it: the wallet gets eth_sendTransaction before `send()` returns.
|
|
29
|
+
* Rejects with PreparedSendStaleError, sending nothing, when the wallet's
|
|
30
|
+
* account or chain moved since it was prepared or it is older than `maxAgeMs`.
|
|
31
|
+
*/
|
|
32
|
+
send(): Promise<Hash>;
|
|
33
|
+
}
|
|
34
|
+
export type PreparedSendStaleReason = "account" | "chain" | "expired";
|
|
35
|
+
/** A prepared send refused because the wallet or the clock moved on. Nothing was sent. */
|
|
36
|
+
export declare class PreparedSendStaleError extends Error {
|
|
37
|
+
readonly reason: PreparedSendStaleReason;
|
|
38
|
+
constructor(reason: PreparedSendStaleReason, detail: string);
|
|
39
|
+
}
|
|
40
|
+
/** The wallet's account and chain right now, read without awaiting (wagmi's `getAccount`). */
|
|
41
|
+
export type CurrentWalletState = () => {
|
|
42
|
+
address?: string;
|
|
43
|
+
chainId?: number;
|
|
44
|
+
} | undefined;
|
|
45
|
+
export interface PrepareEvmSendParameters {
|
|
46
|
+
/** Reads: nonce, gas and fees come from here, never from the wallet. */
|
|
47
|
+
publicClient: PublicClient;
|
|
48
|
+
/** The wallet that signs and sends. */
|
|
49
|
+
request: Eip1193Request;
|
|
50
|
+
from: Address;
|
|
51
|
+
chainId: number;
|
|
52
|
+
to: Address;
|
|
53
|
+
data?: Hex;
|
|
54
|
+
value?: bigint;
|
|
55
|
+
/** Skip the estimate. */
|
|
56
|
+
gas?: bigint;
|
|
57
|
+
/** Skip the lookup. */
|
|
58
|
+
nonce?: number;
|
|
59
|
+
/** Checked by `send()` before it sends. */
|
|
60
|
+
current?: CurrentWalletState;
|
|
61
|
+
/** How long the gas, fees and nonce stay good. 60 s by default. */
|
|
62
|
+
maxAgeMs?: number;
|
|
63
|
+
}
|
|
64
|
+
export declare const DEFAULT_PREPARED_SEND_MAX_AGE_MS = 60000;
|
|
65
|
+
/**
|
|
66
|
+
* Prepares a transaction for any EIP-1193 wallet so the send fires inside the
|
|
67
|
+
* user's tap. Works for a native-coin transfer (`value`) and for a contract
|
|
68
|
+
* call (`data`, from viem's `encodeFunctionData`).
|
|
69
|
+
*/
|
|
70
|
+
export declare function prepareEvmSend(parameters: PrepareEvmSendParameters): Promise<PreparedEvmSend>;
|
|
71
|
+
//# sourceMappingURL=preparedSend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preparedSend.d.ts","sourceRoot":"","sources":["../../src/clients/preparedSend.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC3B,MAAM,MAAM,CAAC;AAEd;;;;;;;GAOG;AAEH,8FAA8F;AAC9F,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9F,4FAA4F;AAC5F,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtE,0FAA0F;AAC1F,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;gBAC7B,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM;CAK5D;AAED,8FAA8F;AAC9F,MAAM,MAAM,kBAAkB,GAAG,MAAM;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC;AAE1F,MAAM,WAAW,wBAAwB;IACvC,wEAAwE;IACxE,YAAY,EAAE,YAAY,CAAC;IAC3B,uCAAuC;IACvC,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,gCAAgC,QAAS,CAAC;AAIvD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,wBAAwB,GACnC,OAAO,CAAC,eAAe,CAAC,CAkD1B"}
|
|
@@ -14,6 +14,18 @@ export type MetaMaskConnectParameters = {
|
|
|
14
14
|
/** `metamask://` instead of the https://metamask.app.link universal link. */
|
|
15
15
|
useDeeplink?: boolean;
|
|
16
16
|
debug?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* MetaMask is the phone app, reached over the relay: every request it has to
|
|
19
|
+
* approve is a trip to the app that only a tap can start. Defaults to
|
|
20
|
+
* connectkit's `isMobile()`.
|
|
21
|
+
*/
|
|
22
|
+
mobile?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* On a phone, whether a switch to `chain` asks MetaMask to add it
|
|
25
|
+
* (`wallet_addEthereumChain`, which adds the network and switches in one trip)
|
|
26
|
+
* rather than to switch to it. Defaults to `metaMaskMayLackChain`.
|
|
27
|
+
*/
|
|
28
|
+
addChainFirst?: (chain: Chain) => boolean;
|
|
17
29
|
};
|
|
18
30
|
type ConnectorConfig = Parameters<CreateConnectorFn>[0];
|
|
19
31
|
/**
|
|
@@ -31,8 +43,23 @@ export declare function metaMaskNetworks(chains: readonly Chain[], transports?:
|
|
|
31
43
|
* included, so the wallet could never prove itself (PROMA-121).
|
|
32
44
|
*/
|
|
33
45
|
export declare function metaMaskSupportedNetworks(networks: Record<Hex, string>, transports?: ConnectorConfig["transports"]): Record<Hex, string>;
|
|
46
|
+
/**
|
|
47
|
+
* Whether a phone's MetaMask may not have `chain` yet: a testnet it does not
|
|
48
|
+
* ship. A switch to a chain MetaMask lacks only answers "Unrecognized chain ID",
|
|
49
|
+
* and the add request that has to follow is a second trip to the app, which
|
|
50
|
+
* Chrome on Android drops when no tap started it.
|
|
51
|
+
*/
|
|
52
|
+
export declare function metaMaskMayLackChain(chain: Chain): boolean;
|
|
34
53
|
/** The chain ids a connect asks MetaMask for, the requested one first (it becomes the active chain). */
|
|
35
54
|
export declare function metaMaskConnectChainIds(networks: Record<Hex, string>, chainId?: number): Hex[];
|
|
55
|
+
/**
|
|
56
|
+
* Opens the MetaMask app again on the request it was last sent to. Call it
|
|
57
|
+
* synchronously from a tap, for an "Open MetaMask" button the page shows while
|
|
58
|
+
* a request waits: MetaMask can open before the request reaches it and show
|
|
59
|
+
* nothing, and a request sent after an await or a trip back opens nothing on
|
|
60
|
+
* Chrome for Android. Returns false when there is nothing to reopen.
|
|
61
|
+
*/
|
|
62
|
+
export declare function reopenMetaMask(): boolean;
|
|
36
63
|
/** Test seam: forget the page's client so the next connector builds a fresh one. */
|
|
37
64
|
export declare function resetMetaMaskConnectClient(): void;
|
|
38
65
|
export declare function metaMaskConnect(parameters: MetaMaskConnectParameters): CreateConnectorFn<EIP1193Provider, Record<string, unknown>, Record<string, unknown>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metaMaskConnectConnector.d.ts","sourceRoot":"","sources":["../../../src/connectkit/connectors/metaMaskConnectConnector.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"metaMaskConnectConnector.d.ts","sourceRoot":"","sources":["../../../src/connectkit/connectors/metaMaskConnectConnector.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAA2B,KAAK,iBAAiB,EAAmB,MAAM,OAAO,CAAC;AACzF,OAAO,EAEL,KAAK,KAAK,EAEV,KAAK,GAAG,EAKT,MAAM,MAAM,CAAC;AAKd,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CAC3C,CAAC;AAEF,KAAK,eAAe,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAGxD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,GACzC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAQrB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAC7B,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,GACzC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAOrB;AA6ED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAE1D;AAOD,wGAAwG;AACxG,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAK9F;AAqBD;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAIxC;AAgFD,oFAAoF;AACpF,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD;AAWD,wBAAgB,eAAe,CAAC,UAAU,EAAE,yBAAyB,wFAqJpE;yBArJe,eAAe"}
|
|
@@ -3,7 +3,7 @@ export { Types } from "@multiplatform.one/connectkit";
|
|
|
3
3
|
export { default as getDefaultConfig } from "./defaultConfig";
|
|
4
4
|
export { default as getDefaultConnectors } from "./defaultConnectors";
|
|
5
5
|
export { wallets } from "./wallets";
|
|
6
|
-
export { metaMaskConnect, type MetaMaskConnectParameters, } from "./connectors/metaMaskConnectConnector";
|
|
6
|
+
export { metaMaskConnect, metaMaskMayLackChain, reopenMetaMask, type MetaMaskConnectParameters, } from "./connectors/metaMaskConnectConnector";
|
|
7
7
|
export { useWeb3Modal as useModal } from "./useWeb3Modal";
|
|
8
8
|
export { DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS, DEFAULT_OPEN_CONNECTOR_FALLBACK_MS, type MobileConnectOptions, type OpenConnectorOptions, type Web3ConnectKitOptions, } from "./openConnector";
|
|
9
9
|
export { CONNECT_INTENT_TTL_MS } from "./siwe/connectIntent";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connectkit/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,eAAe,EACf,KAAK,yBAAyB,GAC/B,MAAM,uCAAuC,CAAC;AAI/C,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,0CAA0C,EAC1C,kCAAkC,EAClC,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAC7F,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAItD,OAAO,EACL,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAInE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAKhF,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,SAAS,GACf,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,uBAAuB,GAC7B,MAAM,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connectkit/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,KAAK,yBAAyB,GAC/B,MAAM,uCAAuC,CAAC;AAI/C,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,0CAA0C,EAC1C,kCAAkC,EAClC,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAC7F,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAItD,OAAO,EACL,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAInE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAKhF,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,SAAS,GACf,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,uBAAuB,GAC7B,MAAM,kCAAkC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/connectkit/openConnector/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AACf,OAAO,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/connectkit/openConnector/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AACf,OAAO,EAAwD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACtD,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACpE;;;OAGG;IACH,sBAAsB,EAAE,MAAM,OAAO,CAAC;IACtC,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,8EAA8E;IAC9E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,yEAAyE;IACzE,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAChC,CAAC;AAIF,+DAA+D;AAC/D,wBAAgB,oBAAoB,IAAI,sBAAsB,GAAG,IAAI,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAElF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,EAAE,EAAE,MAAM,GACT,WAAW,GAAG,SAAS,CAOzB;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAyF7E,CAAC"}
|
|
@@ -15,6 +15,13 @@ export type OpenConnectorOptions = {
|
|
|
15
15
|
* to settle however long that takes.
|
|
16
16
|
*/
|
|
17
17
|
fallbackMs?: number;
|
|
18
|
+
/**
|
|
19
|
+
* The chain to connect on. MetaMask asks the wallet for it first, so a page
|
|
20
|
+
* that knows its purchase chain connects there and needs no switch after.
|
|
21
|
+
* Must be one of the config's chains; a wallet that does not grant it
|
|
22
|
+
* connects on another, which the connect result reports.
|
|
23
|
+
*/
|
|
24
|
+
chainId?: number;
|
|
18
25
|
};
|
|
19
26
|
export type PendingConnect = {
|
|
20
27
|
/** The wallet-list id the connect was opened for. */
|
|
@@ -25,7 +32,7 @@ export type PendingConnect = {
|
|
|
25
32
|
};
|
|
26
33
|
type Listener = (event: Event) => void;
|
|
27
34
|
export type LauncherDeps = {
|
|
28
|
-
connect: (connector: Connector) => Promise<unknown>;
|
|
35
|
+
connect: (connector: Connector, chainId?: number) => Promise<unknown>;
|
|
29
36
|
/** Show the connecting state for this wallet. */
|
|
30
37
|
showConnecting: (walletId: string) => void;
|
|
31
38
|
/** Show the wallet list. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../../src/connectkit/openConnector/launcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAgBvC,kFAAkF;AAClF,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,0CAA0C,QAAS,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../../src/connectkit/openConnector/launcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAgBvC,kFAAkF;AAClF,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,0CAA0C,QAAS,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,iDAAiD;IACjD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,GAAG,CAAC,EAAE;QACJ,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;QAC7D,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;KACjE,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;QAC7D,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;QAChE,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,CAAC;AAOF,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;;OAKG;IACH,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACvF,OAAO,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD;;;;OAIG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,YAAY,GAAG,iBAAiB,CAkHtF"}
|
package/types/core/types.d.ts
CHANGED
|
@@ -24,6 +24,13 @@ export interface DriverState {
|
|
|
24
24
|
export interface DriverConnectOptions {
|
|
25
25
|
/** Called with a pairing URI when the connector hands off to another app or device. */
|
|
26
26
|
onDisplayUri?: (uri: string) => void;
|
|
27
|
+
/**
|
|
28
|
+
* EVM: the chain to connect on, asked of the wallet first so no switch is
|
|
29
|
+
* needed after. A chain the config does not list rejects before the wallet
|
|
30
|
+
* is asked. Ignored by drivers without EVM chains, and by a connector the
|
|
31
|
+
* driver already holds open.
|
|
32
|
+
*/
|
|
33
|
+
chainId?: number;
|
|
27
34
|
}
|
|
28
35
|
/** What the connection store's `connect` takes. */
|
|
29
36
|
export interface ConnectOptions extends DriverConnectOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,+FAA+F;AAC/F,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,YAAY,GAAG,cAAc,GAAG,WAAW,CAAC;AAE5F,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,oBAAoB;IACnC,uFAAuF;IACvF,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type Chain, type EIP1193Provider, type PublicClient } from "viem";
|
|
2
|
+
import { type EvmClient } from "../clients/evm";
|
|
3
|
+
export type PhantomEthereumProvider = EIP1193Provider & {
|
|
4
|
+
isPhantom?: boolean;
|
|
5
|
+
};
|
|
6
|
+
interface PhantomWindow {
|
|
7
|
+
phantom?: {
|
|
8
|
+
ethereum?: PhantomEthereumProvider;
|
|
9
|
+
};
|
|
10
|
+
ethereum?: PhantomEthereumProvider;
|
|
11
|
+
location?: {
|
|
12
|
+
href: string;
|
|
13
|
+
origin: string;
|
|
14
|
+
assign(url: string): void;
|
|
15
|
+
};
|
|
16
|
+
addEventListener?: (type: string, listener: (event: Event) => void) => void;
|
|
17
|
+
removeEventListener?: (type: string, listener: (event: Event) => void) => void;
|
|
18
|
+
dispatchEvent?: (event: Event) => boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Phantom's injected EVM provider: `window.phantom.ethereum`, else a
|
|
22
|
+
* `window.ethereum` that says it is Phantom. Present in Phantom's desktop
|
|
23
|
+
* extension and its in-app browser, never in Chrome or Safari on a phone.
|
|
24
|
+
*/
|
|
25
|
+
export declare function phantomEthereumProvider(win?: PhantomWindow): PhantomEthereumProvider | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* phantomEthereumProvider, or Phantom's EIP-6963 announcement (rdns
|
|
28
|
+
* `app.phantom`) when the provider is not on `window` yet. Resolves undefined
|
|
29
|
+
* after `timeout` ms.
|
|
30
|
+
*/
|
|
31
|
+
export declare function discoverPhantomEthereumProvider(options?: {
|
|
32
|
+
timeout?: number;
|
|
33
|
+
window?: PhantomWindow;
|
|
34
|
+
}): Promise<PhantomEthereumProvider | undefined>;
|
|
35
|
+
/**
|
|
36
|
+
* How this page reaches Phantom's EVM wallet: `injected` when Phantom's
|
|
37
|
+
* provider is here (extension or Phantom's browser), `browse` when the page
|
|
38
|
+
* must first reopen inside Phantom with openInPhantom.
|
|
39
|
+
*/
|
|
40
|
+
export declare function phantomEvmRoute(win?: PhantomWindow): "injected" | "browse";
|
|
41
|
+
export interface OpenInPhantomOptions {
|
|
42
|
+
/** The page to open in Phantom's browser. Defaults to this page. */
|
|
43
|
+
url?: string;
|
|
44
|
+
/** The requesting app. Defaults to this page's origin. */
|
|
45
|
+
ref?: string;
|
|
46
|
+
/** Defaults to `location.assign`. */
|
|
47
|
+
navigate?: (url: string) => void;
|
|
48
|
+
base?: string;
|
|
49
|
+
window?: PhantomWindow;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Reopens the page inside Phantom's in-app browser. Call it straight from the
|
|
53
|
+
* tap handler with nothing awaited first: mobile browsers only follow a link
|
|
54
|
+
* into another app without a prompt inside the tap's user activation.
|
|
55
|
+
* Returns the link, for an `<a href>` instead.
|
|
56
|
+
*/
|
|
57
|
+
export declare function openInPhantom(options?: OpenInPhantomOptions): string;
|
|
58
|
+
export interface ConnectPhantomEvmOptions {
|
|
59
|
+
chain: Chain;
|
|
60
|
+
/** Defaults to phantomEthereumProvider(). */
|
|
61
|
+
provider?: PhantomEthereumProvider;
|
|
62
|
+
publicClient?: PublicClient;
|
|
63
|
+
rpcUrl?: string;
|
|
64
|
+
}
|
|
65
|
+
export declare class PhantomNotInjectedError extends Error {
|
|
66
|
+
constructor();
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Connects Phantom's injected EVM wallet, moves it to `chain`, and returns
|
|
70
|
+
* the mpo EVM client on it, so `erc20.transfer` and `writeContract` go to
|
|
71
|
+
* Phantom for approval. Testnets such as Base Sepolia need Phantom's Testnet
|
|
72
|
+
* Mode on.
|
|
73
|
+
*/
|
|
74
|
+
export declare function connectPhantomEvm(options: ConnectPhantomEvmOptions): Promise<EvmClient>;
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=evm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/phantom/evm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AACxF,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3D,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhF,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,uBAAuB,CAAA;KAAE,CAAC;IACjD,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACvE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC;IAC5E,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC;IAC/E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CAC3C;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,aAA2C,GAC/C,uBAAuB,GAAG,SAAS,CAKrC;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAO,GACzD,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAqB9C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,aAA2C,yBAE/E;AAED,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,CAQxE;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;;CAOjD;AA8BD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,SAAS,CAAC,CAc7F"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { connectPhantomEvm, discoverPhantomEthereumProvider, openInPhantom, phantomEthereumProvider, phantomEvmRoute, PhantomNotInjectedError, type ConnectPhantomEvmOptions, type OpenInPhantomOptions, type PhantomEthereumProvider, } from "./evm";
|
|
2
|
+
export { phantomBrowseUrl, phantomUniversalLinkBase } from "./urls";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/phantom/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EACjB,+BAA+B,EAC/B,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Phantom's universal-link host. `https://phantom.app/ul` still answers; Phantom asks new code to use this one. */
|
|
2
|
+
export declare const phantomUniversalLinkBase = "https://phantom.com/ul";
|
|
3
|
+
/**
|
|
4
|
+
* Opens `url` inside Phantom's in-app browser, where Phantom injects
|
|
5
|
+
* `window.phantom.ethereum`. Phantom's deeplinks carry no EVM methods, so
|
|
6
|
+
* this is how a phone's browser reaches its EVM wallet.
|
|
7
|
+
*/
|
|
8
|
+
export declare function phantomBrowseUrl(url: string, ref: string, options?: {
|
|
9
|
+
base?: string;
|
|
10
|
+
}): string;
|
|
11
|
+
//# sourceMappingURL=urls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../src/phantom/urls.ts"],"names":[],"mappings":"AAAA,oHAAoH;AACpH,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,MAAM,CAGR"}
|
package/types/wagmi/driver.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/wagmi/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/wagmi/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,MAAM,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAY9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EACV,gBAAgB,EAGhB,WAAW,EAEZ,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC;IAC3C;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,CACP,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,WAAW,KACf,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACvD;AAkCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,gBAAgB,CAmN9F"}
|