thirdweb 5.105.41 → 5.105.42-nightly-2d76cf904079cc74809f571b67ac746fad7aa04f-20250909000351

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 (108) hide show
  1. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/events/Executed.js +4 -2
  2. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/events/Executed.js.map +1 -1
  3. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/events/SessionCreated.js +3 -2
  4. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/events/SessionCreated.js.map +1 -1
  5. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/events/ValueReceived.js +32 -0
  6. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/events/ValueReceived.js.map +1 -0
  7. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/eip712Domain.js +7 -7
  8. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/eip712Domain.js.map +1 -1
  9. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/getCallPoliciesForSigner.js +20 -20
  10. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/getCallPoliciesForSigner.js.map +1 -1
  11. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/getSessionExpirationForSigner.js +1 -1
  12. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/getSessionExpirationForSigner.js.map +1 -1
  13. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/getSessionStateForSigner.js +20 -20
  14. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/getSessionStateForSigner.js.map +1 -1
  15. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/getTransferPoliciesForSigner.js +9 -9
  16. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/getTransferPoliciesForSigner.js.map +1 -1
  17. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/isWildcardSigner.js +1 -1
  18. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/read/isWildcardSigner.js.map +1 -1
  19. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/write/createSessionWithSig.js +45 -45
  20. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/write/createSessionWithSig.js.map +1 -1
  21. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/write/execute.js +14 -14
  22. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/write/execute.js.map +1 -1
  23. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/write/executeWithSig.js +18 -18
  24. package/dist/cjs/extensions/erc7702/__generated__/MinimalAccount/write/executeWithSig.js.map +1 -1
  25. package/dist/cjs/gas/fee-data.js +1 -1
  26. package/dist/cjs/gas/fee-data.js.map +1 -1
  27. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js +2 -6
  28. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js.map +1 -1
  29. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js +1 -1
  30. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js.map +1 -1
  31. package/dist/cjs/react/web/wallets/in-app/WalletAuth.js +1 -1
  32. package/dist/cjs/react/web/wallets/in-app/WalletAuth.js.map +1 -1
  33. package/dist/cjs/version.js +1 -1
  34. package/dist/cjs/version.js.map +1 -1
  35. package/dist/cjs/wallets/in-app/core/eip7702/minimal-account.js +117 -10
  36. package/dist/cjs/wallets/in-app/core/eip7702/minimal-account.js.map +1 -1
  37. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/events/Executed.js +4 -2
  38. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/events/Executed.js.map +1 -1
  39. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/events/SessionCreated.js +3 -2
  40. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/events/SessionCreated.js.map +1 -1
  41. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/events/ValueReceived.js +29 -0
  42. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/events/ValueReceived.js.map +1 -0
  43. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/eip712Domain.js +7 -7
  44. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/eip712Domain.js.map +1 -1
  45. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/getCallPoliciesForSigner.js +20 -20
  46. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/getCallPoliciesForSigner.js.map +1 -1
  47. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/getSessionExpirationForSigner.js +1 -1
  48. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/getSessionExpirationForSigner.js.map +1 -1
  49. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/getSessionStateForSigner.js +20 -20
  50. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/getSessionStateForSigner.js.map +1 -1
  51. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/getTransferPoliciesForSigner.js +9 -9
  52. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/getTransferPoliciesForSigner.js.map +1 -1
  53. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/isWildcardSigner.js +1 -1
  54. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/read/isWildcardSigner.js.map +1 -1
  55. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/write/createSessionWithSig.js +45 -45
  56. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/write/createSessionWithSig.js.map +1 -1
  57. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/write/execute.js +14 -14
  58. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/write/execute.js.map +1 -1
  59. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/write/executeWithSig.js +18 -18
  60. package/dist/esm/extensions/erc7702/__generated__/MinimalAccount/write/executeWithSig.js.map +1 -1
  61. package/dist/esm/gas/fee-data.js +1 -1
  62. package/dist/esm/gas/fee-data.js.map +1 -1
  63. package/dist/esm/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js +2 -6
  64. package/dist/esm/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js.map +1 -1
  65. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js +1 -1
  66. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js.map +1 -1
  67. package/dist/esm/react/web/wallets/in-app/WalletAuth.js +1 -1
  68. package/dist/esm/react/web/wallets/in-app/WalletAuth.js.map +1 -1
  69. package/dist/esm/version.js +1 -1
  70. package/dist/esm/version.js.map +1 -1
  71. package/dist/esm/wallets/in-app/core/eip7702/minimal-account.js +117 -10
  72. package/dist/esm/wallets/in-app/core/eip7702/minimal-account.js.map +1 -1
  73. package/dist/types/extensions/erc7702/__generated__/MinimalAccount/events/Executed.d.ts +25 -8
  74. package/dist/types/extensions/erc7702/__generated__/MinimalAccount/events/Executed.d.ts.map +1 -1
  75. package/dist/types/extensions/erc7702/__generated__/MinimalAccount/events/SessionCreated.d.ts +14 -4
  76. package/dist/types/extensions/erc7702/__generated__/MinimalAccount/events/SessionCreated.d.ts.map +1 -1
  77. package/dist/types/extensions/erc7702/__generated__/MinimalAccount/events/ValueReceived.d.ts +54 -0
  78. package/dist/types/extensions/erc7702/__generated__/MinimalAccount/events/ValueReceived.d.ts.map +1 -0
  79. package/dist/types/react/web/ui/ConnectWallet/Modal/AllWalletsUI.d.ts +0 -1
  80. package/dist/types/react/web/ui/ConnectWallet/Modal/AllWalletsUI.d.ts.map +1 -1
  81. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectModalContent.d.ts.map +1 -1
  82. package/dist/types/react/web/wallets/in-app/WalletAuth.d.ts.map +1 -1
  83. package/dist/types/version.d.ts +1 -1
  84. package/dist/types/version.d.ts.map +1 -1
  85. package/dist/types/wallets/in-app/core/eip7702/minimal-account.d.ts +64 -0
  86. package/dist/types/wallets/in-app/core/eip7702/minimal-account.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/src/extensions/erc7702/__generated__/MinimalAccount/events/Executed.ts +17 -4
  89. package/src/extensions/erc7702/__generated__/MinimalAccount/events/SessionCreated.ts +11 -5
  90. package/src/extensions/erc7702/__generated__/MinimalAccount/events/ValueReceived.ts +47 -0
  91. package/src/extensions/erc7702/__generated__/MinimalAccount/read/eip712Domain.ts +7 -7
  92. package/src/extensions/erc7702/__generated__/MinimalAccount/read/getCallPoliciesForSigner.ts +20 -20
  93. package/src/extensions/erc7702/__generated__/MinimalAccount/read/getSessionExpirationForSigner.ts +1 -1
  94. package/src/extensions/erc7702/__generated__/MinimalAccount/read/getSessionStateForSigner.ts +20 -20
  95. package/src/extensions/erc7702/__generated__/MinimalAccount/read/getTransferPoliciesForSigner.ts +9 -9
  96. package/src/extensions/erc7702/__generated__/MinimalAccount/read/isWildcardSigner.ts +1 -1
  97. package/src/extensions/erc7702/__generated__/MinimalAccount/write/createSessionWithSig.ts +47 -47
  98. package/src/extensions/erc7702/__generated__/MinimalAccount/write/execute.ts +16 -16
  99. package/src/extensions/erc7702/__generated__/MinimalAccount/write/executeWithSig.ts +20 -20
  100. package/src/extensions/erc7702/account/sessionkey.test.ts +2 -4
  101. package/src/gas/fee-data.ts +1 -1
  102. package/src/react/web/ui/ConnectWallet/Modal/AllWalletsUI.tsx +5 -12
  103. package/src/react/web/ui/ConnectWallet/Modal/ConnectModalContent.tsx +0 -1
  104. package/src/react/web/wallets/in-app/WalletAuth.tsx +0 -1
  105. package/src/version.ts +1 -1
  106. package/src/wallets/in-app/core/eip7702/minimal-account.ts +149 -10
  107. package/src/wallets/in-app/web/lib/in-app-gateway.test.ts +87 -103
  108. package/src/wallets/in-app/web/lib/in-app-integration.test.ts +1 -2
