thirdweb 5.48.2 → 5.48.3-nightly-a8e2bc58c9e8fe5b75d6c27d406e6b80d5d067e2-20240828000339

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 (176) hide show
  1. package/dist/cjs/exports/wallets/smart.js +4 -2
  2. package/dist/cjs/exports/wallets/smart.js.map +1 -1
  3. package/dist/cjs/extensions/erc1155/drops/write/claimTo.js.map +1 -1
  4. package/dist/cjs/extensions/erc4337/__generated__/IEntryPoint_v07/events/PostOpRevertReason.js +32 -0
  5. package/dist/cjs/extensions/erc4337/__generated__/IEntryPoint_v07/events/PostOpRevertReason.js.map +1 -0
  6. package/dist/cjs/extensions/erc4337/__generated__/IEntryPoint_v07/read/getUserOpHash.js +153 -0
  7. package/dist/cjs/extensions/erc4337/__generated__/IEntryPoint_v07/read/getUserOpHash.js.map +1 -0
  8. package/dist/cjs/extensions/prebuilts/__generated__/VoteERC20/write/initialize.js +184 -0
  9. package/dist/cjs/extensions/prebuilts/__generated__/VoteERC20/write/initialize.js.map +1 -0
  10. package/dist/cjs/extensions/prebuilts/deploy-vote.js +122 -0
  11. package/dist/cjs/extensions/prebuilts/deploy-vote.js.map +1 -0
  12. package/dist/cjs/react/core/hooks/pay/useBuyWithCryptoQuote.js +5 -1
  13. package/dist/cjs/react/core/hooks/pay/useBuyWithCryptoQuote.js.map +1 -1
  14. package/dist/cjs/react/core/hooks/pay/useBuyWithFiatQuote.js +5 -1
  15. package/dist/cjs/react/core/hooks/pay/useBuyWithFiatQuote.js.map +1 -1
  16. package/dist/cjs/react/core/hooks/transaction/useSendAndConfirmTransaction.js +12 -0
  17. package/dist/cjs/react/core/hooks/transaction/useSendAndConfirmTransaction.js.map +1 -1
  18. package/dist/cjs/react/native/hooks/transaction/useSendTransaction.js +11 -0
  19. package/dist/cjs/react/native/hooks/transaction/useSendTransaction.js.map +1 -1
  20. package/dist/cjs/react/web/ui/TransactionButton/index.js +13 -0
  21. package/dist/cjs/react/web/ui/TransactionButton/index.js.map +1 -1
  22. package/dist/cjs/transaction/actions/send-and-confirm-transaction.js +13 -0
  23. package/dist/cjs/transaction/actions/send-and-confirm-transaction.js.map +1 -1
  24. package/dist/cjs/transaction/actions/send-transaction.js +13 -0
  25. package/dist/cjs/transaction/actions/send-transaction.js.map +1 -1
  26. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js +1 -1
  27. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  28. package/dist/cjs/version.js +1 -1
  29. package/dist/cjs/version.js.map +1 -1
  30. package/dist/cjs/wallets/in-app/web/lib/in-app-account.js +5 -1
  31. package/dist/cjs/wallets/in-app/web/lib/in-app-account.js.map +1 -1
  32. package/dist/cjs/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.js +1 -0
  33. package/dist/cjs/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.js.map +1 -1
  34. package/dist/cjs/wallets/smart/index.js +13 -2
  35. package/dist/cjs/wallets/smart/index.js.map +1 -1
  36. package/dist/cjs/wallets/smart/lib/bundler.js +11 -2
  37. package/dist/cjs/wallets/smart/lib/bundler.js.map +1 -1
  38. package/dist/cjs/wallets/smart/lib/constants.js +27 -13
  39. package/dist/cjs/wallets/smart/lib/constants.js.map +1 -1
  40. package/dist/cjs/wallets/smart/lib/packUserOp.js +75 -0
  41. package/dist/cjs/wallets/smart/lib/packUserOp.js.map +1 -0
  42. package/dist/cjs/wallets/smart/lib/paymaster.js +11 -1
  43. package/dist/cjs/wallets/smart/lib/paymaster.js.map +1 -1
  44. package/dist/cjs/wallets/smart/lib/userop.js +201 -66
  45. package/dist/cjs/wallets/smart/lib/userop.js.map +1 -1
  46. package/dist/cjs/wallets/smart/lib/utils.js +1 -1
  47. package/dist/cjs/wallets/smart/lib/utils.js.map +1 -1
  48. package/dist/cjs/wallets/smart/smart-wallet.js +2 -1
  49. package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
  50. package/dist/cjs/wallets/smart/types.js.map +1 -1
  51. package/dist/esm/exports/wallets/smart.js +1 -1
  52. package/dist/esm/exports/wallets/smart.js.map +1 -1
  53. package/dist/esm/extensions/erc1155/drops/write/claimTo.js.map +1 -1
  54. package/dist/esm/extensions/erc4337/__generated__/IEntryPoint_v07/events/PostOpRevertReason.js +29 -0
  55. package/dist/esm/extensions/erc4337/__generated__/IEntryPoint_v07/events/PostOpRevertReason.js.map +1 -0
  56. package/dist/esm/extensions/erc4337/__generated__/IEntryPoint_v07/read/getUserOpHash.js +145 -0
  57. package/dist/esm/extensions/erc4337/__generated__/IEntryPoint_v07/read/getUserOpHash.js.map +1 -0
  58. package/dist/esm/extensions/prebuilts/__generated__/VoteERC20/write/initialize.js +177 -0
  59. package/dist/esm/extensions/prebuilts/__generated__/VoteERC20/write/initialize.js.map +1 -0
  60. package/dist/esm/extensions/prebuilts/deploy-vote.js +119 -0
  61. package/dist/esm/extensions/prebuilts/deploy-vote.js.map +1 -0
  62. package/dist/esm/react/core/hooks/pay/useBuyWithCryptoQuote.js +5 -1
  63. package/dist/esm/react/core/hooks/pay/useBuyWithCryptoQuote.js.map +1 -1
  64. package/dist/esm/react/core/hooks/pay/useBuyWithFiatQuote.js +5 -1
  65. package/dist/esm/react/core/hooks/pay/useBuyWithFiatQuote.js.map +1 -1
  66. package/dist/esm/react/core/hooks/transaction/useSendAndConfirmTransaction.js +12 -0
  67. package/dist/esm/react/core/hooks/transaction/useSendAndConfirmTransaction.js.map +1 -1
  68. package/dist/esm/react/native/hooks/transaction/useSendTransaction.js +11 -0
  69. package/dist/esm/react/native/hooks/transaction/useSendTransaction.js.map +1 -1
  70. package/dist/esm/react/web/ui/TransactionButton/index.js +13 -0
  71. package/dist/esm/react/web/ui/TransactionButton/index.js.map +1 -1
  72. package/dist/esm/transaction/actions/send-and-confirm-transaction.js +13 -0
  73. package/dist/esm/transaction/actions/send-and-confirm-transaction.js.map +1 -1
  74. package/dist/esm/transaction/actions/send-transaction.js +13 -0
  75. package/dist/esm/transaction/actions/send-transaction.js.map +1 -1
  76. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js +1 -1
  77. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  78. package/dist/esm/version.js +1 -1
  79. package/dist/esm/version.js.map +1 -1
  80. package/dist/esm/wallets/in-app/web/lib/in-app-account.js +5 -1
  81. package/dist/esm/wallets/in-app/web/lib/in-app-account.js.map +1 -1
  82. package/dist/esm/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.js +1 -0
  83. package/dist/esm/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.js.map +1 -1
  84. package/dist/esm/wallets/smart/index.js +14 -3
  85. package/dist/esm/wallets/smart/index.js.map +1 -1
  86. package/dist/esm/wallets/smart/lib/bundler.js +12 -3
  87. package/dist/esm/wallets/smart/lib/bundler.js.map +1 -1
  88. package/dist/esm/wallets/smart/lib/constants.js +23 -10
  89. package/dist/esm/wallets/smart/lib/constants.js.map +1 -1
  90. package/dist/esm/wallets/smart/lib/packUserOp.js +65 -0
  91. package/dist/esm/wallets/smart/lib/packUserOp.js.map +1 -0
  92. package/dist/esm/wallets/smart/lib/paymaster.js +12 -2
  93. package/dist/esm/wallets/smart/lib/paymaster.js.map +1 -1
  94. package/dist/esm/wallets/smart/lib/userop.js +202 -67
  95. package/dist/esm/wallets/smart/lib/userop.js.map +1 -1
  96. package/dist/esm/wallets/smart/lib/utils.js +1 -1
  97. package/dist/esm/wallets/smart/lib/utils.js.map +1 -1
  98. package/dist/esm/wallets/smart/smart-wallet.js +3 -2
  99. package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
  100. package/dist/esm/wallets/smart/types.js.map +1 -1
  101. package/dist/types/exports/wallets/smart.d.ts +2 -2
  102. package/dist/types/exports/wallets/smart.d.ts.map +1 -1
  103. package/dist/types/extensions/erc1155/drops/write/claimTo.d.ts +2 -3
  104. package/dist/types/extensions/erc1155/drops/write/claimTo.d.ts.map +1 -1
  105. package/dist/types/extensions/erc4337/__generated__/IEntryPoint_v07/events/PostOpRevertReason.d.ts +57 -0
  106. package/dist/types/extensions/erc4337/__generated__/IEntryPoint_v07/events/PostOpRevertReason.d.ts.map +1 -0
  107. package/dist/types/extensions/erc4337/__generated__/IEntryPoint_v07/read/getUserOpHash.d.ts +123 -0
  108. package/dist/types/extensions/erc4337/__generated__/IEntryPoint_v07/read/getUserOpHash.d.ts.map +1 -0
  109. package/dist/types/extensions/prebuilts/__generated__/VoteERC20/write/initialize.d.ts +129 -0
  110. package/dist/types/extensions/prebuilts/__generated__/VoteERC20/write/initialize.d.ts.map +1 -0
  111. package/dist/types/extensions/prebuilts/deploy-vote.d.ts +82 -0
  112. package/dist/types/extensions/prebuilts/deploy-vote.d.ts.map +1 -0
  113. package/dist/types/react/core/hooks/pay/useBuyWithCryptoQuote.d.ts.map +1 -1
  114. package/dist/types/react/core/hooks/pay/useBuyWithFiatQuote.d.ts.map +1 -1
  115. package/dist/types/react/core/hooks/transaction/useSendAndConfirmTransaction.d.ts +12 -0
  116. package/dist/types/react/core/hooks/transaction/useSendAndConfirmTransaction.d.ts.map +1 -1
  117. package/dist/types/react/native/hooks/transaction/useSendTransaction.d.ts +11 -0
  118. package/dist/types/react/native/hooks/transaction/useSendTransaction.d.ts.map +1 -1
  119. package/dist/types/react/web/ui/TransactionButton/index.d.ts +13 -0
  120. package/dist/types/react/web/ui/TransactionButton/index.d.ts.map +1 -1
  121. package/dist/types/transaction/actions/send-and-confirm-transaction.d.ts +13 -0
  122. package/dist/types/transaction/actions/send-and-confirm-transaction.d.ts.map +1 -1
  123. package/dist/types/transaction/actions/send-transaction.d.ts +13 -0
  124. package/dist/types/transaction/actions/send-transaction.d.ts.map +1 -1
  125. package/dist/types/version.d.ts +1 -1
  126. package/dist/types/version.d.ts.map +1 -1
  127. package/dist/types/wallets/in-app/web/lib/in-app-account.d.ts.map +1 -1
  128. package/dist/types/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.d.ts.map +1 -1
  129. package/dist/types/wallets/smart/index.d.ts.map +1 -1
  130. package/dist/types/wallets/smart/lib/bundler.d.ts +3 -3
  131. package/dist/types/wallets/smart/lib/bundler.d.ts.map +1 -1
  132. package/dist/types/wallets/smart/lib/constants.d.ts +6 -6
  133. package/dist/types/wallets/smart/lib/constants.d.ts.map +1 -1
  134. package/dist/types/wallets/smart/lib/packUserOp.d.ts +16 -0
  135. package/dist/types/wallets/smart/lib/packUserOp.d.ts.map +1 -0
  136. package/dist/types/wallets/smart/lib/paymaster.d.ts +3 -3
  137. package/dist/types/wallets/smart/lib/paymaster.d.ts.map +1 -1
  138. package/dist/types/wallets/smart/lib/userop.d.ts +6 -4
  139. package/dist/types/wallets/smart/lib/userop.d.ts.map +1 -1
  140. package/dist/types/wallets/smart/lib/utils.d.ts +2 -2
  141. package/dist/types/wallets/smart/lib/utils.d.ts.map +1 -1
  142. package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
  143. package/dist/types/wallets/smart/types.d.ts +62 -9
  144. package/dist/types/wallets/smart/types.d.ts.map +1 -1
  145. package/package.json +1 -1
  146. package/src/exports/wallets/smart.ts +4 -2
  147. package/src/extensions/erc1155/drops/write/claimTo.ts +2 -3
  148. package/src/extensions/erc4337/__generated__/IEntryPoint_v07/events/PostOpRevertReason.ts +49 -0
  149. package/src/extensions/erc4337/__generated__/IEntryPoint_v07/read/getUserOpHash.ts +181 -0
  150. package/src/extensions/prebuilts/__generated__/VoteERC20/write/initialize.ts +230 -0
  151. package/src/extensions/prebuilts/deploy-vote.test.ts +73 -0
  152. package/src/extensions/prebuilts/deploy-vote.ts +213 -0
  153. package/src/extensions/vote/read/proposalExists.test.ts +123 -0
  154. package/src/react/core/hooks/pay/useBuyWithCryptoQuote.ts +16 -1
  155. package/src/react/core/hooks/pay/useBuyWithFiatQuote.ts +16 -1
  156. package/src/react/core/hooks/transaction/useSendAndConfirmTransaction.ts +12 -0
  157. package/src/react/native/hooks/transaction/useSendTransaction.tsx +11 -0
  158. package/src/react/web/ui/TransactionButton/index.tsx +13 -0
  159. package/src/transaction/actions/send-and-confirm-transaction.ts +13 -0
  160. package/src/transaction/actions/send-transaction.ts +13 -0
  161. package/src/transaction/actions/zksync/send-eip712-transaction.ts +1 -1
  162. package/src/version.ts +1 -1
  163. package/src/wallets/in-app/web/lib/in-app-account.ts +5 -1
  164. package/src/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.ts +1 -0
  165. package/src/wallets/smart/index.ts +21 -5
  166. package/src/wallets/smart/lib/bundler.ts +21 -5
  167. package/src/wallets/smart/lib/constants.ts +29 -10
  168. package/src/wallets/smart/lib/packUserOp.ts +79 -0
  169. package/src/wallets/smart/lib/paymaster.ts +22 -5
  170. package/src/wallets/smart/lib/userop.ts +292 -85
  171. package/src/wallets/smart/lib/utils.ts +11 -4
  172. package/src/wallets/smart/smart-wallet-integration-v07.test.ts +206 -0
  173. package/src/wallets/smart/smart-wallet-integration.test.ts +1 -1
  174. package/src/wallets/smart/smart-wallet-zksync.test.ts +3 -3
  175. package/src/wallets/smart/smart-wallet.ts +4 -2
  176. package/src/wallets/smart/types.ts +73 -9
