thirdweb 5.30.1-nightly-07ec4873202a863bb313cd2c708bf410d9d2e09e-20240628000329 → 5.31.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/dist/cjs/chains/chain-definitions/linea-sepolia.js +18 -0
- package/dist/cjs/chains/chain-definitions/linea-sepolia.js.map +1 -0
- package/dist/cjs/chains/chain-definitions/linea.js +17 -0
- package/dist/cjs/chains/chain-definitions/linea.js.map +1 -0
- package/dist/cjs/chains/chain-definitions/sepolia.js +1 -1
- package/dist/cjs/exports/chains.js +5 -1
- package/dist/cjs/exports/chains.js.map +1 -1
- package/dist/cjs/exports/storage.js +3 -1
- package/dist/cjs/exports/storage.js.map +1 -1
- package/dist/cjs/exports/transaction.js.map +1 -1
- package/dist/cjs/exports/utils.js +2 -1
- package/dist/cjs/exports/utils.js.map +1 -1
- package/dist/cjs/extensions/erc1155/write/mintTo.js +1 -0
- package/dist/cjs/extensions/erc1155/write/mintTo.js.map +1 -1
- package/dist/cjs/extensions/erc20/write/mintTo.js +1 -0
- package/dist/cjs/extensions/erc20/write/mintTo.js.map +1 -1
- package/dist/cjs/extensions/erc721/write/mintTo.js +1 -0
- package/dist/cjs/extensions/erc721/write/mintTo.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js +6 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js.map +1 -1
- package/dist/cjs/storage/unpin.js +39 -0
- package/dist/cjs/storage/unpin.js.map +1 -0
- package/dist/cjs/utils/address.js +19 -1
- package/dist/cjs/utils/address.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/in-app-account.js +1 -1
- package/dist/cjs/wallets/in-app/web/lib/in-app-account.js.map +1 -1
- package/dist/cjs/wallets/wallet-connect/receiver/index.js +9 -6
- package/dist/cjs/wallets/wallet-connect/receiver/index.js.map +1 -1
- package/dist/cjs/wallets/wallet-connect/receiver/request-handlers/send-transaction.js +13 -6
- package/dist/cjs/wallets/wallet-connect/receiver/request-handlers/send-transaction.js.map +1 -1
- package/dist/cjs/wallets/wallet-connect/receiver/session-request.js +2 -1
- package/dist/cjs/wallets/wallet-connect/receiver/session-request.js.map +1 -1
- package/dist/esm/chains/chain-definitions/linea-sepolia.js +15 -0
- package/dist/esm/chains/chain-definitions/linea-sepolia.js.map +1 -0
- package/dist/esm/chains/chain-definitions/linea.js +14 -0
- package/dist/esm/chains/chain-definitions/linea.js.map +1 -0
- package/dist/esm/chains/chain-definitions/sepolia.js +1 -1
- package/dist/esm/exports/chains.js +2 -0
- package/dist/esm/exports/chains.js.map +1 -1
- package/dist/esm/exports/storage.js +1 -0
- package/dist/esm/exports/storage.js.map +1 -1
- package/dist/esm/exports/transaction.js +1 -1
- package/dist/esm/exports/transaction.js.map +1 -1
- package/dist/esm/exports/utils.js +1 -1
- package/dist/esm/exports/utils.js.map +1 -1
- package/dist/esm/extensions/erc1155/write/mintTo.js +1 -0
- package/dist/esm/extensions/erc1155/write/mintTo.js.map +1 -1
- package/dist/esm/extensions/erc20/write/mintTo.js +1 -0
- package/dist/esm/extensions/erc20/write/mintTo.js.map +1 -1
- package/dist/esm/extensions/erc721/write/mintTo.js +1 -0
- package/dist/esm/extensions/erc721/write/mintTo.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js +6 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js.map +1 -1
- package/dist/esm/storage/unpin.js +36 -0
- package/dist/esm/storage/unpin.js.map +1 -0
- package/dist/esm/utils/address.js +18 -1
- package/dist/esm/utils/address.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/in-app-account.js +1 -1
- package/dist/esm/wallets/in-app/web/lib/in-app-account.js.map +1 -1
- package/dist/esm/wallets/wallet-connect/receiver/index.js +9 -6
- package/dist/esm/wallets/wallet-connect/receiver/index.js.map +1 -1
- package/dist/esm/wallets/wallet-connect/receiver/request-handlers/send-transaction.js +12 -5
- package/dist/esm/wallets/wallet-connect/receiver/request-handlers/send-transaction.js.map +1 -1
- package/dist/esm/wallets/wallet-connect/receiver/session-request.js +2 -1
- package/dist/esm/wallets/wallet-connect/receiver/session-request.js.map +1 -1
- package/dist/types/chains/chain-definitions/linea-sepolia.d.ts +26 -0
- package/dist/types/chains/chain-definitions/linea-sepolia.d.ts.map +1 -0
- package/dist/types/chains/chain-definitions/linea.d.ts +26 -0
- package/dist/types/chains/chain-definitions/linea.d.ts.map +1 -0
- package/dist/types/exports/chains.d.ts +2 -0
- package/dist/types/exports/chains.d.ts.map +1 -1
- package/dist/types/exports/storage.d.ts +1 -0
- package/dist/types/exports/storage.d.ts.map +1 -1
- package/dist/types/exports/transaction.d.ts +1 -1
- package/dist/types/exports/transaction.d.ts.map +1 -1
- package/dist/types/exports/utils.d.ts +1 -1
- package/dist/types/exports/utils.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/write/mintTo.d.ts +3 -3
- package/dist/types/extensions/erc1155/write/mintTo.d.ts.map +1 -1
- package/dist/types/extensions/erc20/write/mintTo.d.ts +3 -3
- package/dist/types/extensions/erc20/write/mintTo.d.ts.map +1 -1
- package/dist/types/extensions/erc721/write/mintTo.d.ts +3 -3
- package/dist/types/extensions/erc721/write/mintTo.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.d.ts.map +1 -1
- package/dist/types/storage/unpin.d.ts +25 -0
- package/dist/types/storage/unpin.d.ts.map +1 -0
- package/dist/types/transaction/transaction-store.d.ts +1 -2
- package/dist/types/transaction/transaction-store.d.ts.map +1 -1
- package/dist/types/utils/address.d.ts +15 -0
- package/dist/types/utils/address.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/wallets/interfaces/wallet.d.ts +1 -1
- package/dist/types/wallets/wallet-connect/receiver/index.d.ts.map +1 -1
- package/dist/types/wallets/wallet-connect/receiver/request-handlers/send-transaction.d.ts +2 -0
- package/dist/types/wallets/wallet-connect/receiver/request-handlers/send-transaction.d.ts.map +1 -1
- package/dist/types/wallets/wallet-connect/receiver/session-request.d.ts +2 -0
- package/dist/types/wallets/wallet-connect/receiver/session-request.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/chains/chain-definitions/linea-sepolia.ts +15 -0
- package/src/chains/chain-definitions/linea.ts +14 -0
- package/src/chains/chain-definitions/sepolia.ts +1 -1
- package/src/exports/chains.ts +2 -0
- package/src/exports/storage.ts +1 -0
- package/src/exports/transaction.ts +4 -1
- package/src/exports/utils.ts +1 -0
- package/src/extensions/ens/resolve-avatar.test.ts +0 -10
- package/src/extensions/erc1155/write/mintTo.ts +7 -3
- package/src/extensions/erc20/write/mintTo.ts +15 -9
- package/src/extensions/erc721/write/mintTo.ts +7 -3
- package/src/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.tsx +6 -0
- package/src/storage/unpin.ts +52 -0
- package/src/transaction/transaction-store.ts +1 -1
- package/src/utils/address.ts +19 -1
- package/src/version.ts +1 -1
- package/src/wallets/in-app/web/lib/in-app-account.ts +1 -1
- package/src/wallets/interfaces/wallet.ts +1 -1
- package/src/wallets/wallet-connect/receiver/index.ts +19 -6
- package/src/wallets/wallet-connect/receiver/receiver.test.ts +1 -0
- package/src/wallets/wallet-connect/receiver/request-handlers/send-transaction.ts +17 -8
- package/src/wallets/wallet-connect/receiver/session-request.test.ts +31 -0
- package/src/wallets/wallet-connect/receiver/session-request.ts +4 -0
@@ -158,10 +158,17 @@ export const DefaultWalletConnectRequestHandlers = {
|
|
158
158
|
export async function createWalletConnectClient(
|
159
159
|
options: CreateWalletConnectClientOptions,
|
160
160
|
): Promise<WalletConnectClient> {
|
161
|
-
const {
|
161
|
+
const {
|
162
|
+
wallet,
|
163
|
+
requestHandlers,
|
164
|
+
chains,
|
165
|
+
onConnect,
|
166
|
+
onDisconnect,
|
167
|
+
client: thirdwebClient,
|
168
|
+
} = options;
|
162
169
|
|
163
|
-
if (walletConnectClientCache.has(
|
164
|
-
return walletConnectClientCache.get(
|
170
|
+
if (walletConnectClientCache.has(thirdwebClient)) {
|
171
|
+
return walletConnectClientCache.get(thirdwebClient) as WalletConnectClient;
|
165
172
|
}
|
166
173
|
|
167
174
|
initializeSessionStore({ clientId: options.client.clientId });
|
@@ -206,6 +213,7 @@ export async function createWalletConnectClient(
|
|
206
213
|
walletConnectClient,
|
207
214
|
event,
|
208
215
|
handlers: requestHandlers,
|
216
|
+
thirdwebClient,
|
209
217
|
}).catch((error) => {
|
210
218
|
if (options.onError) {
|
211
219
|
options.onError(error as Error);
|
@@ -249,7 +257,10 @@ export async function createWalletConnectClient(
|
|
249
257
|
// Disconnects can come from the user or the connected app, so we inject the callback to ensure its always triggered
|
250
258
|
const _disconnect = walletConnectClient.disconnect;
|
251
259
|
walletConnectClient.disconnect = async (args) => {
|
252
|
-
const result = await _disconnect(args)
|
260
|
+
const result = await _disconnect(args).catch(() => {
|
261
|
+
// no-op if already disconnected
|
262
|
+
});
|
263
|
+
|
253
264
|
if (onDisconnect) {
|
254
265
|
disconnectHook({ topic: args.topic, onDisconnect });
|
255
266
|
}
|
@@ -323,6 +334,8 @@ export async function disconnectWalletConnectSession(options: {
|
|
323
334
|
session: WalletConnectSession;
|
324
335
|
walletConnectClient: WalletConnectClient;
|
325
336
|
}): Promise<void> {
|
337
|
+
removeSession(options.session);
|
338
|
+
|
326
339
|
try {
|
327
340
|
await options.walletConnectClient.disconnect({
|
328
341
|
topic: options.session.topic,
|
@@ -331,10 +344,9 @@ export async function disconnectWalletConnectSession(options: {
|
|
331
344
|
message: "Disconnected",
|
332
345
|
},
|
333
346
|
});
|
334
|
-
} catch {
|
347
|
+
} catch (error) {
|
335
348
|
// ignore, the session doesn't exist already
|
336
349
|
}
|
337
|
-
removeSession(options.session);
|
338
350
|
}
|
339
351
|
|
340
352
|
/**
|
@@ -346,6 +358,7 @@ async function disconnectHook(options: {
|
|
346
358
|
}) {
|
347
359
|
const { topic, onDisconnect } = options;
|
348
360
|
const sessions = await getSessions();
|
361
|
+
|
349
362
|
onDisconnect(
|
350
363
|
sessions.find((s) => s.topic === topic) ?? {
|
351
364
|
topic,
|
@@ -146,6 +146,7 @@ describe("createWalletConnectClient", () => {
|
|
146
146
|
});
|
147
147
|
|
148
148
|
await listeners.session_delete?.({ topic: "test" });
|
149
|
+
await new Promise((resolve) => setTimeout(resolve, 300));
|
149
150
|
expect(onDisconnect).toHaveBeenCalledWith({ topic: "test" });
|
150
151
|
});
|
151
152
|
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
} from "../../../../utils/encoding/hex.js";
|
1
|
+
import { getCachedChain } from "../../../../chains/utils.js";
|
2
|
+
import type { ThirdwebClient } from "../../../../client/client.js";
|
3
|
+
import { sendTransaction } from "../../../../transaction/actions/send-transaction.js";
|
4
|
+
import { prepareTransaction } from "../../../../transaction/prepare-transaction.js";
|
5
|
+
import { type Hex, hexToBigInt } from "../../../../utils/encoding/hex.js";
|
6
6
|
import type { Account } from "../../../interfaces/wallet.js";
|
7
7
|
import type { WalletConnectTransactionRequestParams } from "../types.js";
|
8
8
|
import { validateAccountAddress } from "../utils.js";
|
@@ -13,27 +13,36 @@ import { validateAccountAddress } from "../utils.js";
|
|
13
13
|
export async function handleSendTransactionRequest(options: {
|
14
14
|
account: Account;
|
15
15
|
chainId: number;
|
16
|
+
thirdwebClient: ThirdwebClient;
|
16
17
|
params: WalletConnectTransactionRequestParams;
|
17
18
|
}): Promise<Hex> {
|
18
19
|
const {
|
19
20
|
account,
|
20
21
|
chainId,
|
22
|
+
thirdwebClient,
|
21
23
|
params: [transaction],
|
22
24
|
} = options;
|
23
25
|
|
24
26
|
if (transaction.from !== undefined) {
|
25
27
|
validateAccountAddress(account, transaction.from);
|
26
28
|
}
|
27
|
-
|
29
|
+
|
30
|
+
const preparedTransaction = prepareTransaction({
|
28
31
|
gas: transaction.gas ? hexToBigInt(transaction.gas) : undefined,
|
29
32
|
gasPrice: transaction.gasPrice
|
30
33
|
? hexToBigInt(transaction.gasPrice)
|
31
34
|
: undefined,
|
32
35
|
value: transaction.value ? hexToBigInt(transaction.value) : undefined,
|
33
|
-
nonce: transaction.nonce ? hexToNumber(transaction.nonce) : undefined,
|
34
36
|
to: transaction.to,
|
35
37
|
data: transaction.data,
|
36
|
-
chainId,
|
38
|
+
chain: getCachedChain(chainId),
|
39
|
+
client: thirdwebClient,
|
40
|
+
});
|
41
|
+
|
42
|
+
const txResult = await sendTransaction({
|
43
|
+
transaction: preparedTransaction,
|
44
|
+
account,
|
37
45
|
});
|
46
|
+
|
38
47
|
return txResult.transactionHash;
|
39
48
|
}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { afterAll, beforeEach, describe, expect, it, vi } from "vitest";
|
2
|
+
import { TEST_CLIENT } from "../../../../test/src/test-clients.js";
|
2
3
|
import {
|
3
4
|
TEST_ACCOUNT_A,
|
4
5
|
TEST_ACCOUNT_B,
|
@@ -80,6 +81,7 @@ describe("session_request", () => {
|
|
80
81
|
walletConnectClient: signClientMock,
|
81
82
|
wallet: walletMock,
|
82
83
|
event: REQUEST_EVENT_MOCK,
|
84
|
+
thirdwebClient: TEST_CLIENT,
|
83
85
|
});
|
84
86
|
await expect(promise).rejects.toThrow(
|
85
87
|
"No account connected to provided wallet",
|
@@ -94,6 +96,7 @@ describe("session_request", () => {
|
|
94
96
|
walletConnectClient: signClientMock,
|
95
97
|
wallet: walletMock,
|
96
98
|
event: unsupportedRequest,
|
99
|
+
thirdwebClient: TEST_CLIENT,
|
97
100
|
});
|
98
101
|
|
99
102
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -121,6 +124,7 @@ describe("session_request", () => {
|
|
121
124
|
wallet: walletMock,
|
122
125
|
event,
|
123
126
|
handlers: customHandlers,
|
127
|
+
thirdwebClient: TEST_CLIENT,
|
124
128
|
});
|
125
129
|
|
126
130
|
await expect(promise).resolves.not.toThrow();
|
@@ -147,6 +151,7 @@ describe("session_request", () => {
|
|
147
151
|
walletConnectClient: signClientMock,
|
148
152
|
wallet: walletMock,
|
149
153
|
event: personalSignRequest,
|
154
|
+
thirdwebClient: TEST_CLIENT,
|
150
155
|
});
|
151
156
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
152
157
|
topic: REQUEST_EVENT_MOCK.topic,
|
@@ -166,6 +171,7 @@ describe("session_request", () => {
|
|
166
171
|
walletConnectClient: signClientMock,
|
167
172
|
wallet: walletMock,
|
168
173
|
event: personalSignRequest,
|
174
|
+
thirdwebClient: TEST_CLIENT,
|
169
175
|
});
|
170
176
|
|
171
177
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -191,6 +197,7 @@ describe("session_request", () => {
|
|
191
197
|
wallet: walletMock,
|
192
198
|
event: personalSignRequest,
|
193
199
|
handlers: customHandlers,
|
200
|
+
thirdwebClient: TEST_CLIENT,
|
194
201
|
});
|
195
202
|
|
196
203
|
expect(customHandlers.personal_sign).toHaveBeenCalledWith({
|
@@ -224,6 +231,7 @@ describe("session_request", () => {
|
|
224
231
|
walletConnectClient: signClientMock,
|
225
232
|
wallet: walletMock,
|
226
233
|
event: ethSignRequest,
|
234
|
+
thirdwebClient: TEST_CLIENT,
|
227
235
|
});
|
228
236
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
229
237
|
topic: REQUEST_EVENT_MOCK.topic,
|
@@ -246,6 +254,7 @@ describe("session_request", () => {
|
|
246
254
|
walletConnectClient: signClientMock,
|
247
255
|
wallet: walletMock,
|
248
256
|
event: ethSignRequest,
|
257
|
+
thirdwebClient: TEST_CLIENT,
|
249
258
|
});
|
250
259
|
|
251
260
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -271,6 +280,7 @@ describe("session_request", () => {
|
|
271
280
|
wallet: walletMock,
|
272
281
|
event: ethSignRequest,
|
273
282
|
handlers: customHandlers,
|
283
|
+
thirdwebClient: TEST_CLIENT,
|
274
284
|
});
|
275
285
|
|
276
286
|
expect(customHandlers.eth_sign).toHaveBeenCalledWith({
|
@@ -304,6 +314,7 @@ describe("session_request", () => {
|
|
304
314
|
walletConnectClient: signClientMock,
|
305
315
|
wallet: walletMock,
|
306
316
|
event: ethSignTypedDataRequest,
|
317
|
+
thirdwebClient: TEST_CLIENT,
|
307
318
|
});
|
308
319
|
|
309
320
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -327,6 +338,7 @@ describe("session_request", () => {
|
|
327
338
|
walletConnectClient: signClientMock,
|
328
339
|
wallet: walletMock,
|
329
340
|
event: ethSignTypedDataRequest,
|
341
|
+
thirdwebClient: TEST_CLIENT,
|
330
342
|
});
|
331
343
|
|
332
344
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -357,6 +369,7 @@ describe("session_request", () => {
|
|
357
369
|
walletConnectClient: signClientMock,
|
358
370
|
wallet: walletMock,
|
359
371
|
event: ethSignTypedDataRequest,
|
372
|
+
thirdwebClient: TEST_CLIENT,
|
360
373
|
});
|
361
374
|
|
362
375
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -380,6 +393,7 @@ describe("session_request", () => {
|
|
380
393
|
walletConnectClient: signClientMock,
|
381
394
|
wallet: walletMock,
|
382
395
|
event: ethSignTypedDataRequest,
|
396
|
+
thirdwebClient: TEST_CLIENT,
|
383
397
|
});
|
384
398
|
|
385
399
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -403,6 +417,7 @@ describe("session_request", () => {
|
|
403
417
|
walletConnectClient: signClientMock,
|
404
418
|
wallet: walletMock,
|
405
419
|
event: ethSignTypedDataRequest,
|
420
|
+
thirdwebClient: TEST_CLIENT,
|
406
421
|
});
|
407
422
|
|
408
423
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -428,6 +443,7 @@ describe("session_request", () => {
|
|
428
443
|
wallet: walletMock,
|
429
444
|
event: ethSignTypedDataRequest,
|
430
445
|
handlers: customHandlers,
|
446
|
+
thirdwebClient: TEST_CLIENT,
|
431
447
|
});
|
432
448
|
|
433
449
|
expect(customHandlers.eth_signTypedData_v4).toHaveBeenCalledWith({
|
@@ -460,6 +476,7 @@ describe("session_request", () => {
|
|
460
476
|
walletConnectClient: signClientMock,
|
461
477
|
wallet: walletMock,
|
462
478
|
event: signTransactionRequest,
|
479
|
+
thirdwebClient: TEST_CLIENT,
|
463
480
|
});
|
464
481
|
|
465
482
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -483,6 +500,7 @@ describe("session_request", () => {
|
|
483
500
|
walletConnectClient: signClientMock,
|
484
501
|
wallet: walletMock,
|
485
502
|
event: signTransactionRequest,
|
503
|
+
thirdwebClient: TEST_CLIENT,
|
486
504
|
});
|
487
505
|
|
488
506
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -512,6 +530,7 @@ describe("session_request", () => {
|
|
512
530
|
walletConnectClient: signClientMock,
|
513
531
|
wallet: walletMock,
|
514
532
|
event: signTransactionRequest,
|
533
|
+
thirdwebClient: TEST_CLIENT,
|
515
534
|
});
|
516
535
|
|
517
536
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -537,6 +556,7 @@ describe("session_request", () => {
|
|
537
556
|
wallet: walletMock,
|
538
557
|
event: signTransactionRequest,
|
539
558
|
handlers: customHandlers,
|
559
|
+
thirdwebClient: TEST_CLIENT,
|
540
560
|
});
|
541
561
|
|
542
562
|
expect(customHandlers.eth_signTransaction).toHaveBeenCalledWith({
|
@@ -572,6 +592,7 @@ describe("session_request", () => {
|
|
572
592
|
walletConnectClient: signClientMock,
|
573
593
|
wallet: walletMock,
|
574
594
|
event: sendTransactionRequest,
|
595
|
+
thirdwebClient: TEST_CLIENT,
|
575
596
|
});
|
576
597
|
|
577
598
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -591,6 +612,7 @@ describe("session_request", () => {
|
|
591
612
|
walletConnectClient: signClientMock,
|
592
613
|
wallet: walletMock,
|
593
614
|
event: sendTransactionRequest,
|
615
|
+
thirdwebClient: TEST_CLIENT,
|
594
616
|
});
|
595
617
|
|
596
618
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -621,6 +643,7 @@ describe("session_request", () => {
|
|
621
643
|
walletConnectClient: signClientMock,
|
622
644
|
wallet: walletMock,
|
623
645
|
event: sendTransactionRequest,
|
646
|
+
thirdwebClient: TEST_CLIENT,
|
624
647
|
});
|
625
648
|
|
626
649
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -646,6 +669,7 @@ describe("session_request", () => {
|
|
646
669
|
wallet: walletMock,
|
647
670
|
event: sendTransactionRequest,
|
648
671
|
handlers: customHandlers,
|
672
|
+
thirdwebClient: TEST_CLIENT,
|
649
673
|
});
|
650
674
|
|
651
675
|
expect(customHandlers.eth_sendTransaction).toHaveBeenCalledWith({
|
@@ -683,6 +707,7 @@ describe("session_request", () => {
|
|
683
707
|
walletConnectClient: signClientMock,
|
684
708
|
wallet: walletMock,
|
685
709
|
event: sendRawTransactionRequest,
|
710
|
+
thirdwebClient: TEST_CLIENT,
|
686
711
|
});
|
687
712
|
|
688
713
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -702,6 +727,7 @@ describe("session_request", () => {
|
|
702
727
|
walletConnectClient: signClientMock,
|
703
728
|
wallet: walletMock,
|
704
729
|
event: sendRawTransactionRequest,
|
730
|
+
thirdwebClient: TEST_CLIENT,
|
705
731
|
});
|
706
732
|
|
707
733
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -725,6 +751,7 @@ describe("session_request", () => {
|
|
725
751
|
walletConnectClient: signClientMock,
|
726
752
|
wallet: walletMock,
|
727
753
|
event: sendRawTransactionRequest,
|
754
|
+
thirdwebClient: TEST_CLIENT,
|
728
755
|
});
|
729
756
|
|
730
757
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -751,6 +778,7 @@ describe("session_request", () => {
|
|
751
778
|
wallet: walletMock,
|
752
779
|
event: sendRawTransactionRequest,
|
753
780
|
handlers: customHandlers,
|
781
|
+
thirdwebClient: TEST_CLIENT,
|
754
782
|
});
|
755
783
|
|
756
784
|
expect(customHandlers.eth_sendRawTransaction).toHaveBeenCalledWith({
|
@@ -794,6 +822,7 @@ describe("session_request", () => {
|
|
794
822
|
walletConnectClient: signClientMock,
|
795
823
|
wallet: walletMock,
|
796
824
|
event: addEthereumChainRequest,
|
825
|
+
thirdwebClient: TEST_CLIENT,
|
797
826
|
});
|
798
827
|
|
799
828
|
expect(signClientMock.respond).toHaveBeenCalledWith({
|
@@ -828,6 +857,7 @@ describe("session_request", () => {
|
|
828
857
|
walletConnectClient: signClientMock,
|
829
858
|
wallet: walletMock,
|
830
859
|
event: switchEthereumChainRequest,
|
860
|
+
thirdwebClient: TEST_CLIENT,
|
831
861
|
});
|
832
862
|
|
833
863
|
expect(walletMock.switchChain).toHaveBeenCalledWith(
|
@@ -843,6 +873,7 @@ describe("session_request", () => {
|
|
843
873
|
walletConnectClient: signClientMock,
|
844
874
|
wallet: walletMock,
|
845
875
|
event: switchEthereumChainRequest,
|
876
|
+
thirdwebClient: TEST_CLIENT,
|
846
877
|
});
|
847
878
|
|
848
879
|
expect(walletMock.switchChain).not.toHaveBeenCalled();
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import type { ThirdwebClient } from "../../../client/client.js";
|
1
2
|
import type { Hex } from "../../../utils/encoding/hex.js";
|
2
3
|
import type { Wallet } from "../../interfaces/wallet.js";
|
3
4
|
import type {
|
@@ -23,11 +24,13 @@ export async function fulfillRequest(options: {
|
|
23
24
|
wallet: Wallet;
|
24
25
|
walletConnectClient: WalletConnectClient;
|
25
26
|
event: WalletConnectSessionRequestEvent;
|
27
|
+
thirdwebClient: ThirdwebClient;
|
26
28
|
handlers?: WalletConnectRequestHandlers;
|
27
29
|
}) {
|
28
30
|
const {
|
29
31
|
wallet,
|
30
32
|
walletConnectClient,
|
33
|
+
thirdwebClient,
|
31
34
|
event: {
|
32
35
|
topic,
|
33
36
|
id,
|
@@ -145,6 +148,7 @@ export async function fulfillRequest(options: {
|
|
145
148
|
result = await handleSendTransactionRequest({
|
146
149
|
account,
|
147
150
|
chainId,
|
151
|
+
thirdwebClient,
|
148
152
|
params: request.params as WalletConnectTransactionRequestParams,
|
149
153
|
});
|
150
154
|
}
|