@@ -1,126 +1,110 @@
1
- import { sendTransaction, signMessage } from "@thirdweb-dev/engine";
1
+ import {
2
+ configure,
3
+ isSuccessResponse,
4
+ sendTransaction,
5
+ signMessage,
6
+ } from "@thirdweb-dev/engine";
2
7
  import { beforeAll, describe, expect, it } from "vitest";
3
8
  import { TEST_CLIENT } from "~test/test-clients.js";
4
9
  import { sepolia } from "../../../../chains/chain-definitions/sepolia.js";
5
- import { createThirdwebClient } from "../../../../client/client.js";
6
10
  import { waitForTransactionHash } from "../../../../engine/wait-for-tx-hash.js";
7
- import {
8
- getThirdwebBaseUrl,
9
- setThirdwebDomains,
10
- } from "../../../../utils/domains.js";
11
- import { getClientFetch } from "../../../../utils/fetch.js";
12
11
  import { stringify } from "../../../../utils/json.js";
13
12
  import type { Account } from "../../../interfaces/wallet.js";
14
13
  import { inAppWallet } from "../in-app.js";
15
14
 
16
- // TODO: productionize this test
17
- describe
18
- .runIf(process.env.TW_SECRET_KEY)
19
- .skip("InAppWallet Gateway Tests", () => {
20
- let account: Account;
21
- let authToken: string | null | undefined;
22
- const clientIdFetch = getClientFetch(
23
- createThirdwebClient({
24
- clientId: TEST_CLIENT.clientId,
25
- }),
26
- );
15
+ describe.runIf(process.env.TW_SECRET_KEY)("InAppWallet Gateway Tests", () => {
16
+ let account: Account;
17
+ let authToken: string | null | undefined;
27
18
 
28
- beforeAll(async () => {
29
- setThirdwebDomains({
30
- bundler: "bundler.thirdweb-dev.com",
31
- engineCloud: "engine.thirdweb-dev.com",
32
- inAppWallet: "embedded-wallet.thirdweb-dev.com",
33
- rpc: "rpc.thirdweb-dev.com",
34
- });
35
- const wallet = inAppWallet();
36
- account = await wallet.connect({
37
- client: TEST_CLIENT,
38
- strategy: "backend",
39
- walletSecret: "test-secret",
40
- });
41
- authToken = wallet.getAuthToken();
42
- expect(authToken).toBeDefined();
19
+ beforeAll(async () => {
20
+ configure({
21
+ clientId: TEST_CLIENT.clientId,
22
+ secretKey: TEST_CLIENT.secretKey,
43
23
  });
24
+ const wallet = inAppWallet();
25
+ account = await wallet.connect({
26
+ client: TEST_CLIENT,
27
+ strategy: "backend",
28
+ walletSecret: "test-secret",
29
+ });
30
+ authToken = wallet.getAuthToken?.();
31
+ expect(authToken).toBeDefined();
32
+ });
44
33
 
45
- it("should sign a message with backend strategy", async () => {
46
- const rawSignature = await account.signMessage({
47
- message: "Hello, world!",
48
- });
49
-
50
- // sign via api
51
- const signResult = await signMessage({
52
- baseUrl: getThirdwebBaseUrl("engineCloud"),
53
- body: {
54
- params: [
55
- {
56
- format: "text",
57
- message: "Hello, world!",
58
- },
59
- ],
60
- signingOptions: {
61
- from: account.address,
62
- type: "EOA",
63
- },
64
- },
65
- bodySerializer: stringify,
66
- fetch: clientIdFetch,
67
- headers: {
68
- "x-wallet-access-token": authToken,
69
- },
70
- });
71
-
72
- const signatureResult = signResult.data?.result[0];
73
- if (signatureResult && "result" in signatureResult) {
74
- expect(signatureResult.result.signature).toEqual(rawSignature);
75
- } else {
76
- throw new Error(
77
- `Failed to sign message: ${stringify(signatureResult?.error) || "Unknown error"}`,
78
- );
79
- }
34
+ it("should sign a message with backend strategy", async () => {
35
+ const rawSignature = await account.signMessage({
36
+ message: "Hello, world!",
80
37
  });
81
38
 
82
- it("should queue a 7702 transaction", async () => {
83
- const body = {
84
- executionOptions: {
85
- chainId: sepolia.id,
86
- from: account.address,
87
- type: "auto" as const,
88
- },
39
+ // sign via api
40
+ const signResult = await signMessage({
41
+ body: {
89
42
  params: [
90
43
  {
91
- data: "0x",
92
- to: account.address,
93
- value: "0",
44
+ format: "text",
45
+ message: "Hello, world!",
94
46
  },
95
47
  ],
96
- };
97
- const result = await sendTransaction({
98
- baseUrl: getThirdwebBaseUrl("engineCloud"),
99
- body,
100
- bodySerializer: stringify,
101
- fetch: clientIdFetch,
102
- headers: {
103
- "x-wallet-access-token": authToken,
48
+ signingOptions: {
49
+ from: account.address,
50
+ type: "EOA",
104
51
  },
105
- });
106
- if (result.error) {
107
- throw new Error(
108
- `Error sending transaction: ${stringify(result.error)}`,
109
- );
110
- }
52
+ },
53
+ headers: {
54
+ "x-wallet-access-token": authToken,
55
+ },
56
+ });
111
57
 
112
- const txId = result.data?.result.transactions[0]?.id;
113
- console.log(txId);
114
- if (!txId) {
115
- throw new Error("No transaction ID found");
116
- }
58
+ if (signResult.error) {
59
+ throw new Error(`Error signing message: ${stringify(signResult.error)}`);
60
+ }
117
61
 
118
- const tx = await waitForTransactionHash({
119
- client: TEST_CLIENT,
120
- transactionId: txId,
121
- });
62
+ const signatureResult = signResult.data?.result?.[0];
63
+ if (signatureResult && isSuccessResponse(signatureResult)) {
64
+ expect(signatureResult.result.signature).toEqual(rawSignature);
65
+ } else {
66
+ throw new Error(
67
+ `Failed to sign message: ${stringify(signatureResult?.error) || "Unknown error"}`,
68
+ );
69
+ }
70
+ });
122
71
 
123
- console.log(tx.transactionHash);
124
- expect(tx.transactionHash).toBeDefined();
72
+ it("should queue a 4337 transaction", async () => {
73
+ const body = {
74
+ executionOptions: {
75
+ chainId: sepolia.id,
76
+ from: account.address,
77
+ type: "auto" as const,
78
+ },
79
+ params: [
80
+ {
81
+ data: "0x",
82
+ to: account.address,
83
+ value: "0",
84
+ },
85
+ ],
86
+ };
87
+ const result = await sendTransaction({
88
+ body,
89
+ headers: {
90
+ "x-wallet-access-token": authToken,
91
+ },
125
92
  });
93
+ if (result.error) {
94
+ throw new Error(`Error sending transaction: ${stringify(result.error)}`);
95
+ }
96
+
97
+ const txId = result.data?.result.transactions[0]?.id;
98
+ if (!txId) {
99
+ throw new Error("No transaction ID found");
100
+ }
101
+
102
+ const tx = await waitForTransactionHash({
103
+ client: TEST_CLIENT,
104
+ transactionId: txId,
105
+ });
106
+
107
+ console.log(tx.transactionHash);
108
+ expect(tx.transactionHash).toBeDefined();
126
109
  });
110
+ });
@@ -73,8 +73,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
73
73
  if (!executedLog) {
74
74
  throw new Error("No executed log found");
75
75
  }
76
- expect(executedLog.args.to).toBe(account.address);
77
- expect(executedLog.args.value).toBe(0n);
76
+ expect(executedLog.args.user).toBe(account.address);
78
77
  });
79
78
 
80
79
  it("should sponsor gas for a 4337 smart account", async () => {