@@ -1,6 +1,6 @@
1
1
  import type { Chain } from "../../../chains/types.js";
2
2
  import type { ThirdwebClient } from "../../../client/client.js";
3
- import type { PaymasterResult, UserOperation } from "../types.js";
3
+ import type { PaymasterResult, UserOperationV06, UserOperationV07 } from "../types.js";
4
4
  /**
5
5
  * Get paymaster and data details for a user operation.
6
6
  * @param args - The userOp and options
@@ -20,10 +20,10 @@ import type { PaymasterResult, UserOperation } from "../types.js";
20
20
  * @walletUtils
21
21
  */
22
22
  export declare function getPaymasterAndData(args: {
23
- userOp: UserOperation;
23
+ userOp: UserOperationV06 | UserOperationV07;
24
24
  client: ThirdwebClient;
25
25
  chain: Chain;
26
26
  entrypointAddress?: string;
27
- paymasterOverride?: (userOp: UserOperation) => Promise<PaymasterResult>;
27
+ paymasterOverride?: (userOp: UserOperationV06 | UserOperationV07) => Promise<PaymasterResult>;
28
28
  }): Promise<PaymasterResult>;
29
29
  //# sourceMappingURL=paymaster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paymaster.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQlE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CACzE,GAAG,OAAO,CAAC,eAAe,CAAC,CAkE3B"}
