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.
Files changed (126) hide show
  1. package/dist/cjs/chains/chain-definitions/linea-sepolia.js +18 -0
  2. package/dist/cjs/chains/chain-definitions/linea-sepolia.js.map +1 -0
  3. package/dist/cjs/chains/chain-definitions/linea.js +17 -0
  4. package/dist/cjs/chains/chain-definitions/linea.js.map +1 -0
  5. package/dist/cjs/chains/chain-definitions/sepolia.js +1 -1
  6. package/dist/cjs/exports/chains.js +5 -1
  7. package/dist/cjs/exports/chains.js.map +1 -1
  8. package/dist/cjs/exports/storage.js +3 -1
  9. package/dist/cjs/exports/storage.js.map +1 -1
  10. package/dist/cjs/exports/transaction.js.map +1 -1
  11. package/dist/cjs/exports/utils.js +2 -1
  12. package/dist/cjs/exports/utils.js.map +1 -1
  13. package/dist/cjs/extensions/erc1155/write/mintTo.js +1 -0
  14. package/dist/cjs/extensions/erc1155/write/mintTo.js.map +1 -1
  15. package/dist/cjs/extensions/erc20/write/mintTo.js +1 -0
  16. package/dist/cjs/extensions/erc20/write/mintTo.js.map +1 -1
  17. package/dist/cjs/extensions/erc721/write/mintTo.js +1 -0
  18. package/dist/cjs/extensions/erc721/write/mintTo.js.map +1 -1
  19. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js +6 -0
  20. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js.map +1 -1
  21. package/dist/cjs/storage/unpin.js +39 -0
  22. package/dist/cjs/storage/unpin.js.map +1 -0
  23. package/dist/cjs/utils/address.js +19 -1
  24. package/dist/cjs/utils/address.js.map +1 -1
  25. package/dist/cjs/version.js +1 -1
  26. package/dist/cjs/version.js.map +1 -1
  27. package/dist/cjs/wallets/in-app/web/lib/in-app-account.js +1 -1
  28. package/dist/cjs/wallets/in-app/web/lib/in-app-account.js.map +1 -1
  29. package/dist/cjs/wallets/wallet-connect/receiver/index.js +9 -6
  30. package/dist/cjs/wallets/wallet-connect/receiver/index.js.map +1 -1
  31. package/dist/cjs/wallets/wallet-connect/receiver/request-handlers/send-transaction.js +13 -6
  32. package/dist/cjs/wallets/wallet-connect/receiver/request-handlers/send-transaction.js.map +1 -1
  33. package/dist/cjs/wallets/wallet-connect/receiver/session-request.js +2 -1
  34. package/dist/cjs/wallets/wallet-connect/receiver/session-request.js.map +1 -1
  35. package/dist/esm/chains/chain-definitions/linea-sepolia.js +15 -0
  36. package/dist/esm/chains/chain-definitions/linea-sepolia.js.map +1 -0
  37. package/dist/esm/chains/chain-definitions/linea.js +14 -0
  38. package/dist/esm/chains/chain-definitions/linea.js.map +1 -0
  39. package/dist/esm/chains/chain-definitions/sepolia.js +1 -1
  40. package/dist/esm/exports/chains.js +2 -0
  41. package/dist/esm/exports/chains.js.map +1 -1
  42. package/dist/esm/exports/storage.js +1 -0
  43. package/dist/esm/exports/storage.js.map +1 -1
  44. package/dist/esm/exports/transaction.js +1 -1
  45. package/dist/esm/exports/transaction.js.map +1 -1
  46. package/dist/esm/exports/utils.js +1 -1
  47. package/dist/esm/exports/utils.js.map +1 -1
  48. package/dist/esm/extensions/erc1155/write/mintTo.js +1 -0
  49. package/dist/esm/extensions/erc1155/write/mintTo.js.map +1 -1
  50. package/dist/esm/extensions/erc20/write/mintTo.js +1 -0
  51. package/dist/esm/extensions/erc20/write/mintTo.js.map +1 -1
  52. package/dist/esm/extensions/erc721/write/mintTo.js +1 -0
  53. package/dist/esm/extensions/erc721/write/mintTo.js.map +1 -1
  54. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js +6 -0
  55. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js.map +1 -1
  56. package/dist/esm/storage/unpin.js +36 -0
  57. package/dist/esm/storage/unpin.js.map +1 -0
  58. package/dist/esm/utils/address.js +18 -1
  59. package/dist/esm/utils/address.js.map +1 -1
  60. package/dist/esm/version.js +1 -1
  61. package/dist/esm/version.js.map +1 -1
  62. package/dist/esm/wallets/in-app/web/lib/in-app-account.js +1 -1
  63. package/dist/esm/wallets/in-app/web/lib/in-app-account.js.map +1 -1
  64. package/dist/esm/wallets/wallet-connect/receiver/index.js +9 -6
  65. package/dist/esm/wallets/wallet-connect/receiver/index.js.map +1 -1
  66. package/dist/esm/wallets/wallet-connect/receiver/request-handlers/send-transaction.js +12 -5
  67. package/dist/esm/wallets/wallet-connect/receiver/request-handlers/send-transaction.js.map +1 -1
  68. package/dist/esm/wallets/wallet-connect/receiver/session-request.js +2 -1
  69. package/dist/esm/wallets/wallet-connect/receiver/session-request.js.map +1 -1
  70. package/dist/types/chains/chain-definitions/linea-sepolia.d.ts +26 -0
  71. package/dist/types/chains/chain-definitions/linea-sepolia.d.ts.map +1 -0
  72. package/dist/types/chains/chain-definitions/linea.d.ts +26 -0
  73. package/dist/types/chains/chain-definitions/linea.d.ts.map +1 -0
  74. package/dist/types/exports/chains.d.ts +2 -0
  75. package/dist/types/exports/chains.d.ts.map +1 -1
  76. package/dist/types/exports/storage.d.ts +1 -0
  77. package/dist/types/exports/storage.d.ts.map +1 -1
  78. package/dist/types/exports/transaction.d.ts +1 -1
  79. package/dist/types/exports/transaction.d.ts.map +1 -1
  80. package/dist/types/exports/utils.d.ts +1 -1
  81. package/dist/types/exports/utils.d.ts.map +1 -1
  82. package/dist/types/extensions/erc1155/write/mintTo.d.ts +3 -3
  83. package/dist/types/extensions/erc1155/write/mintTo.d.ts.map +1 -1
  84. package/dist/types/extensions/erc20/write/mintTo.d.ts +3 -3
  85. package/dist/types/extensions/erc20/write/mintTo.d.ts.map +1 -1
  86. package/dist/types/extensions/erc721/write/mintTo.d.ts +3 -3
  87. package/dist/types/extensions/erc721/write/mintTo.d.ts.map +1 -1
  88. package/dist/types/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.d.ts.map +1 -1
  89. package/dist/types/storage/unpin.d.ts +25 -0
  90. package/dist/types/storage/unpin.d.ts.map +1 -0
  91. package/dist/types/transaction/transaction-store.d.ts +1 -2
  92. package/dist/types/transaction/transaction-store.d.ts.map +1 -1
  93. package/dist/types/utils/address.d.ts +15 -0
  94. package/dist/types/utils/address.d.ts.map +1 -1
  95. package/dist/types/version.d.ts +1 -1
  96. package/dist/types/version.d.ts.map +1 -1
  97. package/dist/types/wallets/interfaces/wallet.d.ts +1 -1
  98. package/dist/types/wallets/wallet-connect/receiver/index.d.ts.map +1 -1
  99. package/dist/types/wallets/wallet-connect/receiver/request-handlers/send-transaction.d.ts +2 -0
  100. package/dist/types/wallets/wallet-connect/receiver/request-handlers/send-transaction.d.ts.map +1 -1
  101. package/dist/types/wallets/wallet-connect/receiver/session-request.d.ts +2 -0
  102. package/dist/types/wallets/wallet-connect/receiver/session-request.d.ts.map +1 -1
  103. package/package.json +5 -5
  104. package/src/chains/chain-definitions/linea-sepolia.ts +15 -0
  105. package/src/chains/chain-definitions/linea.ts +14 -0
  106. package/src/chains/chain-definitions/sepolia.ts +1 -1
  107. package/src/exports/chains.ts +2 -0
  108. package/src/exports/storage.ts +1 -0
  109. package/src/exports/transaction.ts +4 -1
  110. package/src/exports/utils.ts +1 -0
  111. package/src/extensions/ens/resolve-avatar.test.ts +0 -10
  112. package/src/extensions/erc1155/write/mintTo.ts +7 -3
  113. package/src/extensions/erc20/write/mintTo.ts +15 -9
  114. package/src/extensions/erc721/write/mintTo.ts +7 -3
  115. package/src/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.tsx +6 -0
  116. package/src/storage/unpin.ts +52 -0
  117. package/src/transaction/transaction-store.ts +1 -1
  118. package/src/utils/address.ts +19 -1
  119. package/src/version.ts +1 -1
  120. package/src/wallets/in-app/web/lib/in-app-account.ts +1 -1
  121. package/src/wallets/interfaces/wallet.ts +1 -1
  122. package/src/wallets/wallet-connect/receiver/index.ts +19 -6
  123. package/src/wallets/wallet-connect/receiver/receiver.test.ts +1 -0
  124. package/src/wallets/wallet-connect/receiver/request-handlers/send-transaction.ts +17 -8
  125. package/src/wallets/wallet-connect/receiver/session-request.test.ts +31 -0
  126. 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 { wallet, requestHandlers, chains, onConnect, onDisconnect } = options;
161
+ const {
162
+ wallet,
163
+ requestHandlers,
164
+ chains,
165
+ onConnect,
166
+ onDisconnect,
167
+ client: thirdwebClient,
168
+ } = options;
162
169
 
163
- if (walletConnectClientCache.has(options.client)) {
164
- return walletConnectClientCache.get(options.client) as WalletConnectClient;
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
- type Hex,
3
- hexToBigInt,
4
- hexToNumber,
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
- const txResult = await account.sendTransaction({
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
  }