@multiplatform.one/web3 7.31.0 → 7.32.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 +63 -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/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/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/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 +6 -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/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/wagmi/driver.d.ts +1 -1
- package/types/wagmi/driver.d.ts.map +1 -1
|
@@ -32,6 +32,13 @@ export type OpenConnectorOptions = {
|
|
|
32
32
|
* to settle however long that takes.
|
|
33
33
|
*/
|
|
34
34
|
fallbackMs?: number;
|
|
35
|
+
/**
|
|
36
|
+
* The chain to connect on. MetaMask asks the wallet for it first, so a page
|
|
37
|
+
* that knows its purchase chain connects there and needs no switch after.
|
|
38
|
+
* Must be one of the config's chains; a wallet that does not grant it
|
|
39
|
+
* connects on another, which the connect result reports.
|
|
40
|
+
*/
|
|
41
|
+
chainId?: number;
|
|
35
42
|
};
|
|
36
43
|
|
|
37
44
|
export type PendingConnect = {
|
|
@@ -45,7 +52,7 @@ export type PendingConnect = {
|
|
|
45
52
|
type Listener = (event: Event) => void;
|
|
46
53
|
|
|
47
54
|
export type LauncherDeps = {
|
|
48
|
-
connect: (connector: Connector) => Promise<unknown>;
|
|
55
|
+
connect: (connector: Connector, chainId?: number) => Promise<unknown>;
|
|
49
56
|
/** Show the connecting state for this wallet. */
|
|
50
57
|
showConnecting: (walletId: string) => void;
|
|
51
58
|
/** Show the wallet list. */
|
|
@@ -103,7 +110,7 @@ export function createConnectorLauncher(getDeps: () => LauncherDeps): ConnectorL
|
|
|
103
110
|
|
|
104
111
|
const current = session;
|
|
105
112
|
if (current && current.pending.connector.uid === connector.uid) {
|
|
106
|
-
deps.connect(connector).then(
|
|
113
|
+
deps.connect(connector, options.chainId).then(
|
|
107
114
|
() => end(current),
|
|
108
115
|
() => undefined,
|
|
109
116
|
);
|
|
@@ -173,7 +180,7 @@ export function createConnectorLauncher(getDeps: () => LauncherDeps): ConnectorL
|
|
|
173
180
|
};
|
|
174
181
|
|
|
175
182
|
connector.emitter?.on?.("message", onMessage);
|
|
176
|
-
deps.connect(connector).then(
|
|
183
|
+
deps.connect(connector, options.chainId).then(
|
|
177
184
|
() => end(s),
|
|
178
185
|
(error: unknown) => fallBack(error ?? new Error("connect failed")),
|
|
179
186
|
);
|
package/src/core/types.ts
CHANGED
|
@@ -29,6 +29,13 @@ export interface DriverState {
|
|
|
29
29
|
export interface DriverConnectOptions {
|
|
30
30
|
/** Called with a pairing URI when the connector hands off to another app or device. */
|
|
31
31
|
onDisplayUri?: (uri: string) => void;
|
|
32
|
+
/**
|
|
33
|
+
* EVM: the chain to connect on, asked of the wallet first so no switch is
|
|
34
|
+
* needed after. A chain the config does not list rejects before the wallet
|
|
35
|
+
* is asked. Ignored by drivers without EVM chains, and by a connector the
|
|
36
|
+
* driver already holds open.
|
|
37
|
+
*/
|
|
38
|
+
chainId?: number;
|
|
32
39
|
}
|
|
33
40
|
|
|
34
41
|
/** What the connection store's `connect` takes. */
|
package/src/wagmi/driver.spec.ts
CHANGED
|
@@ -71,6 +71,37 @@ function setup(options: { displayUri?: string } = {}) {
|
|
|
71
71
|
describeConnectionDriver("wagmiDriver", setup);
|
|
72
72
|
|
|
73
73
|
describe("wagmiDriver", () => {
|
|
74
|
+
it("connects on the chain the caller names", async () => {
|
|
75
|
+
const { driver, connector } = setup();
|
|
76
|
+
const spy = vi.spyOn(connector("wallet.one"), "connect");
|
|
77
|
+
const chainId = 8453;
|
|
78
|
+
|
|
79
|
+
await driver.connect("wallet.one", { chainId });
|
|
80
|
+
|
|
81
|
+
expect(spy).toHaveBeenCalledWith(expect.objectContaining({ chainId }));
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
it("refuses a chain the config does not list before asking the wallet", async () => {
|
|
85
|
+
const { driver, connector, wallets } = setup();
|
|
86
|
+
const spy = vi.spyOn(connector("wallet.one"), "connect");
|
|
87
|
+
|
|
88
|
+
await expect(driver.connect("wallet.one", { chainId: 999_999 })).rejects.toThrow(
|
|
89
|
+
/Chain not configured/,
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
expect(spy).not.toHaveBeenCalled();
|
|
93
|
+
expect(wallets.get("wallet.one").open).toBeFalsy();
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
it("connects as before when no chain is named", async () => {
|
|
97
|
+
const { driver, connector } = setup();
|
|
98
|
+
const spy = vi.spyOn(connector("wallet.one"), "connect");
|
|
99
|
+
|
|
100
|
+
await driver.connect("wallet.one");
|
|
101
|
+
|
|
102
|
+
expect(spy.mock.calls[0]![0]).not.toHaveProperty("chainId", expect.anything());
|
|
103
|
+
});
|
|
104
|
+
|
|
74
105
|
it("hands a pairing URI to onDisplayUri while connecting, and stops after", async () => {
|
|
75
106
|
const { driver, config, connector } = setup({ displayUri: "metamask://wc?uri=pair" });
|
|
76
107
|
const onDisplayUri = vi.fn();
|
package/src/wagmi/driver.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { ChainNotConfiguredError, type Config, type Connection, type Connector } from "wagmi";
|
|
2
2
|
import {
|
|
3
3
|
connect,
|
|
4
|
+
getAccount,
|
|
4
5
|
getPublicClient,
|
|
5
6
|
getWalletClient,
|
|
6
7
|
switchConnection,
|
|
@@ -231,17 +232,22 @@ export function wagmiDriver(config: Config, options: WagmiDriverOptions = {}): C
|
|
|
231
232
|
},
|
|
232
233
|
async connect(connectorId, connectOptions: DriverConnectOptions = {}) {
|
|
233
234
|
const connector = connectorFor(connectorId);
|
|
235
|
+
const { onDisplayUri, chainId } = connectOptions;
|
|
236
|
+
if (chainId !== undefined && !config.chains.some((chain) => chain.id === chainId))
|
|
237
|
+
throw new ChainNotConfiguredError();
|
|
234
238
|
const open = await reuse(connector);
|
|
235
239
|
if (open) return open;
|
|
236
240
|
if (empty(connector)) forget(connector);
|
|
237
|
-
const { onDisplayUri } = connectOptions;
|
|
238
241
|
const onMessage = ({ type, data }: { type: string; data?: unknown }) => {
|
|
239
242
|
if (type === "display_uri" && typeof data === "string") onDisplayUri?.(data);
|
|
240
243
|
};
|
|
241
244
|
if (onDisplayUri) connector.emitter.on("message", onMessage);
|
|
242
245
|
try {
|
|
243
|
-
const
|
|
244
|
-
|
|
246
|
+
const connection = await connect(
|
|
247
|
+
config,
|
|
248
|
+
chainId === undefined ? { connector } : { connector, chainId },
|
|
249
|
+
);
|
|
250
|
+
return opened(connector, connection.accounts, connection.chainId);
|
|
245
251
|
} finally {
|
|
246
252
|
if (onDisplayUri) connector.emitter.off("message", onMessage);
|
|
247
253
|
}
|
|
@@ -296,6 +302,7 @@ export function wagmiDriver(config: Config, options: WagmiDriverOptions = {}): C
|
|
|
296
302
|
return evmClient({
|
|
297
303
|
walletClient: walletClient as unknown as EvmWalletClient,
|
|
298
304
|
...(publicClient ? { publicClient: publicClient as unknown as PublicClient } : {}),
|
|
305
|
+
current: () => getAccount(config),
|
|
299
306
|
});
|
|
300
307
|
}
|
|
301
308
|
}
|
package/types/clients/evm.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Abi, type Account, type Address, type Chain, type ContractFunctionArgs, type ContractFunctionName, type EIP1193Provider, type Hash, type Hex, type PublicClient, type SendTransactionParameters, type TransactionReceipt, type Transport, type WalletClient, type WriteContractParameters } from "viem";
|
|
2
|
+
import { type CurrentWalletState, type PreparedEvmSend } from "./preparedSend";
|
|
2
3
|
import type { ChainClient } from "./types";
|
|
3
4
|
/** A viem wallet client with its account and chain hoisted, the shape wagmi's getWalletClient returns. */
|
|
4
5
|
export type EvmWalletClient = WalletClient<Transport, Chain, Account>;
|
|
@@ -158,6 +159,27 @@ export interface Erc20Actions {
|
|
|
158
159
|
signal?: AbortSignal;
|
|
159
160
|
}): Promise<Hash | null>;
|
|
160
161
|
}
|
|
162
|
+
/** What `prepareTransaction` takes: the transaction, and optionally its gas, nonce and lifetime. */
|
|
163
|
+
export interface EvmPrepareTransactionParameters {
|
|
164
|
+
to: Address;
|
|
165
|
+
data?: Hex;
|
|
166
|
+
value?: bigint;
|
|
167
|
+
gas?: bigint;
|
|
168
|
+
nonce?: number;
|
|
169
|
+
/** How long the prepared send stays good. 60 s by default. */
|
|
170
|
+
maxAgeMs?: number;
|
|
171
|
+
}
|
|
172
|
+
/** What `prepareWriteContract` takes: viem's contract call, simulated before the tap. */
|
|
173
|
+
export interface EvmPrepareWriteContractParameters<abi extends Abi | readonly unknown[] = Abi, functionName extends WritableFunctionName<abi> = WritableFunctionName<abi>> {
|
|
174
|
+
address: Address;
|
|
175
|
+
abi: abi;
|
|
176
|
+
functionName: functionName;
|
|
177
|
+
args?: ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>;
|
|
178
|
+
value?: bigint;
|
|
179
|
+
gas?: bigint;
|
|
180
|
+
nonce?: number;
|
|
181
|
+
maxAgeMs?: number;
|
|
182
|
+
}
|
|
161
183
|
export interface EvmClient extends ChainClient<"evm"> {
|
|
162
184
|
readonly address: Address;
|
|
163
185
|
readonly chainId: number;
|
|
@@ -189,6 +211,14 @@ export interface EvmClient extends ChainClient<"evm"> {
|
|
|
189
211
|
confirmTransaction(hash: Hash, options?: EvmWaitOptions): Promise<TransactionReceipt>;
|
|
190
212
|
/** The chain explorer's page for `hash`, when the chain names an explorer. */
|
|
191
213
|
explorerTxUrl(hash: Hash): string | undefined;
|
|
214
|
+
/**
|
|
215
|
+
* Does the network work for a send ahead of the user's tap (nonce, gas,
|
|
216
|
+
* fees), so the tap's handler calls `send()` with nothing awaited and the
|
|
217
|
+
* wallet app opens without "Continue to MetaMask?". See PreparedEvmSend.
|
|
218
|
+
*/
|
|
219
|
+
prepareTransaction(parameters: EvmPrepareTransactionParameters): Promise<PreparedEvmSend>;
|
|
220
|
+
/** prepareTransaction for a contract call: simulates it, then encodes it. */
|
|
221
|
+
prepareWriteContract<const abi extends Abi | readonly unknown[], functionName extends WritableFunctionName<abi>>(parameters: EvmPrepareWriteContractParameters<abi, functionName>): Promise<PreparedEvmSend>;
|
|
192
222
|
readonly erc20: Erc20Actions;
|
|
193
223
|
}
|
|
194
224
|
export type EvmClientConfig = ({
|
|
@@ -203,6 +233,8 @@ export type EvmClientConfig = ({
|
|
|
203
233
|
/** Reads go here. Defaults to an http client on `rpcUrl`, else the chain's default RPC. */
|
|
204
234
|
publicClient?: PublicClient;
|
|
205
235
|
rpcUrl?: string;
|
|
236
|
+
/** The wallet's account and chain now, which a prepared send checks before it sends. */
|
|
237
|
+
current?: CurrentWalletState;
|
|
206
238
|
};
|
|
207
239
|
/** Bind a viem WalletClient and PublicClient into the mpo EVM client. */
|
|
208
240
|
export declare function evmClient(config: EvmClientConfig): EvmClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/clients/evm.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/clients/evm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/clients/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/clients/hooks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,EAAa,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAC;AACxE,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,UAAU,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,GAAG,SAAS,CA6BzF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,aAAa,GAAG,SAAS,CAkBjG;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAYpD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAY5D"}
|
package/types/clients/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { ReadOnlyClientError, UnsupportedClientMethodError, type ChainClient, type ClientCapability, type ClientFamily, } from "./types";
|
|
2
|
-
export { classifyTxError, evmClient, ReceiptPendingError, ReceiptWaitAbortedError, TransactionReplacedError, TransactionRevertedError, type Erc20Actions, type EvmClient, type EvmClientConfig, type EvmReplacementReason, type EvmSendTransactionParameters, type EvmWaitOptions, type EvmWalletClient, type EvmWriteContractParameters, type TxErrorKind, } from "./evm";
|
|
2
|
+
export { classifyTxError, evmClient, ReceiptPendingError, ReceiptWaitAbortedError, TransactionReplacedError, TransactionRevertedError, type Erc20Actions, type EvmClient, type EvmClientConfig, type EvmPrepareTransactionParameters, type EvmPrepareWriteContractParameters, type EvmReplacementReason, type EvmSendTransactionParameters, type EvmWaitOptions, type EvmWalletClient, type EvmWriteContractParameters, type TxErrorKind, } from "./evm";
|
|
3
|
+
export { DEFAULT_PREPARED_SEND_MAX_AGE_MS, prepareEvmSend, PreparedSendStaleError, type CurrentWalletState, type Eip1193Request, type PrepareEvmSendParameters, type PreparedEvmSend, type PreparedSendStaleReason, } from "./preparedSend";
|
|
3
4
|
export { evmReadClient, evmReadClients, type Erc20ReadActions, type EvmReadClient, type EvmReadClientConfig, type EvmReadClients, } from "./evmRead";
|
|
4
5
|
export type { Web3ChainConfig } from "../providers/walletConfig";
|
|
5
6
|
export { suiClient, type SuiClient } from "./sui";
|
|
@@ -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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"}
|
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"}
|