1
+ {"version":3,"file":"paymaster.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AASrB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IAC5C,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAClB,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,KACxC,OAAO,CAAC,eAAe,CAAC,CAAC;CAC/B,GAAG,OAAO,CAAC,eAAe,CAAC,CA4E3B"}
@@ -1,10 +1,11 @@
1
1
  import type { Chain } from "../../../chains/types.js";
2
+ import type { ThirdwebClient } from "../../../client/client.js";
2
3
  import { type ThirdwebContract } from "../../../contract/contract.js";
3
4
  import type { PreparedTransaction } from "../../../transaction/prepare-transaction.js";
4
5
  import type { TransactionReceipt } from "../../../transaction/types.js";
5
6
  import type { Hex } from "../../../utils/encoding/hex.js";
6
7
  import type { Account } from "../../interfaces/wallet.js";
7
- import type { BundlerOptions, SmartWalletOptions, UserOperation } from "../types.js";
8
+ import type { BundlerOptions, SmartWalletOptions, UserOperationV06, UserOperationV07 } from "../types.js";
8
9
  /**
9
10
  * Wait for the user operation to be mined.
10
11
  * @param args - The options and user operation hash
@@ -55,7 +56,7 @@ export declare function createUnsignedUserOp(args: {
55
56
  adminAddress: string;
56
57
  sponsorGas: boolean;
57
58
  overrides?: SmartWalletOptions["overrides"];
58
- }): Promise<UserOperation>;
59
+ }): Promise<UserOperationV06 | UserOperationV07>;
59
60
  /**
60
61
  * Sign a user operation.
61
62
  * @param userOp - The UserOperation to sign (with signature field ignored)
@@ -75,9 +76,10 @@ export declare function createUnsignedUserOp(args: {
75
76
  * @walletUtils
76
77
  */
