thirdweb 5.29.2-nightly-7768067bf4f571a8c8ee6b646a58e2fc5f6bd052-20240614163812 → 5.29.2-nightly-fb6a07d4b84ba8ea6389ca04c73625f670a0d9c4-20240614172741

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 (33) hide show
  1. package/dist/cjs/exports/extensions/erc4337.js +7 -1
  2. package/dist/cjs/exports/extensions/erc4337.js.map +1 -1
  3. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js +122 -0
  4. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js.map +1 -0
  5. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js +115 -0
  6. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js.map +1 -0
  7. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js +71 -0
  8. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js.map +1 -0
  9. package/dist/cjs/version.js +1 -1
  10. package/dist/esm/exports/extensions/erc4337.js +3 -0
  11. package/dist/esm/exports/extensions/erc4337.js.map +1 -1
  12. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js +114 -0
  13. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js.map +1 -0
  14. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js +107 -0
  15. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js.map +1 -0
  16. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js +65 -0
  17. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js.map +1 -0
  18. package/dist/esm/version.js +1 -1
  19. package/dist/types/exports/extensions/erc4337.d.ts +3 -0
  20. package/dist/types/exports/extensions/erc4337.d.ts.map +1 -1
  21. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.d.ts +92 -0
  22. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.d.ts.map +1 -0
  23. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.d.ts +85 -0
  24. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.d.ts.map +1 -0
  25. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.d.ts +46 -0
  26. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.d.ts.map +1 -0
  27. package/dist/types/version.d.ts +1 -1
  28. package/package.json +2 -2
  29. package/src/exports/extensions/erc4337.ts +3 -0
  30. package/src/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.ts +135 -0
  31. package/src/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.ts +127 -0
  32. package/src/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.ts +74 -0
  33. package/src/version.ts +1 -1
@@ -0,0 +1,74 @@
1
+ import { readContract } from "../../../../../transaction/read-contract.js";
2
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
3
+
4
+ import { decodeAbiParameters } from "viem";
5
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
6
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
7
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
8
+
9
+ export const FN_SELECTOR = "0x58451f97" as const;
10
+ const FN_INPUTS = [] as const;
11
+ const FN_OUTPUTS = [
12
+ {
13
+ type: "uint256",
14
+ },
15
+ ] as const;
16
+
17
+ /**
18
+ * Checks if the `totalAccounts` method is supported by the given contract.
19
+ * @param contract The ThirdwebContract.
20
+ * @returns A promise that resolves to a boolean indicating if the `totalAccounts` method is supported.
21
+ * @extension ERC4337
22
+ * @example
23
+ * ```ts
24
+ * import { isTotalAccountsSupported } from "thirdweb/extensions/erc4337";
25
+ *
26
+ * const supported = await isTotalAccountsSupported(contract);
27
+ * ```
28
+ */
29
+ export async function isTotalAccountsSupported(
30
+ contract: ThirdwebContract<any>,
31
+ ) {
32
+ return detectMethod({
33
+ contract,
34
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
35
+ });
36
+ }
37
+
38
+ /**
39
+ * Decodes the result of the totalAccounts function call.
40
+ * @param result - The hexadecimal result to decode.
41
+ * @returns The decoded result as per the FN_OUTPUTS definition.
42
+ * @extension ERC4337
43
+ * @example
44
+ * ```ts
45
+ * import { decodeTotalAccountsResult } from "thirdweb/extensions/erc4337";
46
+ * const result = decodeTotalAccountsResult("...");
47
+ * ```
48
+ */
49
+ export function decodeTotalAccountsResult(result: Hex) {
50
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
51
+ }
52
+
53
+ /**
54
+ * Calls the "totalAccounts" function on the contract.
55
+ * @param options - The options for the totalAccounts function.
56
+ * @returns The parsed result of the function call.
57
+ * @extension ERC4337
58
+ * @example
59
+ * ```ts
60
+ * import { totalAccounts } from "thirdweb/extensions/erc4337";
61
+ *
62
+ * const result = await totalAccounts({
63
+ * contract,
64
+ * });
65
+ *
66
+ * ```
67
+ */
68
+ export async function totalAccounts(options: BaseTransactionOptions) {
69
+ return readContract({
70
+ contract: options.contract,
71
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
72
+ params: [],
73
+ });
74
+ }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.29.2-nightly-7768067bf4f571a8c8ee6b646a58e2fc5f6bd052-20240614163812";
1
+ export const version = "5.29.2-nightly-fb6a07d4b84ba8ea6389ca04c73625f670a0d9c4-20240614172741";