77
78
  export declare function signUserOp(args: {
78
- userOp: UserOperation;
79
+ client: ThirdwebClient;
80
+ userOp: UserOperationV06 | UserOperationV07;
79
81
  chain: Chain;
80
82
  entrypointAddress?: string;
81
83
  adminAccount: Account;
82
- }): Promise<UserOperation>;
84
+ }): Promise<UserOperationV06 | UserOperationV07>;
83
85
  //# sourceMappingURL=userop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"userop.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/userop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAK1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EACd,MAAM,aAAa,CAAC;AAerB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,cAAc,GAAG;IACrB,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,WAAW,EAAE,mBAAmB,CAAC;IACjC,eAAe,EAAE,gBAAgB,CAAC;IAClC,eAAe,EAAE,gBAAgB,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CAC7C,GAAG,OAAO,CAAC,aAAa,CAAC,CA8IzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBzB"}
1
+ {"version":3,"file":"userop.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/userop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,+BAA+B,CAAC;AAMvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAI1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EAEd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAkBrB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,cAAc,GAAG;IACrB,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,WAAW,EAAE,mBAAmB,CAAC;IACjC,eAAe,EAAE,gBAAgB,CAAC;IAClC,eAAe,EAAE,gBAAgB,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CAC7C,GAAG,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAwE/C;AA2SD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IAC5C,KAAK,EAAE,KAAK,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CA0C/C"}
@@ -1,5 +1,5 @@
1
1
  import type { Chain } from "../../../chains/types.js";
2
- import type { UserOperation, UserOperationHexed } from "../types.js";
2
+ import type { UserOperationV06, UserOperationV06Hexed, UserOperationV07, UserOperationV07Hexed } from "../types.js";
3
3
  export declare const generateRandomUint192: () => bigint;
4
4
  /**
5
5
  * @internal
@@ -8,6 +8,6 @@ export declare const randomNonce: () => bigint;
8
8
  /**
9
9
  * @internal
10
10
  */
11
- export declare function hexlifyUserOp(userOp: UserOperation): UserOperationHexed;
11
+ export declare function hexlifyUserOp(userOp: UserOperationV06 | UserOperationV07): UserOperationV06Hexed | UserOperationV07Hexed;
12
12
  export declare function isNativeAAChain(chain: Chain): boolean;
13
13
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErE,eAAO,MAAM,qBAAqB,QAAO,MAexC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,cAIvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,kBAAkB,CAQvE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,WAO3C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,qBAAqB,QAAO,MAexC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,cAIvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,GAC1C,qBAAqB,GAAG,qBAAqB,CAQ/C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,WAO3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"smart-wallet.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC1C,MAAM,CAAC,OAAO,CAAC,CA+FjB"}
1
+ {"version":3,"file":"smart-wallet.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC1C,MAAM,CAAC,OAAO,CAAC,CAiGjB"}
@@ -19,7 +19,7 @@ export type SmartWalletOptions = Prettify<{
19
19
  address: string;
20
20
  token: string;
21
21
  };
22
- paymaster?: (userOp: UserOperation) => Promise<PaymasterResult>;
22
+ paymaster?: (userOp: UserOperationV06 | UserOperationV07) => Promise<PaymasterResult>;
23
23
  predictAddress?: (factoryContract: ThirdwebContract) => Promise<string>;
24
24
  createAccount?: (factoryContract: ThirdwebContract) => PreparedTransaction;
25
25
  execute?: (accountContract: ThirdwebContract, transaction: SendTransactionOption) => PreparedTransaction;
@@ -53,20 +53,48 @@ export type SmartWalletConnectionOptions = {
53
53
  client: ThirdwebClient;
54
54
  chain?: Chain;
55
55
  };
56
- export type UserOperation = {
56
+ export type UserOperationV06 = {
57
57
  sender: Address;
58
58
  nonce: bigint;
59
- initCode: Hex | Uint8Array;
60
- callData: Hex | Uint8Array;
59
+ initCode: Hex;
60
+ callData: Hex;
61
61
  callGasLimit: bigint;
62
62
  verificationGasLimit: bigint;
63
63
  preVerificationGas: bigint;
64
64
  maxFeePerGas: bigint;
65
65
  maxPriorityFeePerGas: bigint;
66
- paymasterAndData: Hex | Uint8Array;
67
- signature: Hex | Uint8Array;
66
+ paymasterAndData: Hex;
67
+ signature: Hex;
68
+ };
69
+ export type UserOperationV07 = {
70
+ sender: string;
71
+ nonce: bigint;
72
+ factory: string | undefined;
73
+ factoryData: Hex;
74
+ callData: Hex;
75
+ callGasLimit: bigint;
76
+ verificationGasLimit: bigint;
77
+ preVerificationGas: bigint;
78
+ maxFeePerGas: bigint;
79
+ maxPriorityFeePerGas: bigint;
80
+ paymaster: string | undefined;
81
+ paymasterData: Hex;
82
+ paymasterVerificationGasLimit: bigint;
83
+ paymasterPostOpGasLimit: bigint;
84
+ signature: Hex;
85
+ };
86
+ export type PackedUserOperation = {
87
+ sender: string;
88
+ nonce: bigint;
89
+ initCode: Hex;
90
+ callData: Hex;
91
+ accountGasLimits: Hex;
92
+ preVerificationGas: bigint;
93
+ gasFees: Hex;
94
+ paymasterAndData: Hex;
95
+ signature: Hex;
68
96
  };
69
- export type UserOperationHexed = {
97
+ export type UserOperationV06Hexed = {
70
98
  sender: Address;
71
99
  nonce: Hex;
72
100
  initCode: Hex;
@@ -79,17 +107,42 @@ export type UserOperationHexed = {
79
107
  paymasterAndData: Hex;
80
108
  signature: Hex;
81
109
  };
110
+ export type UserOperationV07Hexed = {
111
+ sender: Hex;
112
+ nonce: Hex;
113
+ factory: Hex;
114
+ factoryData: Hex;
115
+ callData: Hex;
116
+ callGasLimit: Hex;
117
+ verificationGasLimit: Hex;
118
+ preVerificationGas: Hex;
119
+ maxFeePerGas: Hex;
120
+ maxPriorityFeePerGas: Hex;
121
+ paymaster: Hex;
122
+ paymasterVerificationGasLimit: Hex;
123
+ paymasterPostOpGasLimit: Hex;
124
+ paymasterData: Hex;
125
+ signature: Hex;
126
+ };
82
127
  export type PaymasterResult = {
83
- paymasterAndData: string;
84
128
  preVerificationGas?: bigint;
85
129
  verificationGasLimit?: bigint;
86
130
  callGasLimit?: bigint;
87
- };
131
+ } & ({
132
+ paymasterAndData: string;
133
+ } | {
134
+ paymaster: string;
135
+ paymasterData: string;
136
+ paymasterVerificationGasLimit?: bigint;
137
+ paymasterPostOpGasLimit?: bigint;
138
+ });
88
139
  export type EstimationResult = {
89
140
  preVerificationGas: bigint;
90
141
  verificationGas: bigint;
91
142
  verificationGasLimit: bigint;
92
143
  callGasLimit: bigint;
144
+ paymasterVerificationGasLimit?: bigint;
145
+ paymasterPostOpGasLimit?: bigint;
93
146
  };
94
147
  export type GasPriceResult = {
95
148
  maxFeePerGas: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thirdweb",
3
- "version": "5.48.2",
3
+ "version": "5.48.3-nightly-a8e2bc58c9e8fe5b75d6c27d406e6b80d5d067e2-20240828000339",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -21,11 +21,13 @@ export { getPaymasterAndData } from "../../wallets/smart/lib/paymaster.js";
21
21
  export type {
22
22
  SmartWalletConnectionOptions,
23
23
  SmartWalletOptions,
24
- UserOperation,
24
+ UserOperationV06 as UserOperation,
25
25
  PaymasterResult,
26
26
  } from "../../wallets/smart/types.js";
27
27
 
28
28
  export {
29
29
  ENTRYPOINT_ADDRESS_v0_6,
30
- DEFAULT_ACCOUNT_FACTORY,
30
+ ENTRYPOINT_ADDRESS_v0_7,
31
+ DEFAULT_ACCOUNT_FACTORY_V0_6,
32
+ DEFAULT_ACCOUNT_FACTORY_V0_7,
31
33
  } from "../../wallets/smart/lib/constants.js";
@@ -1,4 +1,3 @@
1
- import type { Address } from "abitype";
2
1
  import type { BaseTransactionOptions } from "../../../../transaction/types.js";
3
2
  import { getClaimParams } from "../../../../utils/extensions/drops/get-claim-params.js";
4
3
  import { claim } from "../../__generated__/IDrop1155/write/claim.js";
@@ -7,10 +6,10 @@ import { claim } from "../../__generated__/IDrop1155/write/claim.js";
7
6
  * @extension ERC1155
8
7
  */
9
8
  export type ClaimToParams = {
10
- to: Address;
9
+ to: string;
11
10
  tokenId: bigint;
12
11
  quantity: bigint;
13
- from?: Address;
12
+ from?: string;
14
13
  };
15
14
 
16
15
  /**
@@ -0,0 +1,49 @@
1
+ import { prepareEvent } from "../../../../../event/prepare-event.js";
2
+ import type { AbiParameterToPrimitiveType } from "abitype";
3
+
4
+ /**
5
+ * Represents the filters for the "PostOpRevertReason" event.
6
+ */
7
+ export type PostOpRevertReasonEventFilters = Partial<{
8
+ userOpHash: AbiParameterToPrimitiveType<{
9
+ type: "bytes32";
10
+ name: "userOpHash";
11
+ indexed: true;
12
+ }>;
13
+ sender: AbiParameterToPrimitiveType<{
14
+ type: "address";
15
+ name: "sender";
16
+ indexed: true;
17
+ }>;
18
+ }>;
19
+
20
+ /**
21
+ * Creates an event object for the PostOpRevertReason event.
22
+ * @param filters - Optional filters to apply to the event.
23
+ * @returns The prepared event object.
24
+ * @extension ERC4337
25
+ * @example
26
+ * ```ts
27
+ * import { getContractEvents } from "thirdweb";
28
+ * import { postOpRevertReasonEvent } from "thirdweb/extensions/erc4337";
29
+ *
30
+ * const events = await getContractEvents({
31
+ * contract,
32
+ * events: [
33
+ * postOpRevertReasonEvent({
34
+ * userOpHash: ...,
35
+ * sender: ...,
36
+ * })
37
+ * ],
38
+ * });
39
+ * ```
40
+ */
41
+ export function postOpRevertReasonEvent(
42
+ filters: PostOpRevertReasonEventFilters = {},
43
+ ) {
44
+ return prepareEvent({
45
+ signature:
46
+ "event PostOpRevertReason(bytes32 indexed userOpHash, address indexed sender, uint256 nonce, bytes revertReason)",
47
+ filters,
48
+ });
49
+ }
@@ -0,0 +1,181 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import { readContract } from "../../../../../transaction/read-contract.js";
3
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
4
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
5
+ import { decodeAbiParameters } from "viem";
6
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
7
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
8
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
9
+
10
+ /**
11
+ * Represents the parameters for the "getUserOpHash" function.
12
+ */
13
+ export type GetUserOpHashParams = {
14
+ userOp: AbiParameterToPrimitiveType<{
15
+ type: "tuple";
16
+ name: "userOp";
17
+ components: [
18
+ { type: "address"; name: "sender" },
19
+ { type: "uint256"; name: "nonce" },
20
+ { type: "bytes"; name: "initCode" },
21
+ { type: "bytes"; name: "callData" },
22
+ { type: "bytes32"; name: "accountGasLimits" },
23
+ { type: "uint256"; name: "preVerificationGas" },
24
+ { type: "bytes32"; name: "gasFees" },
25
+ { type: "bytes"; name: "paymasterAndData" },
26
+ { type: "bytes"; name: "signature" },
27
+ ];
28
+ }>;
29
+ };
30
+
31
+ export const FN_SELECTOR = "0x22cdde4c" as const;
32
+ const FN_INPUTS = [
33
+ {
34
+ type: "tuple",
35
+ name: "userOp",
36
+ components: [
37
+ {
38
+ type: "address",
39
+ name: "sender",
40
+ },
41
+ {
42
+ type: "uint256",
43
+ name: "nonce",
44
+ },
45
+ {
46
+ type: "bytes",
47
+ name: "initCode",
48
+ },
49
+ {
50
+ type: "bytes",
51
+ name: "callData",
52
+ },
53
+ {
54
+ type: "bytes32",
55
+ name: "accountGasLimits",
56
+ },
57
+ {
58
+ type: "uint256",
59
+ name: "preVerificationGas",
60
+ },
61
+ {
62
+ type: "bytes32",
63
+ name: "gasFees",
64
+ },
65
+ {
66
+ type: "bytes",
67
+ name: "paymasterAndData",
68
+ },
69
+ {
70
+ type: "bytes",
71
+ name: "signature",
72
+ },
73
+ ],
74
+ },
75
+ ] as const;
76
+ const FN_OUTPUTS = [
77
+ {
78
+ type: "bytes32",
79
+ },
80
+ ] as const;
81
+
82
+ /**
83
+ * Checks if the `getUserOpHash` method is supported by the given contract.
84
+ * @param contract The ThirdwebContract.
85
+ * @returns A promise that resolves to a boolean indicating if the `getUserOpHash` method is supported.
86
+ * @extension ERC4337
87
+ * @example
88
+ * ```ts
89
+ * import { isGetUserOpHashSupported } from "thirdweb/extensions/erc4337";
90
+ *
91
+ * const supported = await isGetUserOpHashSupported(contract);
92
+ * ```
93
+ */
94
+ export async function isGetUserOpHashSupported(
95
+ contract: ThirdwebContract<any>,
96
+ ) {
97
+ return detectMethod({
98
+ contract,
99
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
100
+ });
101
+ }
102
+
103
+ /**
104
+ * Encodes the parameters for the "getUserOpHash" function.
105
+ * @param options - The options for the getUserOpHash function.
106
+ * @returns The encoded ABI parameters.
107
+ * @extension ERC4337
108
+ * @example
109
+ * ```ts
110
+ * import { encodeGetUserOpHashParams } "thirdweb/extensions/erc4337";
111
+ * const result = encodeGetUserOpHashParams({
112
+ * userOp: ...,
113
+ * });
114
+ * ```
115
+ */
116
+ export function encodeGetUserOpHashParams(options: GetUserOpHashParams) {
117
+ return encodeAbiParameters(FN_INPUTS, [options.userOp]);
118
+ }
119
+
120
+ /**
121
+ * Encodes the "getUserOpHash" function into a Hex string with its parameters.
122
+ * @param options - The options for the getUserOpHash function.
123
+ * @returns The encoded hexadecimal string.
124
+ * @extension ERC4337
125
+ * @example
126
+ * ```ts
127
+ * import { encodeGetUserOpHash } "thirdweb/extensions/erc4337";
128
+ * const result = encodeGetUserOpHash({
129
+ * userOp: ...,
130
+ * });
131
+ * ```
132
+ */
133
+ export function encodeGetUserOpHash(options: GetUserOpHashParams) {
134
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
135
+ // we can do this because we know the specific formats of the values
136
+ return (FN_SELECTOR +
137
+ encodeGetUserOpHashParams(options).slice(
138
+ 2,
139
+ )) as `${typeof FN_SELECTOR}${string}`;
140
+ }
141
+
142
+ /**
143
+ * Decodes the result of the getUserOpHash function call.
144
+ * @param result - The hexadecimal result to decode.
145
+ * @returns The decoded result as per the FN_OUTPUTS definition.
146
+ * @extension ERC4337
147
+ * @example
148
+ * ```ts
149
+ * import { decodeGetUserOpHashResult } from "thirdweb/extensions/erc4337";
150
+ * const result = decodeGetUserOpHashResult("...");
151
+ * ```
152
+ */
153
+ export function decodeGetUserOpHashResult(result: Hex) {
154
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
155
+ }
156
+
157
+ /**
158
+ * Calls the "getUserOpHash" function on the contract.
159
+ * @param options - The options for the getUserOpHash function.
160
+ * @returns The parsed result of the function call.
161
+ * @extension ERC4337
162
+ * @example
163
+ * ```ts
164
+ * import { getUserOpHash } from "thirdweb/extensions/erc4337";
165
+ *
166
+ * const result = await getUserOpHash({
167
+ * contract,
168
+ * userOp: ...,
169
+ * });
170
+ *
171
+ * ```
172
+ */
173
+ export async function getUserOpHash(
174
+ options: BaseTransactionOptions<GetUserOpHashParams>,
175
+ ) {
176
+ return readContract({
177
+ contract: options.contract,
178
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
179
+ params: [options.userOp],
180
+ });
181
+ }