permissionless 0.1.47 → 0.1.49

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 (711) hide show
  1. package/_cjs/accounts/biconomy/abi/BiconomySmartAccountAbi.js +102 -0
  2. package/_cjs/accounts/biconomy/abi/BiconomySmartAccountAbi.js.map +1 -0
  3. package/_cjs/accounts/biconomy/privateKeyToBiconomySmartAccount.js +14 -0
  4. package/_cjs/accounts/biconomy/privateKeyToBiconomySmartAccount.js.map +1 -0
  5. package/_cjs/accounts/biconomy/signerToBiconomySmartAccount.js +233 -0
  6. package/_cjs/accounts/biconomy/signerToBiconomySmartAccount.js.map +1 -0
  7. package/_cjs/accounts/index.js +30 -0
  8. package/_cjs/accounts/index.js.map +1 -0
  9. package/_cjs/accounts/kernel/abi/KernelAccountAbi.js +84 -0
  10. package/_cjs/accounts/kernel/abi/KernelAccountAbi.js.map +1 -0
  11. package/_cjs/accounts/kernel/abi/KernelV3AccountAbi.js +110 -0
  12. package/_cjs/accounts/kernel/abi/KernelV3AccountAbi.js.map +1 -0
  13. package/_cjs/accounts/kernel/abi/KernelV3MetaFactoryAbi.js +21 -0
  14. package/_cjs/accounts/kernel/abi/KernelV3MetaFactoryAbi.js.map +1 -0
  15. package/_cjs/accounts/kernel/constants.js +27 -0
  16. package/_cjs/accounts/kernel/constants.js.map +1 -0
  17. package/_cjs/accounts/kernel/signerToEcdsaKernelSmartAccount.js +332 -0
  18. package/_cjs/accounts/kernel/signerToEcdsaKernelSmartAccount.js.map +1 -0
  19. package/_cjs/accounts/kernel/utils/encodeCallData.js +90 -0
  20. package/_cjs/accounts/kernel/utils/encodeCallData.js.map +1 -0
  21. package/_cjs/accounts/kernel/utils/getExecMode.js +15 -0
  22. package/_cjs/accounts/kernel/utils/getExecMode.js.map +1 -0
  23. package/_cjs/accounts/kernel/utils/getNonceKey.js +25 -0
  24. package/_cjs/accounts/kernel/utils/getNonceKey.js.map +1 -0
  25. package/_cjs/accounts/kernel/utils/isKernelV2.js +9 -0
  26. package/_cjs/accounts/kernel/utils/isKernelV2.js.map +1 -0
  27. package/_cjs/accounts/kernel/utils/signMessage.js +29 -0
  28. package/_cjs/accounts/kernel/utils/signMessage.js.map +1 -0
  29. package/_cjs/accounts/kernel/utils/signTypedData.js +41 -0
  30. package/_cjs/accounts/kernel/utils/signTypedData.js.map +1 -0
  31. package/_cjs/accounts/kernel/utils/wrapMessageHash.js +20 -0
  32. package/_cjs/accounts/kernel/utils/wrapMessageHash.js.map +1 -0
  33. package/_cjs/accounts/light/privateKeyToLightSmartAccount.js +14 -0
  34. package/_cjs/accounts/light/privateKeyToLightSmartAccount.js.map +1 -0
  35. package/_cjs/accounts/light/signerToLightSmartAccount.js +256 -0
  36. package/_cjs/accounts/light/signerToLightSmartAccount.js.map +1 -0
  37. package/_cjs/accounts/safe/privateKeyToSafeSmartAccount.js +14 -0
  38. package/_cjs/accounts/safe/privateKeyToSafeSmartAccount.js.map +1 -0
  39. package/_cjs/accounts/safe/signerToSafeSmartAccount.js +1012 -0
  40. package/_cjs/accounts/safe/signerToSafeSmartAccount.js.map +1 -0
  41. package/_cjs/accounts/simple/privateKeyToSimpleSmartAccount.js +14 -0
  42. package/_cjs/accounts/simple/privateKeyToSimpleSmartAccount.js.map +1 -0
  43. package/_cjs/accounts/simple/signerToSimpleSmartAccount.js +259 -0
  44. package/_cjs/accounts/simple/signerToSimpleSmartAccount.js.map +1 -0
  45. package/_cjs/accounts/toSmartAccount.js +84 -0
  46. package/_cjs/accounts/toSmartAccount.js.map +1 -0
  47. package/_cjs/accounts/trust/privateKeyToTrustSmartAccount.js +14 -0
  48. package/_cjs/accounts/trust/privateKeyToTrustSmartAccount.js.map +1 -0
  49. package/_cjs/accounts/trust/signerToTrustSmartAccount.js +134 -0
  50. package/_cjs/accounts/trust/signerToTrustSmartAccount.js.map +1 -0
  51. package/_cjs/accounts/trust/utils/encodeCallData.js +74 -0
  52. package/_cjs/accounts/trust/utils/encodeCallData.js.map +1 -0
  53. package/_cjs/accounts/trust/utils/getAccountAddress.js +19 -0
  54. package/_cjs/accounts/trust/utils/getAccountAddress.js.map +1 -0
  55. package/_cjs/accounts/trust/utils/getDummySignature.js +8 -0
  56. package/_cjs/accounts/trust/utils/getDummySignature.js.map +1 -0
  57. package/_cjs/accounts/trust/utils/getFactoryData.js +43 -0
  58. package/_cjs/accounts/trust/utils/getFactoryData.js.map +1 -0
  59. package/_cjs/accounts/trust/utils/signMessage.js +9 -0
  60. package/_cjs/accounts/trust/utils/signMessage.js.map +1 -0
  61. package/_cjs/accounts/trust/utils/signTransaction.js +9 -0
  62. package/_cjs/accounts/trust/utils/signTransaction.js.map +1 -0
  63. package/_cjs/accounts/trust/utils/signUserOperation.js +19 -0
  64. package/_cjs/accounts/trust/utils/signUserOperation.js.map +1 -0
  65. package/_cjs/accounts/types.js +23 -0
  66. package/_cjs/accounts/types.js.map +1 -0
  67. package/_cjs/actions/bundler/chainId.js +11 -0
  68. package/_cjs/actions/bundler/chainId.js.map +1 -0
  69. package/_cjs/actions/bundler/estimateUserOperationGas.js +49 -0
  70. package/_cjs/actions/bundler/estimateUserOperationGas.js.map +1 -0
  71. package/_cjs/actions/bundler/getUserOperationByHash.js +47 -0
  72. package/_cjs/actions/bundler/getUserOperationByHash.js.map +1 -0
  73. package/_cjs/actions/bundler/getUserOperationReceipt.js +52 -0
  74. package/_cjs/actions/bundler/getUserOperationReceipt.js.map +1 -0
  75. package/_cjs/actions/bundler/sendUserOperation.js +23 -0
  76. package/_cjs/actions/bundler/sendUserOperation.js.map +1 -0
  77. package/_cjs/actions/bundler/supportedEntryPoints.js +11 -0
  78. package/_cjs/actions/bundler/supportedEntryPoints.js.map +1 -0
  79. package/_cjs/actions/bundler/waitForUserOperationReceipt.js +67 -0
  80. package/_cjs/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
  81. package/_cjs/actions/erc7579/accountId.js +66 -0
  82. package/_cjs/actions/erc7579/accountId.js.map +1 -0
  83. package/_cjs/actions/erc7579/installModule.js +65 -0
  84. package/_cjs/actions/erc7579/installModule.js.map +1 -0
  85. package/_cjs/actions/erc7579/installModules.js +65 -0
  86. package/_cjs/actions/erc7579/installModules.js.map +1 -0
  87. package/_cjs/actions/erc7579/isModuleInstalled.js +86 -0
  88. package/_cjs/actions/erc7579/isModuleInstalled.js.map +1 -0
  89. package/_cjs/actions/erc7579/supportsExecutionMode.js +95 -0
  90. package/_cjs/actions/erc7579/supportsExecutionMode.js.map +1 -0
  91. package/_cjs/actions/erc7579/supportsModule.js +84 -0
  92. package/_cjs/actions/erc7579/supportsModule.js.map +1 -0
  93. package/_cjs/actions/erc7579/uninstallModule.js +65 -0
  94. package/_cjs/actions/erc7579/uninstallModule.js.map +1 -0
  95. package/_cjs/actions/erc7579/uninstallModules.js +65 -0
  96. package/_cjs/actions/erc7579/uninstallModules.js.map +1 -0
  97. package/_cjs/actions/erc7579.js +33 -0
  98. package/_cjs/actions/erc7579.js.map +1 -0
  99. package/_cjs/actions/index.js +25 -0
  100. package/_cjs/actions/index.js.map +1 -0
  101. package/_cjs/actions/pimlico/getUserOperationGasPrice.js +25 -0
  102. package/_cjs/actions/pimlico/getUserOperationGasPrice.js.map +1 -0
  103. package/_cjs/actions/pimlico/getUserOperationStatus.js +11 -0
  104. package/_cjs/actions/pimlico/getUserOperationStatus.js.map +1 -0
  105. package/_cjs/actions/pimlico/sendCompressedUserOperation.js +16 -0
  106. package/_cjs/actions/pimlico/sendCompressedUserOperation.js.map +1 -0
  107. package/_cjs/actions/pimlico/sponsorUserOperation.js +43 -0
  108. package/_cjs/actions/pimlico/sponsorUserOperation.js.map +1 -0
  109. package/_cjs/actions/pimlico/validateSponsorshipPolicies.js +16 -0
  110. package/_cjs/actions/pimlico/validateSponsorshipPolicies.js.map +1 -0
  111. package/_cjs/actions/pimlico.js +17 -0
  112. package/_cjs/actions/pimlico.js.map +1 -0
  113. package/_cjs/actions/public/getAccountNonce.js +38 -0
  114. package/_cjs/actions/public/getAccountNonce.js.map +1 -0
  115. package/_cjs/actions/public/getSenderAddress.js +59 -0
  116. package/_cjs/actions/public/getSenderAddress.js.map +1 -0
  117. package/_cjs/actions/smartAccount/deployContract.js +38 -0
  118. package/_cjs/actions/smartAccount/deployContract.js.map +1 -0
  119. package/_cjs/actions/smartAccount/prepareUserOperationRequest.js +195 -0
  120. package/_cjs/actions/smartAccount/prepareUserOperationRequest.js.map +1 -0
  121. package/_cjs/actions/smartAccount/sendTransaction.js +43 -0
  122. package/_cjs/actions/smartAccount/sendTransaction.js.map +1 -0
  123. package/_cjs/actions/smartAccount/sendTransactions.js +45 -0
  124. package/_cjs/actions/smartAccount/sendTransactions.js.map +1 -0
  125. package/_cjs/actions/smartAccount/sendUserOperation.js +21 -0
  126. package/_cjs/actions/smartAccount/sendUserOperation.js.map +1 -0
  127. package/_cjs/actions/smartAccount/signMessage.js +16 -0
  128. package/_cjs/actions/smartAccount/signMessage.js.map +1 -0
  129. package/_cjs/actions/smartAccount/signTypedData.js +34 -0
  130. package/_cjs/actions/smartAccount/signTypedData.js.map +1 -0
  131. package/_cjs/actions/smartAccount/writeContract.js +21 -0
  132. package/_cjs/actions/smartAccount/writeContract.js.map +1 -0
  133. package/_cjs/actions/smartAccount.js +20 -0
  134. package/_cjs/actions/smartAccount.js.map +1 -0
  135. package/_cjs/actions/stackup/accounts.js +12 -0
  136. package/_cjs/actions/stackup/accounts.js.map +1 -0
  137. package/_cjs/actions/stackup/sponsorUserOperation.js +32 -0
  138. package/_cjs/actions/stackup/sponsorUserOperation.js.map +1 -0
  139. package/_cjs/actions/stackup.js +10 -0
  140. package/_cjs/actions/stackup.js.map +1 -0
  141. package/_cjs/clients/createBundlerClient.js +17 -0
  142. package/_cjs/clients/createBundlerClient.js.map +1 -0
  143. package/_cjs/clients/createSmartAccountClient.js +20 -0
  144. package/_cjs/clients/createSmartAccountClient.js.map +1 -0
  145. package/_cjs/clients/decorators/bundler.js +24 -0
  146. package/_cjs/clients/decorators/bundler.js.map +1 -0
  147. package/_cjs/clients/decorators/pimlico.js +25 -0
  148. package/_cjs/clients/decorators/pimlico.js.map +1 -0
  149. package/_cjs/clients/decorators/smartAccount.js +43 -0
  150. package/_cjs/clients/decorators/smartAccount.js.map +1 -0
  151. package/_cjs/clients/decorators/stackup.js +14 -0
  152. package/_cjs/clients/decorators/stackup.js.map +1 -0
  153. package/_cjs/clients/pimlico.js +31 -0
  154. package/_cjs/clients/pimlico.js.map +1 -0
  155. package/_cjs/clients/stackup.js +20 -0
  156. package/_cjs/clients/stackup.js.map +1 -0
  157. package/_cjs/errors/account.js +311 -0
  158. package/_cjs/errors/account.js.map +1 -0
  159. package/_cjs/errors/bundler.js +61 -0
  160. package/_cjs/errors/bundler.js.map +1 -0
  161. package/_cjs/errors/estimateUserOperationGas.js +53 -0
  162. package/_cjs/errors/estimateUserOperationGas.js.map +1 -0
  163. package/_cjs/errors/gas.js +113 -0
  164. package/_cjs/errors/gas.js.map +1 -0
  165. package/_cjs/errors/index.js +35 -0
  166. package/_cjs/errors/index.js.map +1 -0
  167. package/_cjs/errors/paymaster.js +228 -0
  168. package/_cjs/errors/paymaster.js.map +1 -0
  169. package/_cjs/errors/sendUserOperation.js +37 -0
  170. package/_cjs/errors/sendUserOperation.js.map +1 -0
  171. package/_cjs/errors/utils.js +18 -0
  172. package/_cjs/errors/utils.js.map +1 -0
  173. package/_cjs/experimental/eip7677/actions/getPaymasterData.js +41 -0
  174. package/_cjs/experimental/eip7677/actions/getPaymasterData.js.map +1 -0
  175. package/_cjs/experimental/eip7677/actions/getPaymasterStubData.js +51 -0
  176. package/_cjs/experimental/eip7677/actions/getPaymasterStubData.js.map +1 -0
  177. package/_cjs/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js +21 -0
  178. package/_cjs/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js.map +1 -0
  179. package/_cjs/experimental/eip7677/index.js +10 -0
  180. package/_cjs/experimental/eip7677/index.js.map +1 -0
  181. package/_cjs/experimental/eip7677/types/paymaster.js +3 -0
  182. package/_cjs/experimental/eip7677/types/paymaster.js.map +1 -0
  183. package/_cjs/experimental/index.js +5 -0
  184. package/_cjs/experimental/index.js.map +1 -0
  185. package/_cjs/index.js +37 -0
  186. package/_cjs/index.js.map +1 -0
  187. package/_cjs/package.json +1 -0
  188. package/_cjs/types/bundler.js +3 -0
  189. package/_cjs/types/bundler.js.map +1 -0
  190. package/_cjs/types/entrypoint.js +3 -0
  191. package/_cjs/types/entrypoint.js.map +1 -0
  192. package/_cjs/types/index.js +3 -0
  193. package/_cjs/types/index.js.map +1 -0
  194. package/_cjs/types/pimlico.js +3 -0
  195. package/_cjs/types/pimlico.js.map +1 -0
  196. package/_cjs/types/stackup.js +3 -0
  197. package/_cjs/types/stackup.js.map +1 -0
  198. package/_cjs/types/userOperation.js +3 -0
  199. package/_cjs/types/userOperation.js.map +1 -0
  200. package/_cjs/utils/decodeNonce.js +12 -0
  201. package/_cjs/utils/decodeNonce.js.map +1 -0
  202. package/_cjs/utils/deepHexlify.js +31 -0
  203. package/_cjs/utils/deepHexlify.js.map +1 -0
  204. package/_cjs/utils/encode7579CallData.js +81 -0
  205. package/_cjs/utils/encode7579CallData.js.map +1 -0
  206. package/_cjs/utils/encodeNonce.js +11 -0
  207. package/_cjs/utils/encodeNonce.js.map +1 -0
  208. package/_cjs/utils/errors/getBundlerError.js +124 -0
  209. package/_cjs/utils/errors/getBundlerError.js.map +1 -0
  210. package/_cjs/utils/errors/getEstimateUserOperationGasError.js +19 -0
  211. package/_cjs/utils/errors/getEstimateUserOperationGasError.js.map +1 -0
  212. package/_cjs/utils/errors/getSendUserOperationError.js +19 -0
  213. package/_cjs/utils/errors/getSendUserOperationError.js.map +1 -0
  214. package/_cjs/utils/getAddressFromInitCodeOrPaymasterAndData.js +15 -0
  215. package/_cjs/utils/getAddressFromInitCodeOrPaymasterAndData.js.map +1 -0
  216. package/_cjs/utils/getEntryPointVersion.js +16 -0
  217. package/_cjs/utils/getEntryPointVersion.js.map +1 -0
  218. package/_cjs/utils/getPackedUserOperation.js +106 -0
  219. package/_cjs/utils/getPackedUserOperation.js.map +1 -0
  220. package/_cjs/utils/getRequiredPrefund.js +27 -0
  221. package/_cjs/utils/getRequiredPrefund.js.map +1 -0
  222. package/_cjs/utils/getUserOperationHash.js +94 -0
  223. package/_cjs/utils/getUserOperationHash.js.map +1 -0
  224. package/_cjs/utils/index.js +38 -0
  225. package/_cjs/utils/index.js.map +1 -0
  226. package/_cjs/utils/isSmartAccountDeployed.js +15 -0
  227. package/_cjs/utils/isSmartAccountDeployed.js.map +1 -0
  228. package/_cjs/utils/observe.js +44 -0
  229. package/_cjs/utils/observe.js.map +1 -0
  230. package/_cjs/utils/providerToSmartAccountSigner.js +32 -0
  231. package/_cjs/utils/providerToSmartAccountSigner.js.map +1 -0
  232. package/_cjs/utils/signUserOperationHashWithECDSA.js +58 -0
  233. package/_cjs/utils/signUserOperationHashWithECDSA.js.map +1 -0
  234. package/_cjs/utils/walletClientToSmartAccountSigner.js +23 -0
  235. package/_cjs/utils/walletClientToSmartAccountSigner.js.map +1 -0
  236. package/_cjs/vitest.config.js +31 -0
  237. package/_cjs/vitest.config.js.map +1 -0
  238. package/_esm/accounts/biconomy/abi/BiconomySmartAccountAbi.js +105 -0
  239. package/_esm/accounts/biconomy/abi/BiconomySmartAccountAbi.js.map +1 -0
  240. package/_esm/accounts/biconomy/privateKeyToBiconomySmartAccount.js +15 -0
  241. package/_esm/accounts/biconomy/privateKeyToBiconomySmartAccount.js.map +1 -0
  242. package/_esm/accounts/biconomy/signerToBiconomySmartAccount.js +268 -0
  243. package/_esm/accounts/biconomy/signerToBiconomySmartAccount.js.map +1 -0
  244. package/_esm/accounts/index.js +15 -0
  245. package/_esm/accounts/index.js.map +1 -0
  246. package/_esm/accounts/kernel/abi/KernelAccountAbi.js +87 -0
  247. package/_esm/accounts/kernel/abi/KernelAccountAbi.js.map +1 -0
  248. package/_esm/accounts/kernel/abi/KernelV3AccountAbi.js +107 -0
  249. package/_esm/accounts/kernel/abi/KernelV3AccountAbi.js.map +1 -0
  250. package/_esm/accounts/kernel/abi/KernelV3MetaFactoryAbi.js +18 -0
  251. package/_esm/accounts/kernel/abi/KernelV3MetaFactoryAbi.js.map +1 -0
  252. package/_esm/accounts/kernel/constants.js +24 -0
  253. package/_esm/accounts/kernel/constants.js.map +1 -0
  254. package/_esm/accounts/kernel/signerToEcdsaKernelSmartAccount.js +395 -0
  255. package/_esm/accounts/kernel/signerToEcdsaKernelSmartAccount.js.map +1 -0
  256. package/_esm/accounts/kernel/utils/encodeCallData.js +89 -0
  257. package/_esm/accounts/kernel/utils/encodeCallData.js.map +1 -0
  258. package/_esm/accounts/kernel/utils/getExecMode.js +11 -0
  259. package/_esm/accounts/kernel/utils/getExecMode.js.map +1 -0
  260. package/_esm/accounts/kernel/utils/getNonceKey.js +21 -0
  261. package/_esm/accounts/kernel/utils/getNonceKey.js.map +1 -0
  262. package/_esm/accounts/kernel/utils/isKernelV2.js +5 -0
  263. package/_esm/accounts/kernel/utils/isKernelV2.js.map +1 -0
  264. package/_esm/accounts/kernel/utils/signMessage.js +25 -0
  265. package/_esm/accounts/kernel/utils/signMessage.js.map +1 -0
  266. package/_esm/accounts/kernel/utils/signTypedData.js +39 -0
  267. package/_esm/accounts/kernel/utils/signTypedData.js.map +1 -0
  268. package/_esm/accounts/kernel/utils/wrapMessageHash.js +16 -0
  269. package/_esm/accounts/kernel/utils/wrapMessageHash.js.map +1 -0
  270. package/_esm/accounts/light/privateKeyToLightSmartAccount.js +15 -0
  271. package/_esm/accounts/light/privateKeyToLightSmartAccount.js.map +1 -0
  272. package/_esm/accounts/light/signerToLightSmartAccount.js +258 -0
  273. package/_esm/accounts/light/signerToLightSmartAccount.js.map +1 -0
  274. package/_esm/accounts/safe/privateKeyToSafeSmartAccount.js +15 -0
  275. package/_esm/accounts/safe/privateKeyToSafeSmartAccount.js.map +1 -0
  276. package/_esm/accounts/safe/signerToSafeSmartAccount.js +1014 -0
  277. package/_esm/accounts/safe/signerToSafeSmartAccount.js.map +1 -0
  278. package/_esm/accounts/simple/privateKeyToSimpleSmartAccount.js +15 -0
  279. package/_esm/accounts/simple/privateKeyToSimpleSmartAccount.js.map +1 -0
  280. package/_esm/accounts/simple/signerToSimpleSmartAccount.js +261 -0
  281. package/_esm/accounts/simple/signerToSimpleSmartAccount.js.map +1 -0
  282. package/_esm/accounts/toSmartAccount.js +80 -0
  283. package/_esm/accounts/toSmartAccount.js.map +1 -0
  284. package/_esm/accounts/trust/privateKeyToTrustSmartAccount.js +15 -0
  285. package/_esm/accounts/trust/privateKeyToTrustSmartAccount.js.map +1 -0
  286. package/_esm/accounts/trust/signerToTrustSmartAccount.js +138 -0
  287. package/_esm/accounts/trust/signerToTrustSmartAccount.js.map +1 -0
  288. package/_esm/accounts/trust/utils/encodeCallData.js +70 -0
  289. package/_esm/accounts/trust/utils/encodeCallData.js.map +1 -0
  290. package/_esm/accounts/trust/utils/getAccountAddress.js +15 -0
  291. package/_esm/accounts/trust/utils/getAccountAddress.js.map +1 -0
  292. package/_esm/accounts/trust/utils/getDummySignature.js +4 -0
  293. package/_esm/accounts/trust/utils/getDummySignature.js.map +1 -0
  294. package/_esm/accounts/trust/utils/getFactoryData.js +42 -0
  295. package/_esm/accounts/trust/utils/getFactoryData.js.map +1 -0
  296. package/_esm/accounts/trust/utils/signMessage.js +5 -0
  297. package/_esm/accounts/trust/utils/signMessage.js.map +1 -0
  298. package/_esm/accounts/trust/utils/signTransaction.js +5 -0
  299. package/_esm/accounts/trust/utils/signTransaction.js.map +1 -0
  300. package/_esm/accounts/trust/utils/signUserOperation.js +15 -0
  301. package/_esm/accounts/trust/utils/signUserOperation.js.map +1 -0
  302. package/_esm/accounts/types.js +19 -0
  303. package/_esm/accounts/types.js.map +1 -0
  304. package/_esm/actions/bundler/chainId.js +29 -0
  305. package/_esm/actions/bundler/chainId.js.map +1 -0
  306. package/_esm/actions/bundler/estimateUserOperationGas.js +72 -0
  307. package/_esm/actions/bundler/estimateUserOperationGas.js.map +1 -0
  308. package/_esm/actions/bundler/getUserOperationByHash.js +65 -0
  309. package/_esm/actions/bundler/getUserOperationByHash.js.map +1 -0
  310. package/_esm/actions/bundler/getUserOperationReceipt.js +70 -0
  311. package/_esm/actions/bundler/getUserOperationReceipt.js.map +1 -0
  312. package/_esm/actions/bundler/sendUserOperation.js +44 -0
  313. package/_esm/actions/bundler/sendUserOperation.js.map +1 -0
  314. package/_esm/actions/bundler/supportedEntryPoints.js +29 -0
  315. package/_esm/actions/bundler/supportedEntryPoints.js.map +1 -0
  316. package/_esm/actions/bundler/waitForUserOperationReceipt.js +83 -0
  317. package/_esm/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
  318. package/_esm/actions/erc7579/accountId.js +62 -0
  319. package/_esm/actions/erc7579/accountId.js.map +1 -0
  320. package/_esm/actions/erc7579/installModule.js +61 -0
  321. package/_esm/actions/erc7579/installModule.js.map +1 -0
  322. package/_esm/actions/erc7579/installModules.js +61 -0
  323. package/_esm/actions/erc7579/installModules.js.map +1 -0
  324. package/_esm/actions/erc7579/isModuleInstalled.js +82 -0
  325. package/_esm/actions/erc7579/isModuleInstalled.js.map +1 -0
  326. package/_esm/actions/erc7579/supportsExecutionMode.js +90 -0
  327. package/_esm/actions/erc7579/supportsExecutionMode.js.map +1 -0
  328. package/_esm/actions/erc7579/supportsModule.js +79 -0
  329. package/_esm/actions/erc7579/supportsModule.js.map +1 -0
  330. package/_esm/actions/erc7579/uninstallModule.js +61 -0
  331. package/_esm/actions/erc7579/uninstallModule.js.map +1 -0
  332. package/_esm/actions/erc7579/uninstallModules.js +61 -0
  333. package/_esm/actions/erc7579/uninstallModules.js.map +1 -0
  334. package/_esm/actions/erc7579.js +22 -0
  335. package/_esm/actions/erc7579.js.map +1 -0
  336. package/_esm/actions/index.js +12 -0
  337. package/_esm/actions/index.js.map +1 -0
  338. package/_esm/actions/pimlico/getUserOperationGasPrice.js +42 -0
  339. package/_esm/actions/pimlico/getUserOperationGasPrice.js.map +1 -0
  340. package/_esm/actions/pimlico/getUserOperationStatus.js +30 -0
  341. package/_esm/actions/pimlico/getUserOperationStatus.js.map +1 -0
  342. package/_esm/actions/pimlico/sendCompressedUserOperation.js +37 -0
  343. package/_esm/actions/pimlico/sendCompressedUserOperation.js.map +1 -0
  344. package/_esm/actions/pimlico/sponsorUserOperation.js +64 -0
  345. package/_esm/actions/pimlico/sponsorUserOperation.js.map +1 -0
  346. package/_esm/actions/pimlico/validateSponsorshipPolicies.js +47 -0
  347. package/_esm/actions/pimlico/validateSponsorshipPolicies.js.map +1 -0
  348. package/_esm/actions/pimlico.js +8 -0
  349. package/_esm/actions/pimlico.js.map +1 -0
  350. package/_esm/actions/public/getAccountNonce.js +60 -0
  351. package/_esm/actions/public/getAccountNonce.js.map +1 -0
  352. package/_esm/actions/public/getSenderAddress.js +80 -0
  353. package/_esm/actions/public/getSenderAddress.js.map +1 -0
  354. package/_esm/actions/smartAccount/deployContract.js +62 -0
  355. package/_esm/actions/smartAccount/deployContract.js.map +1 -0
  356. package/_esm/actions/smartAccount/prepareUserOperationRequest.js +195 -0
  357. package/_esm/actions/smartAccount/prepareUserOperationRequest.js.map +1 -0
  358. package/_esm/actions/smartAccount/sendTransaction.js +85 -0
  359. package/_esm/actions/smartAccount/sendTransaction.js.map +1 -0
  360. package/_esm/actions/smartAccount/sendTransactions.js +87 -0
  361. package/_esm/actions/smartAccount/sendTransactions.js.map +1 -0
  362. package/_esm/actions/smartAccount/sendUserOperation.js +17 -0
  363. package/_esm/actions/smartAccount/sendUserOperation.js.map +1 -0
  364. package/_esm/actions/smartAccount/signMessage.js +58 -0
  365. package/_esm/actions/smartAccount/signMessage.js.map +1 -0
  366. package/_esm/actions/smartAccount/signTypedData.js +128 -0
  367. package/_esm/actions/smartAccount/signTypedData.js.map +1 -0
  368. package/_esm/actions/smartAccount/writeContract.js +17 -0
  369. package/_esm/actions/smartAccount/writeContract.js.map +1 -0
  370. package/_esm/actions/smartAccount.js +10 -0
  371. package/_esm/actions/smartAccount.js.map +1 -0
  372. package/_esm/actions/stackup/accounts.js +30 -0
  373. package/_esm/actions/stackup/accounts.js.map +1 -0
  374. package/_esm/actions/stackup/sponsorUserOperation.js +53 -0
  375. package/_esm/actions/stackup/sponsorUserOperation.js.map +1 -0
  376. package/_esm/actions/stackup.js +5 -0
  377. package/_esm/actions/stackup.js.map +1 -0
  378. package/_esm/clients/createBundlerClient.js +32 -0
  379. package/_esm/clients/createBundlerClient.js.map +1 -0
  380. package/_esm/clients/createSmartAccountClient.js +35 -0
  381. package/_esm/clients/createSmartAccountClient.js.map +1 -0
  382. package/_esm/clients/decorators/bundler.js +21 -0
  383. package/_esm/clients/decorators/bundler.js.map +1 -0
  384. package/_esm/clients/decorators/pimlico.js +64 -0
  385. package/_esm/clients/decorators/pimlico.js.map +1 -0
  386. package/_esm/clients/decorators/smartAccount.js +39 -0
  387. package/_esm/clients/decorators/smartAccount.js.map +1 -0
  388. package/_esm/clients/decorators/stackup.js +10 -0
  389. package/_esm/clients/decorators/stackup.js.map +1 -0
  390. package/_esm/clients/pimlico.js +64 -0
  391. package/_esm/clients/pimlico.js.map +1 -0
  392. package/_esm/clients/stackup.js +35 -0
  393. package/_esm/clients/stackup.js.map +1 -0
  394. package/_esm/errors/account.js +298 -0
  395. package/_esm/errors/account.js.map +1 -0
  396. package/_esm/errors/bundler.js +56 -0
  397. package/_esm/errors/bundler.js.map +1 -0
  398. package/_esm/errors/estimateUserOperationGas.js +49 -0
  399. package/_esm/errors/estimateUserOperationGas.js.map +1 -0
  400. package/_esm/errors/gas.js +106 -0
  401. package/_esm/errors/gas.js.map +1 -0
  402. package/_esm/errors/index.js +8 -0
  403. package/_esm/errors/index.js.map +1 -0
  404. package/_esm/errors/paymaster.js +218 -0
  405. package/_esm/errors/paymaster.js.map +1 -0
  406. package/_esm/errors/sendUserOperation.js +33 -0
  407. package/_esm/errors/sendUserOperation.js.map +1 -0
  408. package/_esm/errors/utils.js +14 -0
  409. package/_esm/errors/utils.js.map +1 -0
  410. package/_esm/experimental/eip7677/actions/getPaymasterData.js +37 -0
  411. package/_esm/experimental/eip7677/actions/getPaymasterData.js.map +1 -0
  412. package/_esm/experimental/eip7677/actions/getPaymasterStubData.js +47 -0
  413. package/_esm/experimental/eip7677/actions/getPaymasterStubData.js.map +1 -0
  414. package/_esm/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js +18 -0
  415. package/_esm/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js.map +1 -0
  416. package/_esm/experimental/eip7677/index.js +5 -0
  417. package/_esm/experimental/eip7677/index.js.map +1 -0
  418. package/_esm/experimental/eip7677/types/paymaster.js +2 -0
  419. package/_esm/experimental/eip7677/types/paymaster.js.map +1 -0
  420. package/_esm/experimental/index.js +2 -0
  421. package/_esm/experimental/index.js.map +1 -0
  422. package/_esm/index.js +20 -0
  423. package/_esm/index.js.map +1 -0
  424. package/_esm/package.json +1 -0
  425. package/_esm/types/bundler.js +2 -0
  426. package/_esm/types/bundler.js.map +1 -0
  427. package/_esm/types/entrypoint.js +2 -0
  428. package/_esm/types/entrypoint.js.map +1 -0
  429. package/_esm/types/index.js +2 -0
  430. package/_esm/types/index.js.map +1 -0
  431. package/_esm/types/pimlico.js +2 -0
  432. package/_esm/types/pimlico.js.map +1 -0
  433. package/_esm/types/stackup.js +2 -0
  434. package/_esm/types/stackup.js.map +1 -0
  435. package/_esm/types/userOperation.js +2 -0
  436. package/_esm/types/userOperation.js.map +1 -0
  437. package/_esm/utils/decodeNonce.js +8 -0
  438. package/_esm/utils/decodeNonce.js.map +1 -0
  439. package/_esm/utils/deepHexlify.js +30 -0
  440. package/_esm/utils/deepHexlify.js.map +1 -0
  441. package/_esm/utils/encode7579CallData.js +77 -0
  442. package/_esm/utils/encode7579CallData.js.map +1 -0
  443. package/_esm/utils/encodeNonce.js +7 -0
  444. package/_esm/utils/encodeNonce.js.map +1 -0
  445. package/_esm/utils/errors/getBundlerError.js +121 -0
  446. package/_esm/utils/errors/getBundlerError.js.map +1 -0
  447. package/_esm/utils/errors/getEstimateUserOperationGasError.js +18 -0
  448. package/_esm/utils/errors/getEstimateUserOperationGasError.js.map +1 -0
  449. package/_esm/utils/errors/getSendUserOperationError.js +15 -0
  450. package/_esm/utils/errors/getSendUserOperationError.js.map +1 -0
  451. package/_esm/utils/getAddressFromInitCodeOrPaymasterAndData.js +11 -0
  452. package/_esm/utils/getAddressFromInitCodeOrPaymasterAndData.js.map +1 -0
  453. package/_esm/utils/getEntryPointVersion.js +11 -0
  454. package/_esm/utils/getEntryPointVersion.js.map +1 -0
  455. package/_esm/utils/getPackedUserOperation.js +94 -0
  456. package/_esm/utils/getPackedUserOperation.js.map +1 -0
  457. package/_esm/utils/getRequiredPrefund.js +37 -0
  458. package/_esm/utils/getRequiredPrefund.js.map +1 -0
  459. package/_esm/utils/getUserOperationHash.js +111 -0
  460. package/_esm/utils/getUserOperationHash.js.map +1 -0
  461. package/_esm/utils/index.js +19 -0
  462. package/_esm/utils/index.js.map +1 -0
  463. package/_esm/utils/isSmartAccountDeployed.js +11 -0
  464. package/_esm/utils/isSmartAccountDeployed.js.map +1 -0
  465. package/_esm/utils/observe.js +47 -0
  466. package/_esm/utils/observe.js.map +1 -0
  467. package/_esm/utils/providerToSmartAccountSigner.js +28 -0
  468. package/_esm/utils/providerToSmartAccountSigner.js.map +1 -0
  469. package/_esm/utils/signUserOperationHashWithECDSA.js +76 -0
  470. package/_esm/utils/signUserOperationHashWithECDSA.js.map +1 -0
  471. package/_esm/utils/walletClientToSmartAccountSigner.js +19 -0
  472. package/_esm/utils/walletClientToSmartAccountSigner.js.map +1 -0
  473. package/_esm/vitest.config.js +29 -0
  474. package/_esm/vitest.config.js.map +1 -0
  475. package/_types/accounts/biconomy/abi/BiconomySmartAccountAbi.d.ts +59 -0
  476. package/_types/accounts/biconomy/abi/BiconomySmartAccountAbi.d.ts.map +1 -0
  477. package/_types/accounts/biconomy/privateKeyToBiconomySmartAccount.d.ts +13 -0
  478. package/_types/accounts/biconomy/privateKeyToBiconomySmartAccount.d.ts.map +1 -0
  479. package/_types/accounts/biconomy/signerToBiconomySmartAccount.d.ts +29 -0
  480. package/_types/accounts/biconomy/signerToBiconomySmartAccount.d.ts.map +1 -0
  481. package/_types/accounts/index.d.ts +15 -0
  482. package/_types/accounts/index.d.ts.map +1 -0
  483. package/_types/accounts/kernel/abi/KernelAccountAbi.d.ts +68 -0
  484. package/_types/accounts/kernel/abi/KernelAccountAbi.d.ts.map +1 -0
  485. package/_types/accounts/kernel/abi/KernelV3AccountAbi.d.ts +135 -0
  486. package/_types/accounts/kernel/abi/KernelV3AccountAbi.d.ts.map +1 -0
  487. package/_types/accounts/kernel/abi/KernelV3MetaFactoryAbi.d.ts +24 -0
  488. package/_types/accounts/kernel/abi/KernelV3MetaFactoryAbi.d.ts.map +1 -0
  489. package/_types/accounts/kernel/constants.d.ts +21 -0
  490. package/_types/accounts/kernel/constants.d.ts.map +1 -0
  491. package/_types/accounts/kernel/signerToEcdsaKernelSmartAccount.d.ts +44 -0
  492. package/_types/accounts/kernel/signerToEcdsaKernelSmartAccount.d.ts.map +1 -0
  493. package/_types/accounts/kernel/utils/encodeCallData.d.ts +13 -0
  494. package/_types/accounts/kernel/utils/encodeCallData.d.ts.map +1 -0
  495. package/_types/accounts/kernel/utils/getExecMode.d.ts +7 -0
  496. package/_types/accounts/kernel/utils/getExecMode.d.ts.map +1 -0
  497. package/_types/accounts/kernel/utils/getNonceKey.d.ts +5 -0
  498. package/_types/accounts/kernel/utils/getNonceKey.d.ts.map +1 -0
  499. package/_types/accounts/kernel/utils/isKernelV2.d.ts +4 -0
  500. package/_types/accounts/kernel/utils/isKernelV2.d.ts.map +1 -0
  501. package/_types/accounts/kernel/utils/signMessage.d.ts +4 -0
  502. package/_types/accounts/kernel/utils/signMessage.d.ts.map +1 -0
  503. package/_types/accounts/kernel/utils/signTypedData.d.ts +4 -0
  504. package/_types/accounts/kernel/utils/signTypedData.d.ts.map +1 -0
  505. package/_types/accounts/kernel/utils/wrapMessageHash.d.ts +11 -0
  506. package/_types/accounts/kernel/utils/wrapMessageHash.d.ts.map +1 -0
  507. package/_types/accounts/light/privateKeyToLightSmartAccount.d.ts +14 -0
  508. package/_types/accounts/light/privateKeyToLightSmartAccount.d.ts.map +1 -0
  509. package/_types/accounts/light/signerToLightSmartAccount.d.ts +22 -0
  510. package/_types/accounts/light/signerToLightSmartAccount.d.ts.map +1 -0
  511. package/_types/accounts/safe/privateKeyToSafeSmartAccount.d.ts +13 -0
  512. package/_types/accounts/safe/privateKeyToSafeSmartAccount.d.ts.map +1 -0
  513. package/_types/accounts/safe/signerToSafeSmartAccount.d.ts +61 -0
  514. package/_types/accounts/safe/signerToSafeSmartAccount.d.ts.map +1 -0
  515. package/_types/accounts/simple/privateKeyToSimpleSmartAccount.d.ts +13 -0
  516. package/_types/accounts/simple/privateKeyToSimpleSmartAccount.d.ts.map +1 -0
  517. package/_types/accounts/simple/signerToSimpleSmartAccount.d.ts +20 -0
  518. package/_types/accounts/simple/signerToSimpleSmartAccount.d.ts.map +1 -0
  519. package/_types/accounts/toSmartAccount.d.ts +26 -0
  520. package/_types/accounts/toSmartAccount.d.ts.map +1 -0
  521. package/_types/accounts/trust/privateKeyToTrustSmartAccount.d.ts +13 -0
  522. package/_types/accounts/trust/privateKeyToTrustSmartAccount.d.ts.map +1 -0
  523. package/_types/accounts/trust/signerToTrustSmartAccount.d.ts +27 -0
  524. package/_types/accounts/trust/signerToTrustSmartAccount.d.ts.map +1 -0
  525. package/_types/accounts/trust/utils/encodeCallData.d.ts +12 -0
  526. package/_types/accounts/trust/utils/encodeCallData.d.ts.map +1 -0
  527. package/_types/accounts/trust/utils/getAccountAddress.d.ts +10 -0
  528. package/_types/accounts/trust/utils/getAccountAddress.d.ts.map +1 -0
  529. package/_types/accounts/trust/utils/getDummySignature.d.ts +3 -0
  530. package/_types/accounts/trust/utils/getDummySignature.d.ts.map +1 -0
  531. package/_types/accounts/trust/utils/getFactoryData.d.ts +10 -0
  532. package/_types/accounts/trust/utils/getFactoryData.d.ts.map +1 -0
  533. package/_types/accounts/trust/utils/signMessage.d.ts +4 -0
  534. package/_types/accounts/trust/utils/signMessage.d.ts.map +1 -0
  535. package/_types/accounts/trust/utils/signTransaction.d.ts +5 -0
  536. package/_types/accounts/trust/utils/signTransaction.d.ts.map +1 -0
  537. package/_types/accounts/trust/utils/signUserOperation.d.ts +9 -0
  538. package/_types/accounts/trust/utils/signUserOperation.d.ts.map +1 -0
  539. package/_types/accounts/types.d.ts +32 -0
  540. package/_types/accounts/types.d.ts.map +1 -0
  541. package/_types/actions/bundler/chainId.d.ts +27 -0
  542. package/_types/actions/bundler/chainId.d.ts.map +1 -0
  543. package/_types/actions/bundler/estimateUserOperationGas.d.ts +91 -0
  544. package/_types/actions/bundler/estimateUserOperationGas.d.ts.map +1 -0
  545. package/_types/actions/bundler/getUserOperationByHash.d.ts +39 -0
  546. package/_types/actions/bundler/getUserOperationByHash.d.ts.map +1 -0
  547. package/_types/actions/bundler/getUserOperationReceipt.d.ts +58 -0
  548. package/_types/actions/bundler/getUserOperationReceipt.d.ts.map +1 -0
  549. package/_types/actions/bundler/sendUserOperation.d.ts +39 -0
  550. package/_types/actions/bundler/sendUserOperation.d.ts.map +1 -0
  551. package/_types/actions/bundler/supportedEntryPoints.d.ts +27 -0
  552. package/_types/actions/bundler/supportedEntryPoints.d.ts.map +1 -0
  553. package/_types/actions/bundler/waitForUserOperationReceipt.d.ts +43 -0
  554. package/_types/actions/bundler/waitForUserOperationReceipt.d.ts.map +1 -0
  555. package/_types/actions/erc7579/accountId.d.ts +6 -0
  556. package/_types/actions/erc7579/accountId.d.ts.map +1 -0
  557. package/_types/actions/erc7579/installModule.d.ts +16 -0
  558. package/_types/actions/erc7579/installModule.d.ts.map +1 -0
  559. package/_types/actions/erc7579/installModules.d.ts +18 -0
  560. package/_types/actions/erc7579/installModules.d.ts.map +1 -0
  561. package/_types/actions/erc7579/isModuleInstalled.d.ts +12 -0
  562. package/_types/actions/erc7579/isModuleInstalled.d.ts.map +1 -0
  563. package/_types/actions/erc7579/supportsExecutionMode.d.ts +15 -0
  564. package/_types/actions/erc7579/supportsExecutionMode.d.ts.map +1 -0
  565. package/_types/actions/erc7579/supportsModule.d.ts +11 -0
  566. package/_types/actions/erc7579/supportsModule.d.ts.map +1 -0
  567. package/_types/actions/erc7579/uninstallModule.d.ts +16 -0
  568. package/_types/actions/erc7579/uninstallModule.d.ts.map +1 -0
  569. package/_types/actions/erc7579/uninstallModules.d.ts +20 -0
  570. package/_types/actions/erc7579/uninstallModules.d.ts.map +1 -0
  571. package/_types/actions/erc7579.d.ts +30 -0
  572. package/_types/actions/erc7579.d.ts.map +1 -0
  573. package/_types/actions/index.d.ts +20 -0
  574. package/_types/actions/index.d.ts.map +1 -0
  575. package/_types/actions/pimlico/getUserOperationGasPrice.d.ts +40 -0
  576. package/_types/actions/pimlico/getUserOperationGasPrice.d.ts.map +1 -0
  577. package/_types/actions/pimlico/getUserOperationStatus.d.ts +32 -0
  578. package/_types/actions/pimlico/getUserOperationStatus.d.ts.map +1 -0
  579. package/_types/actions/pimlico/sendCompressedUserOperation.d.ts +35 -0
  580. package/_types/actions/pimlico/sendCompressedUserOperation.d.ts.map +1 -0
  581. package/_types/actions/pimlico/sponsorUserOperation.d.ts +52 -0
  582. package/_types/actions/pimlico/sponsorUserOperation.d.ts.map +1 -0
  583. package/_types/actions/pimlico/validateSponsorshipPolicies.d.ts +56 -0
  584. package/_types/actions/pimlico/validateSponsorshipPolicies.d.ts.map +1 -0
  585. package/_types/actions/pimlico.d.ts +10 -0
  586. package/_types/actions/pimlico.d.ts.map +1 -0
  587. package/_types/actions/public/getAccountNonce.d.ts +36 -0
  588. package/_types/actions/public/getAccountNonce.d.ts.map +1 -0
  589. package/_types/actions/public/getSenderAddress.d.ts +48 -0
  590. package/_types/actions/public/getSenderAddress.d.ts.map +1 -0
  591. package/_types/actions/smartAccount/deployContract.d.ts +36 -0
  592. package/_types/actions/smartAccount/deployContract.d.ts.map +1 -0
  593. package/_types/actions/smartAccount/prepareUserOperationRequest.d.ts +28 -0
  594. package/_types/actions/smartAccount/prepareUserOperationRequest.d.ts.map +1 -0
  595. package/_types/actions/smartAccount/sendTransaction.d.ts +54 -0
  596. package/_types/actions/smartAccount/sendTransaction.d.ts.map +1 -0
  597. package/_types/actions/smartAccount/sendTransactions.d.ts +64 -0
  598. package/_types/actions/smartAccount/sendTransactions.d.ts.map +1 -0
  599. package/_types/actions/smartAccount/sendUserOperation.d.ts +10 -0
  600. package/_types/actions/smartAccount/sendUserOperation.d.ts.map +1 -0
  601. package/_types/actions/smartAccount/signMessage.d.ts +51 -0
  602. package/_types/actions/smartAccount/signMessage.d.ts.map +1 -0
  603. package/_types/actions/smartAccount/signTypedData.d.ts +105 -0
  604. package/_types/actions/smartAccount/signTypedData.d.ts.map +1 -0
  605. package/_types/actions/smartAccount/writeContract.d.ts +58 -0
  606. package/_types/actions/smartAccount/writeContract.d.ts.map +1 -0
  607. package/_types/actions/smartAccount.d.ts +10 -0
  608. package/_types/actions/smartAccount.d.ts.map +1 -0
  609. package/_types/actions/stackup/accounts.d.ts +30 -0
  610. package/_types/actions/stackup/accounts.d.ts.map +1 -0
  611. package/_types/actions/stackup/sponsorUserOperation.d.ts +38 -0
  612. package/_types/actions/stackup/sponsorUserOperation.d.ts.map +1 -0
  613. package/_types/actions/stackup.d.ts +7 -0
  614. package/_types/actions/stackup.d.ts.map +1 -0
  615. package/_types/clients/createBundlerClient.d.ts +28 -0
  616. package/_types/clients/createBundlerClient.d.ts.map +1 -0
  617. package/_types/clients/createSmartAccountClient.d.ts +40 -0
  618. package/_types/clients/createSmartAccountClient.d.ts.map +1 -0
  619. package/_types/clients/decorators/bundler.d.ts +175 -0
  620. package/_types/clients/decorators/bundler.d.ts.map +1 -0
  621. package/_types/clients/decorators/pimlico.d.ts +142 -0
  622. package/_types/clients/decorators/pimlico.d.ts.map +1 -0
  623. package/_types/clients/decorators/smartAccount.d.ts +330 -0
  624. package/_types/clients/decorators/smartAccount.d.ts.map +1 -0
  625. package/_types/clients/decorators/stackup.d.ts +55 -0
  626. package/_types/clients/decorators/stackup.d.ts.map +1 -0
  627. package/_types/clients/pimlico.d.ts +52 -0
  628. package/_types/clients/pimlico.d.ts.map +1 -0
  629. package/_types/clients/stackup.d.ts +29 -0
  630. package/_types/clients/stackup.d.ts.map +1 -0
  631. package/_types/errors/account.d.ts +121 -0
  632. package/_types/errors/account.d.ts.map +1 -0
  633. package/_types/errors/bundler.d.ts +24 -0
  634. package/_types/errors/bundler.d.ts.map +1 -0
  635. package/_types/errors/estimateUserOperationGas.d.ts +14 -0
  636. package/_types/errors/estimateUserOperationGas.d.ts.map +1 -0
  637. package/_types/errors/gas.d.ts +47 -0
  638. package/_types/errors/gas.d.ts.map +1 -0
  639. package/_types/errors/index.d.ts +8 -0
  640. package/_types/errors/index.d.ts.map +1 -0
  641. package/_types/errors/paymaster.d.ts +85 -0
  642. package/_types/errors/paymaster.d.ts.map +1 -0
  643. package/_types/errors/sendUserOperation.d.ts +14 -0
  644. package/_types/errors/sendUserOperation.d.ts.map +1 -0
  645. package/_types/errors/utils.d.ts +5 -0
  646. package/_types/errors/utils.d.ts.map +1 -0
  647. package/_types/experimental/eip7677/actions/getPaymasterData.d.ts +51 -0
  648. package/_types/experimental/eip7677/actions/getPaymasterData.d.ts.map +1 -0
  649. package/_types/experimental/eip7677/actions/getPaymasterStubData.d.ts +63 -0
  650. package/_types/experimental/eip7677/actions/getPaymasterStubData.d.ts.map +1 -0
  651. package/_types/experimental/eip7677/clients/decorators/paymasterActionsEip7677.d.ts +11 -0
  652. package/_types/experimental/eip7677/clients/decorators/paymasterActionsEip7677.d.ts.map +1 -0
  653. package/_types/experimental/eip7677/index.d.ts +6 -0
  654. package/_types/experimental/eip7677/index.d.ts.map +1 -0
  655. package/_types/experimental/eip7677/types/paymaster.d.ts +52 -0
  656. package/_types/experimental/eip7677/types/paymaster.d.ts.map +1 -0
  657. package/_types/experimental/index.d.ts +2 -0
  658. package/_types/experimental/index.d.ts.map +1 -0
  659. package/_types/index.d.ts +33 -0
  660. package/_types/index.d.ts.map +1 -0
  661. package/_types/types/bundler.d.ts +110 -0
  662. package/_types/types/bundler.d.ts.map +1 -0
  663. package/_types/types/entrypoint.d.ts +6 -0
  664. package/_types/types/entrypoint.d.ts.map +1 -0
  665. package/_types/types/index.d.ts +27 -0
  666. package/_types/types/index.d.ts.map +1 -0
  667. package/_types/types/pimlico.d.ts +93 -0
  668. package/_types/types/pimlico.d.ts.map +1 -0
  669. package/_types/types/stackup.d.ts +49 -0
  670. package/_types/types/stackup.d.ts.map +1 -0
  671. package/_types/types/userOperation.d.ts +93 -0
  672. package/_types/types/userOperation.d.ts.map +1 -0
  673. package/_types/utils/decodeNonce.d.ts +5 -0
  674. package/_types/utils/decodeNonce.d.ts.map +1 -0
  675. package/_types/utils/deepHexlify.d.ts +6 -0
  676. package/_types/utils/deepHexlify.d.ts.map +1 -0
  677. package/_types/utils/encode7579CallData.d.ts +16 -0
  678. package/_types/utils/encode7579CallData.d.ts.map +1 -0
  679. package/_types/utils/encodeNonce.d.ts +5 -0
  680. package/_types/utils/encodeNonce.d.ts.map +1 -0
  681. package/_types/utils/errors/getBundlerError.d.ts +11 -0
  682. package/_types/utils/errors/getBundlerError.d.ts.map +1 -0
  683. package/_types/utils/errors/getEstimateUserOperationGasError.d.ts +10 -0
  684. package/_types/utils/errors/getEstimateUserOperationGasError.d.ts.map +1 -0
  685. package/_types/utils/errors/getSendUserOperationError.d.ts +5 -0
  686. package/_types/utils/errors/getSendUserOperationError.d.ts.map +1 -0
  687. package/_types/utils/getAddressFromInitCodeOrPaymasterAndData.d.ts +3 -0
  688. package/_types/utils/getAddressFromInitCodeOrPaymasterAndData.d.ts.map +1 -0
  689. package/_types/utils/getEntryPointVersion.d.ts +8 -0
  690. package/_types/utils/getEntryPointVersion.d.ts.map +1 -0
  691. package/_types/utils/getPackedUserOperation.d.ts +39 -0
  692. package/_types/utils/getPackedUserOperation.d.ts.map +1 -0
  693. package/_types/utils/getRequiredPrefund.d.ts +21 -0
  694. package/_types/utils/getRequiredPrefund.d.ts.map +1 -0
  695. package/_types/utils/getUserOperationHash.d.ts +31 -0
  696. package/_types/utils/getUserOperationHash.d.ts.map +1 -0
  697. package/_types/utils/index.d.ts +16 -0
  698. package/_types/utils/index.d.ts.map +1 -0
  699. package/_types/utils/isSmartAccountDeployed.d.ts +3 -0
  700. package/_types/utils/isSmartAccountDeployed.d.ts.map +1 -0
  701. package/_types/utils/observe.d.ts +17 -0
  702. package/_types/utils/observe.d.ts.map +1 -0
  703. package/_types/utils/providerToSmartAccountSigner.d.ts +5 -0
  704. package/_types/utils/providerToSmartAccountSigner.d.ts.map +1 -0
  705. package/_types/utils/signUserOperationHashWithECDSA.d.ts +45 -0
  706. package/_types/utils/signUserOperationHashWithECDSA.d.ts.map +1 -0
  707. package/_types/utils/walletClientToSmartAccountSigner.d.ts +4 -0
  708. package/_types/utils/walletClientToSmartAccountSigner.d.ts.map +1 -0
  709. package/_types/vitest.config.d.ts +3 -0
  710. package/_types/vitest.config.d.ts.map +1 -0
  711. package/package.json +1 -1
@@ -0,0 +1,1012 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signerToSafeSmartAccount = void 0;
4
+ const viem_1 = require("viem");
5
+ const actions_1 = require("viem/actions");
6
+ const getAccountNonce_1 = require("../../actions/public/getAccountNonce.js");
7
+ const encode7579CallData_1 = require("../../utils/encode7579CallData.js");
8
+ const getEntryPointVersion_1 = require("../../utils/getEntryPointVersion.js");
9
+ const isSmartAccountDeployed_1 = require("../../utils/isSmartAccountDeployed.js");
10
+ const toSmartAccount_1 = require("../toSmartAccount.js");
11
+ const types_1 = require("../types.js");
12
+ const multiSendAbi = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "bytes",
17
+ name: "transactions",
18
+ type: "bytes"
19
+ }
20
+ ],
21
+ name: "multiSend",
22
+ outputs: [],
23
+ stateMutability: "payable",
24
+ type: "function"
25
+ }
26
+ ];
27
+ const initSafe7579Abi = [
28
+ {
29
+ type: "function",
30
+ name: "initSafe7579",
31
+ inputs: [
32
+ {
33
+ name: "safe7579",
34
+ type: "address",
35
+ internalType: "address"
36
+ },
37
+ {
38
+ name: "executors",
39
+ type: "tuple[]",
40
+ internalType: "struct ModuleInit[]",
41
+ components: [
42
+ {
43
+ name: "module",
44
+ type: "address",
45
+ internalType: "address"
46
+ },
47
+ {
48
+ name: "initData",
49
+ type: "bytes",
50
+ internalType: "bytes"
51
+ }
52
+ ]
53
+ },
54
+ {
55
+ name: "fallbacks",
56
+ type: "tuple[]",
57
+ internalType: "struct ModuleInit[]",
58
+ components: [
59
+ {
60
+ name: "module",
61
+ type: "address",
62
+ internalType: "address"
63
+ },
64
+ {
65
+ name: "initData",
66
+ type: "bytes",
67
+ internalType: "bytes"
68
+ }
69
+ ]
70
+ },
71
+ {
72
+ name: "hooks",
73
+ type: "tuple[]",
74
+ internalType: "struct ModuleInit[]",
75
+ components: [
76
+ {
77
+ name: "module",
78
+ type: "address",
79
+ internalType: "address"
80
+ },
81
+ {
82
+ name: "initData",
83
+ type: "bytes",
84
+ internalType: "bytes"
85
+ }
86
+ ]
87
+ },
88
+ {
89
+ name: "attesters",
90
+ type: "address[]",
91
+ internalType: "address[]"
92
+ },
93
+ {
94
+ name: "threshold",
95
+ type: "uint8",
96
+ internalType: "uint8"
97
+ }
98
+ ],
99
+ outputs: [],
100
+ stateMutability: "nonpayable"
101
+ }
102
+ ];
103
+ const preValidationSetupAbi = [
104
+ {
105
+ type: "function",
106
+ name: "preValidationSetup",
107
+ inputs: [
108
+ {
109
+ name: "initHash",
110
+ type: "bytes32",
111
+ internalType: "bytes32"
112
+ },
113
+ {
114
+ name: "to",
115
+ type: "address",
116
+ internalType: "address"
117
+ },
118
+ {
119
+ name: "preInit",
120
+ type: "bytes",
121
+ internalType: "bytes"
122
+ }
123
+ ],
124
+ outputs: [],
125
+ stateMutability: "nonpayable"
126
+ }
127
+ ];
128
+ const enableModulesAbi = [
129
+ {
130
+ inputs: [
131
+ {
132
+ internalType: "address[]",
133
+ name: "modules",
134
+ type: "address[]"
135
+ }
136
+ ],
137
+ name: "enableModules",
138
+ outputs: [],
139
+ stateMutability: "nonpayable",
140
+ type: "function"
141
+ }
142
+ ];
143
+ const setupAbi = [
144
+ {
145
+ inputs: [
146
+ {
147
+ internalType: "address[]",
148
+ name: "_owners",
149
+ type: "address[]"
150
+ },
151
+ {
152
+ internalType: "uint256",
153
+ name: "_threshold",
154
+ type: "uint256"
155
+ },
156
+ {
157
+ internalType: "address",
158
+ name: "to",
159
+ type: "address"
160
+ },
161
+ {
162
+ internalType: "bytes",
163
+ name: "data",
164
+ type: "bytes"
165
+ },
166
+ {
167
+ internalType: "address",
168
+ name: "fallbackHandler",
169
+ type: "address"
170
+ },
171
+ {
172
+ internalType: "address",
173
+ name: "paymentToken",
174
+ type: "address"
175
+ },
176
+ {
177
+ internalType: "uint256",
178
+ name: "payment",
179
+ type: "uint256"
180
+ },
181
+ {
182
+ internalType: "address payable",
183
+ name: "paymentReceiver",
184
+ type: "address"
185
+ }
186
+ ],
187
+ name: "setup",
188
+ outputs: [],
189
+ stateMutability: "nonpayable",
190
+ type: "function"
191
+ }
192
+ ];
193
+ const createProxyWithNonceAbi = [
194
+ {
195
+ inputs: [
196
+ {
197
+ internalType: "address",
198
+ name: "_singleton",
199
+ type: "address"
200
+ },
201
+ {
202
+ internalType: "bytes",
203
+ name: "initializer",
204
+ type: "bytes"
205
+ },
206
+ {
207
+ internalType: "uint256",
208
+ name: "saltNonce",
209
+ type: "uint256"
210
+ }
211
+ ],
212
+ name: "createProxyWithNonce",
213
+ outputs: [
214
+ {
215
+ internalType: "contract SafeProxy",
216
+ name: "proxy",
217
+ type: "address"
218
+ }
219
+ ],
220
+ stateMutability: "nonpayable",
221
+ type: "function"
222
+ }
223
+ ];
224
+ const proxyCreationCodeAbi = [
225
+ {
226
+ inputs: [],
227
+ name: "proxyCreationCode",
228
+ outputs: [
229
+ {
230
+ internalType: "bytes",
231
+ name: "",
232
+ type: "bytes"
233
+ }
234
+ ],
235
+ stateMutability: "pure",
236
+ type: "function"
237
+ }
238
+ ];
239
+ const setupSafeAbi = [
240
+ {
241
+ type: "function",
242
+ name: "setupSafe",
243
+ inputs: [
244
+ {
245
+ name: "initData",
246
+ type: "tuple",
247
+ internalType: "struct Safe7579Launchpad.InitData",
248
+ components: [
249
+ {
250
+ name: "singleton",
251
+ type: "address",
252
+ internalType: "address"
253
+ },
254
+ {
255
+ name: "owners",
256
+ type: "address[]",
257
+ internalType: "address[]"
258
+ },
259
+ {
260
+ name: "threshold",
261
+ type: "uint256",
262
+ internalType: "uint256"
263
+ },
264
+ {
265
+ name: "setupTo",
266
+ type: "address",
267
+ internalType: "address"
268
+ },
269
+ {
270
+ name: "setupData",
271
+ type: "bytes",
272
+ internalType: "bytes"
273
+ },
274
+ {
275
+ name: "safe7579",
276
+ type: "address",
277
+ internalType: "contract ISafe7579"
278
+ },
279
+ {
280
+ name: "validators",
281
+ type: "tuple[]",
282
+ internalType: "struct ModuleInit[]",
283
+ components: [
284
+ {
285
+ name: "module",
286
+ type: "address",
287
+ internalType: "address"
288
+ },
289
+ {
290
+ name: "initData",
291
+ type: "bytes",
292
+ internalType: "bytes"
293
+ }
294
+ ]
295
+ },
296
+ {
297
+ name: "callData",
298
+ type: "bytes",
299
+ internalType: "bytes"
300
+ }
301
+ ]
302
+ }
303
+ ],
304
+ outputs: [],
305
+ stateMutability: "nonpayable"
306
+ }
307
+ ];
308
+ const executeUserOpWithErrorStringAbi = [
309
+ {
310
+ inputs: [
311
+ {
312
+ internalType: "address",
313
+ name: "to",
314
+ type: "address"
315
+ },
316
+ {
317
+ internalType: "uint256",
318
+ name: "value",
319
+ type: "uint256"
320
+ },
321
+ {
322
+ internalType: "bytes",
323
+ name: "data",
324
+ type: "bytes"
325
+ },
326
+ {
327
+ internalType: "uint8",
328
+ name: "operation",
329
+ type: "uint8"
330
+ }
331
+ ],
332
+ name: "executeUserOpWithErrorString",
333
+ outputs: [],
334
+ stateMutability: "nonpayable",
335
+ type: "function"
336
+ }
337
+ ];
338
+ const EIP712_SAFE_OPERATION_TYPE_V06 = {
339
+ SafeOp: [
340
+ { type: "address", name: "safe" },
341
+ { type: "uint256", name: "nonce" },
342
+ { type: "bytes", name: "initCode" },
343
+ { type: "bytes", name: "callData" },
344
+ { type: "uint256", name: "callGasLimit" },
345
+ { type: "uint256", name: "verificationGasLimit" },
346
+ { type: "uint256", name: "preVerificationGas" },
347
+ { type: "uint256", name: "maxFeePerGas" },
348
+ { type: "uint256", name: "maxPriorityFeePerGas" },
349
+ { type: "bytes", name: "paymasterAndData" },
350
+ { type: "uint48", name: "validAfter" },
351
+ { type: "uint48", name: "validUntil" },
352
+ { type: "address", name: "entryPoint" }
353
+ ]
354
+ };
355
+ const EIP712_SAFE_OPERATION_TYPE_V07 = {
356
+ SafeOp: [
357
+ { type: "address", name: "safe" },
358
+ { type: "uint256", name: "nonce" },
359
+ { type: "bytes", name: "initCode" },
360
+ { type: "bytes", name: "callData" },
361
+ { type: "uint128", name: "verificationGasLimit" },
362
+ { type: "uint128", name: "callGasLimit" },
363
+ { type: "uint256", name: "preVerificationGas" },
364
+ { type: "uint128", name: "maxPriorityFeePerGas" },
365
+ { type: "uint128", name: "maxFeePerGas" },
366
+ { type: "bytes", name: "paymasterAndData" },
367
+ { type: "uint48", name: "validAfter" },
368
+ { type: "uint48", name: "validUntil" },
369
+ { type: "address", name: "entryPoint" }
370
+ ]
371
+ };
372
+ const SAFE_VERSION_TO_ADDRESSES_MAP = {
373
+ "1.4.1": {
374
+ "v0.6": {
375
+ SAFE_MODULE_SETUP_ADDRESS: "0x8EcD4ec46D4D2a6B64fE960B3D64e8B94B2234eb",
376
+ SAFE_4337_MODULE_ADDRESS: "0xa581c4A4DB7175302464fF3C06380BC3270b4037",
377
+ SAFE_PROXY_FACTORY_ADDRESS: "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67",
378
+ SAFE_SINGLETON_ADDRESS: "0x41675C099F32341bf84BFc5382aF534df5C7461a",
379
+ MULTI_SEND_ADDRESS: "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526",
380
+ MULTI_SEND_CALL_ONLY_ADDRESS: "0x9641d764fc13c8B624c04430C7356C1C7C8102e2"
381
+ },
382
+ "v0.7": {
383
+ SAFE_MODULE_SETUP_ADDRESS: "0x2dd68b007B46fBe91B9A7c3EDa5A7a1063cB5b47",
384
+ SAFE_4337_MODULE_ADDRESS: "0x75cf11467937ce3F2f357CE24ffc3DBF8fD5c226",
385
+ SAFE_PROXY_FACTORY_ADDRESS: "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67",
386
+ SAFE_SINGLETON_ADDRESS: "0x41675C099F32341bf84BFc5382aF534df5C7461a",
387
+ MULTI_SEND_ADDRESS: "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526",
388
+ MULTI_SEND_CALL_ONLY_ADDRESS: "0x9641d764fc13c8B624c04430C7356C1C7C8102e2"
389
+ }
390
+ }
391
+ };
392
+ const adjustVInSignature = (signingMethod, signature) => {
393
+ const ETHEREUM_V_VALUES = [0, 1, 27, 28];
394
+ const MIN_VALID_V_VALUE_FOR_SAFE_ECDSA = 27;
395
+ let signatureV = Number.parseInt(signature.slice(-2), 16);
396
+ if (!ETHEREUM_V_VALUES.includes(signatureV)) {
397
+ throw new Error("Invalid signature");
398
+ }
399
+ if (signingMethod === "eth_sign") {
400
+ if (signatureV < MIN_VALID_V_VALUE_FOR_SAFE_ECDSA) {
401
+ signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;
402
+ }
403
+ signatureV += 4;
404
+ }
405
+ if (signingMethod === "eth_signTypedData") {
406
+ if (signatureV < MIN_VALID_V_VALUE_FOR_SAFE_ECDSA) {
407
+ signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;
408
+ }
409
+ }
410
+ return (signature.slice(0, -2) + signatureV.toString(16));
411
+ };
412
+ const generateSafeMessageMessage = (message) => {
413
+ const signableMessage = message;
414
+ if (typeof signableMessage === "string" || signableMessage.raw) {
415
+ return (0, viem_1.hashMessage)(signableMessage);
416
+ }
417
+ return (0, viem_1.hashTypedData)(message);
418
+ };
419
+ const encodeInternalTransaction = (tx) => {
420
+ const encoded = (0, viem_1.encodePacked)(["uint8", "address", "uint256", "uint256", "bytes"], [
421
+ tx.operation,
422
+ tx.to,
423
+ tx.value,
424
+ BigInt(tx.data.slice(2).length / 2),
425
+ tx.data
426
+ ]);
427
+ return encoded.slice(2);
428
+ };
429
+ const encodeMultiSend = (txs) => {
430
+ const data = `0x${txs
431
+ .map((tx) => encodeInternalTransaction(tx))
432
+ .join("")}`;
433
+ return (0, viem_1.encodeFunctionData)({
434
+ abi: multiSendAbi,
435
+ functionName: "multiSend",
436
+ args: [data]
437
+ });
438
+ };
439
+ const get7579LaunchPadInitData = ({ safe4337ModuleAddress, safeSingletonAddress, erc7579LaunchpadAddress, owner, validators, executors, fallbacks, hooks, attesters, attestersThreshold }) => {
440
+ const initData = {
441
+ singleton: safeSingletonAddress,
442
+ owners: [owner],
443
+ threshold: BigInt(1),
444
+ setupTo: erc7579LaunchpadAddress,
445
+ setupData: (0, viem_1.encodeFunctionData)({
446
+ abi: initSafe7579Abi,
447
+ functionName: "initSafe7579",
448
+ args: [
449
+ safe4337ModuleAddress,
450
+ executors.map((executor) => ({
451
+ module: executor.address,
452
+ initData: executor.context
453
+ })),
454
+ fallbacks.map((fallback) => ({
455
+ module: fallback.address,
456
+ initData: fallback.context
457
+ })),
458
+ hooks.map((hook) => ({
459
+ module: hook.address,
460
+ initData: hook.context
461
+ })),
462
+ attesters,
463
+ attestersThreshold
464
+ ]
465
+ }),
466
+ safe7579: safe4337ModuleAddress,
467
+ validators: validators
468
+ };
469
+ return initData;
470
+ };
471
+ const getInitializerCode = async ({ owner, safeModuleSetupAddress, safe4337ModuleAddress, multiSendAddress, safeSingletonAddress, erc7579LaunchpadAddress, paymentToken, payment, paymentReceiver, setupTransactions = [], safeModules = [], validators = [], executors = [], fallbacks = [], hooks = [], attesters = [], attestersThreshold = 0 }) => {
472
+ if (erc7579LaunchpadAddress) {
473
+ const initData = get7579LaunchPadInitData({
474
+ safe4337ModuleAddress,
475
+ safeSingletonAddress,
476
+ erc7579LaunchpadAddress,
477
+ owner,
478
+ validators,
479
+ executors,
480
+ fallbacks,
481
+ hooks,
482
+ attesters,
483
+ attestersThreshold
484
+ });
485
+ const initHash = (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([
486
+ {
487
+ internalType: "address",
488
+ name: "singleton",
489
+ type: "address"
490
+ },
491
+ {
492
+ internalType: "address[]",
493
+ name: "owners",
494
+ type: "address[]"
495
+ },
496
+ {
497
+ internalType: "uint256",
498
+ name: "threshold",
499
+ type: "uint256"
500
+ },
501
+ {
502
+ internalType: "address",
503
+ name: "setupTo",
504
+ type: "address"
505
+ },
506
+ {
507
+ internalType: "bytes",
508
+ name: "setupData",
509
+ type: "bytes"
510
+ },
511
+ {
512
+ internalType: "contract ISafe7579",
513
+ name: "safe7579",
514
+ type: "address"
515
+ },
516
+ {
517
+ internalType: "struct ModuleInit[]",
518
+ name: "validators",
519
+ type: "tuple[]",
520
+ components: [
521
+ {
522
+ internalType: "address",
523
+ name: "module",
524
+ type: "address"
525
+ },
526
+ {
527
+ internalType: "bytes",
528
+ name: "initData",
529
+ type: "bytes"
530
+ }
531
+ ]
532
+ }
533
+ ], [
534
+ initData.singleton,
535
+ initData.owners,
536
+ initData.threshold,
537
+ initData.setupTo,
538
+ initData.setupData,
539
+ initData.safe7579,
540
+ initData.validators.map((validator) => ({
541
+ module: validator.address,
542
+ initData: validator.context
543
+ }))
544
+ ]));
545
+ return (0, viem_1.encodeFunctionData)({
546
+ abi: preValidationSetupAbi,
547
+ functionName: "preValidationSetup",
548
+ args: [initHash, viem_1.zeroAddress, "0x"]
549
+ });
550
+ }
551
+ const multiSendCallData = encodeMultiSend([
552
+ {
553
+ to: safeModuleSetupAddress,
554
+ data: (0, viem_1.encodeFunctionData)({
555
+ abi: enableModulesAbi,
556
+ functionName: "enableModules",
557
+ args: [[safe4337ModuleAddress, ...safeModules]]
558
+ }),
559
+ value: BigInt(0),
560
+ operation: 1
561
+ },
562
+ ...setupTransactions.map((tx) => ({ ...tx, operation: 0 }))
563
+ ]);
564
+ return (0, viem_1.encodeFunctionData)({
565
+ abi: setupAbi,
566
+ functionName: "setup",
567
+ args: [
568
+ [owner],
569
+ BigInt(1),
570
+ multiSendAddress,
571
+ multiSendCallData,
572
+ safe4337ModuleAddress,
573
+ paymentToken,
574
+ payment,
575
+ paymentReceiver
576
+ ]
577
+ });
578
+ };
579
+ function getPaymasterAndData(unpackedUserOperation) {
580
+ return unpackedUserOperation.paymaster
581
+ ? (0, viem_1.concat)([
582
+ unpackedUserOperation.paymaster,
583
+ (0, viem_1.pad)((0, viem_1.toHex)(unpackedUserOperation.paymasterVerificationGasLimit ||
584
+ BigInt(0)), {
585
+ size: 16
586
+ }),
587
+ (0, viem_1.pad)((0, viem_1.toHex)(unpackedUserOperation.paymasterPostOpGasLimit || BigInt(0)), {
588
+ size: 16
589
+ }),
590
+ unpackedUserOperation.paymasterData || "0x"
591
+ ])
592
+ : "0x";
593
+ }
594
+ const getAccountInitCode = async ({ owner, safeModuleSetupAddress, safe4337ModuleAddress, safeSingletonAddress, erc7579LaunchpadAddress, multiSendAddress, paymentToken, payment, paymentReceiver, saltNonce = BigInt(0), setupTransactions = [], safeModules = [], validators = [], executors = [], fallbacks = [], hooks = [], attesters = [], attestersThreshold = 0 }) => {
595
+ if (!owner) {
596
+ throw new Error("Owner account not found");
597
+ }
598
+ const initializer = await getInitializerCode({
599
+ owner,
600
+ safeModuleSetupAddress,
601
+ safe4337ModuleAddress,
602
+ multiSendAddress,
603
+ setupTransactions,
604
+ safeSingletonAddress,
605
+ safeModules,
606
+ erc7579LaunchpadAddress,
607
+ validators,
608
+ executors,
609
+ fallbacks,
610
+ hooks,
611
+ attesters,
612
+ attestersThreshold,
613
+ paymentToken,
614
+ payment,
615
+ paymentReceiver
616
+ });
617
+ const initCodeCallData = (0, viem_1.encodeFunctionData)({
618
+ abi: createProxyWithNonceAbi,
619
+ functionName: "createProxyWithNonce",
620
+ args: [
621
+ erc7579LaunchpadAddress ?? safeSingletonAddress,
622
+ initializer,
623
+ saltNonce
624
+ ]
625
+ });
626
+ return initCodeCallData;
627
+ };
628
+ const getAccountAddress = async ({ client, owner, safeModuleSetupAddress, safe4337ModuleAddress, safeProxyFactoryAddress, safeSingletonAddress, multiSendAddress, erc7579LaunchpadAddress, paymentToken, payment, paymentReceiver, setupTransactions = [], safeModules = [], saltNonce = BigInt(0), validators = [], executors = [], fallbacks = [], hooks = [], attesters = [], attestersThreshold = 0 }) => {
629
+ const proxyCreationCode = await (0, actions_1.readContract)(client, {
630
+ abi: proxyCreationCodeAbi,
631
+ address: safeProxyFactoryAddress,
632
+ functionName: "proxyCreationCode"
633
+ });
634
+ const initializer = await getInitializerCode({
635
+ owner,
636
+ safeModuleSetupAddress,
637
+ safe4337ModuleAddress,
638
+ multiSendAddress,
639
+ setupTransactions,
640
+ safeSingletonAddress,
641
+ safeModules,
642
+ erc7579LaunchpadAddress,
643
+ validators,
644
+ executors,
645
+ fallbacks,
646
+ hooks,
647
+ attesters,
648
+ attestersThreshold,
649
+ paymentToken,
650
+ payment,
651
+ paymentReceiver
652
+ });
653
+ const deploymentCode = (0, viem_1.encodePacked)(["bytes", "uint256"], [
654
+ proxyCreationCode,
655
+ (0, viem_1.hexToBigInt)(erc7579LaunchpadAddress ?? safeSingletonAddress)
656
+ ]);
657
+ const salt = (0, viem_1.keccak256)((0, viem_1.encodePacked)(["bytes32", "uint256"], [(0, viem_1.keccak256)((0, viem_1.encodePacked)(["bytes"], [initializer])), saltNonce]));
658
+ return (0, viem_1.getContractAddress)({
659
+ from: safeProxyFactoryAddress,
660
+ salt,
661
+ bytecode: deploymentCode,
662
+ opcode: "CREATE2"
663
+ });
664
+ };
665
+ const getDefaultAddresses = (safeVersion, entryPointAddress, { addModuleLibAddress: _addModuleLibAddress, safeModuleSetupAddress: _safeModuleSetupAddress, safe4337ModuleAddress: _safe4337ModuleAddress, safeProxyFactoryAddress: _safeProxyFactoryAddress, safeSingletonAddress: _safeSingletonAddress, multiSendAddress: _multiSendAddress, multiSendCallOnlyAddress: _multiSendCallOnlyAddress }) => {
666
+ const entryPointVersion = (0, getEntryPointVersion_1.getEntryPointVersion)(entryPointAddress);
667
+ const safeModuleSetupAddress = _safeModuleSetupAddress ??
668
+ _addModuleLibAddress ??
669
+ SAFE_VERSION_TO_ADDRESSES_MAP[safeVersion][entryPointVersion]
670
+ .SAFE_MODULE_SETUP_ADDRESS;
671
+ const safe4337ModuleAddress = _safe4337ModuleAddress ??
672
+ SAFE_VERSION_TO_ADDRESSES_MAP[safeVersion][entryPointVersion]
673
+ .SAFE_4337_MODULE_ADDRESS;
674
+ const safeProxyFactoryAddress = _safeProxyFactoryAddress ??
675
+ SAFE_VERSION_TO_ADDRESSES_MAP[safeVersion][entryPointVersion]
676
+ .SAFE_PROXY_FACTORY_ADDRESS;
677
+ const safeSingletonAddress = _safeSingletonAddress ??
678
+ SAFE_VERSION_TO_ADDRESSES_MAP[safeVersion][entryPointVersion]
679
+ .SAFE_SINGLETON_ADDRESS;
680
+ const multiSendAddress = _multiSendAddress ??
681
+ SAFE_VERSION_TO_ADDRESSES_MAP[safeVersion][entryPointVersion]
682
+ .MULTI_SEND_ADDRESS;
683
+ const multiSendCallOnlyAddress = _multiSendCallOnlyAddress ??
684
+ SAFE_VERSION_TO_ADDRESSES_MAP[safeVersion][(0, getEntryPointVersion_1.getEntryPointVersion)(entryPointAddress)].MULTI_SEND_CALL_ONLY_ADDRESS;
685
+ return {
686
+ safeModuleSetupAddress,
687
+ safe4337ModuleAddress,
688
+ safeProxyFactoryAddress,
689
+ safeSingletonAddress,
690
+ multiSendAddress,
691
+ multiSendCallOnlyAddress
692
+ };
693
+ };
694
+ function isErc7579Args(args) {
695
+ return args.erc7579LaunchpadAddress !== undefined;
696
+ }
697
+ async function signerToSafeSmartAccount(client, args) {
698
+ const chainId = client.chain?.id ?? (await (0, actions_1.getChainId)(client));
699
+ const { signer, address, safeVersion, entryPoint: entryPointAddress, safe4337ModuleAddress: _safe4337ModuleAddress, safeProxyFactoryAddress: _safeProxyFactoryAddress, safeSingletonAddress: _safeSingletonAddress, erc7579LaunchpadAddress = args.erc7579LaunchpadAddress, saltNonce = BigInt(0), validUntil = 0, validAfter = 0, nonceKey, paymentToken = viem_1.zeroAddress, payment = BigInt(0), paymentReceiver = viem_1.zeroAddress } = args;
700
+ let _safeModuleSetupAddress = undefined;
701
+ let _multiSendAddress = undefined;
702
+ let _multiSendCallOnlyAddress = undefined;
703
+ let safeModules = undefined;
704
+ let setupTransactions = [];
705
+ let validators = [];
706
+ let executors = [];
707
+ let fallbacks = [];
708
+ let hooks = [];
709
+ let attesters = [];
710
+ let attestersThreshold = 0;
711
+ if (!isErc7579Args(args)) {
712
+ _safeModuleSetupAddress = args.safeModuleSetupAddress;
713
+ _multiSendAddress = args.multiSendAddress;
714
+ _multiSendCallOnlyAddress = args.multiSendCallOnlyAddress;
715
+ safeModules = args.safeModules;
716
+ setupTransactions = args.setupTransactions ?? [];
717
+ }
718
+ if (isErc7579Args(args)) {
719
+ validators = args.validators ?? [];
720
+ executors = args.executors ?? [];
721
+ fallbacks = args.fallbacks ?? [];
722
+ hooks = args.hooks ?? [];
723
+ attesters = args.attesters ?? [];
724
+ attestersThreshold = args.attestersThreshold ?? 0;
725
+ }
726
+ const viemSigner = {
727
+ ...signer,
728
+ signTransaction: (_, __) => {
729
+ throw new types_1.SignTransactionNotSupportedBySmartAccount();
730
+ }
731
+ };
732
+ const { safeModuleSetupAddress, safe4337ModuleAddress, safeProxyFactoryAddress, safeSingletonAddress, multiSendAddress, multiSendCallOnlyAddress } = getDefaultAddresses(safeVersion, entryPointAddress, {
733
+ safeModuleSetupAddress: _safeModuleSetupAddress,
734
+ safe4337ModuleAddress: _safe4337ModuleAddress,
735
+ safeProxyFactoryAddress: _safeProxyFactoryAddress,
736
+ safeSingletonAddress: _safeSingletonAddress,
737
+ multiSendAddress: _multiSendAddress,
738
+ multiSendCallOnlyAddress: _multiSendCallOnlyAddress
739
+ });
740
+ const accountAddress = address ??
741
+ (await getAccountAddress({
742
+ client,
743
+ owner: viemSigner.address,
744
+ safeModuleSetupAddress,
745
+ safe4337ModuleAddress,
746
+ safeProxyFactoryAddress,
747
+ safeSingletonAddress,
748
+ multiSendAddress,
749
+ erc7579LaunchpadAddress,
750
+ saltNonce,
751
+ setupTransactions,
752
+ safeModules,
753
+ validators,
754
+ executors,
755
+ fallbacks,
756
+ hooks,
757
+ attesters,
758
+ attestersThreshold,
759
+ paymentToken,
760
+ payment,
761
+ paymentReceiver
762
+ }));
763
+ if (!accountAddress)
764
+ throw new Error("Account address not found");
765
+ let safeDeployed = await (0, isSmartAccountDeployed_1.isSmartAccountDeployed)(client, accountAddress);
766
+ const safeSmartAccount = (0, toSmartAccount_1.toSmartAccount)({
767
+ address: accountAddress,
768
+ client: client,
769
+ publicKey: accountAddress,
770
+ entryPoint: entryPointAddress,
771
+ source: "SafeSmartAccount",
772
+ async signMessage({ message }) {
773
+ const messageHash = (0, viem_1.hashTypedData)({
774
+ domain: {
775
+ chainId: chainId,
776
+ verifyingContract: accountAddress
777
+ },
778
+ types: {
779
+ SafeMessage: [{ name: "message", type: "bytes" }]
780
+ },
781
+ primaryType: "SafeMessage",
782
+ message: {
783
+ message: generateSafeMessageMessage(message)
784
+ }
785
+ });
786
+ return adjustVInSignature("eth_sign", await (0, actions_1.signMessage)(client, {
787
+ account: viemSigner,
788
+ message: {
789
+ raw: (0, viem_1.toBytes)(messageHash)
790
+ }
791
+ }));
792
+ },
793
+ async signTransaction(_, __) {
794
+ throw new types_1.SignTransactionNotSupportedBySmartAccount();
795
+ },
796
+ async signTypedData(typedData) {
797
+ return adjustVInSignature("eth_signTypedData", await (0, actions_1.signTypedData)(client, {
798
+ account: viemSigner,
799
+ domain: {
800
+ chainId: chainId,
801
+ verifyingContract: accountAddress
802
+ },
803
+ types: {
804
+ SafeMessage: [{ name: "message", type: "bytes" }]
805
+ },
806
+ primaryType: "SafeMessage",
807
+ message: {
808
+ message: generateSafeMessageMessage(typedData)
809
+ }
810
+ }));
811
+ },
812
+ async getNonce(key) {
813
+ return (0, getAccountNonce_1.getAccountNonce)(client, {
814
+ sender: accountAddress,
815
+ entryPoint: entryPointAddress,
816
+ key: key ?? nonceKey
817
+ });
818
+ },
819
+ async signUserOperation(userOperation) {
820
+ const message = {
821
+ safe: accountAddress,
822
+ callData: userOperation.callData,
823
+ nonce: userOperation.nonce,
824
+ initCode: userOperation.initCode ?? "0x",
825
+ maxFeePerGas: userOperation.maxFeePerGas,
826
+ maxPriorityFeePerGas: userOperation.maxPriorityFeePerGas,
827
+ preVerificationGas: userOperation.preVerificationGas,
828
+ verificationGasLimit: userOperation.verificationGasLimit,
829
+ callGasLimit: userOperation.callGasLimit,
830
+ paymasterAndData: userOperation.paymasterAndData ?? "0x",
831
+ validAfter: validAfter,
832
+ validUntil: validUntil,
833
+ entryPoint: entryPointAddress
834
+ };
835
+ let isDeployed = false;
836
+ if ((0, getEntryPointVersion_1.isUserOperationVersion06)(entryPointAddress, userOperation)) {
837
+ message.paymasterAndData = userOperation.paymasterAndData;
838
+ isDeployed = userOperation.initCode === "0x";
839
+ }
840
+ if ((0, getEntryPointVersion_1.isUserOperationVersion07)(entryPointAddress, userOperation)) {
841
+ if (userOperation.factory && userOperation.factoryData) {
842
+ message.initCode = (0, viem_1.concatHex)([
843
+ userOperation.factory,
844
+ userOperation.factoryData
845
+ ]);
846
+ }
847
+ message.paymasterAndData =
848
+ getPaymasterAndData(userOperation);
849
+ isDeployed = !userOperation.factory;
850
+ }
851
+ let verifyingContract = safe4337ModuleAddress;
852
+ if (erc7579LaunchpadAddress && !isDeployed) {
853
+ verifyingContract = userOperation.sender;
854
+ }
855
+ const signatures = [
856
+ {
857
+ signer: viemSigner.address,
858
+ data: await (0, actions_1.signTypedData)(client, {
859
+ account: viemSigner,
860
+ domain: {
861
+ chainId,
862
+ verifyingContract
863
+ },
864
+ types: (0, getEntryPointVersion_1.getEntryPointVersion)(entryPointAddress) ===
865
+ "v0.6"
866
+ ? EIP712_SAFE_OPERATION_TYPE_V06
867
+ : EIP712_SAFE_OPERATION_TYPE_V07,
868
+ primaryType: "SafeOp",
869
+ message: message
870
+ })
871
+ }
872
+ ];
873
+ signatures.sort((left, right) => left.signer
874
+ .toLowerCase()
875
+ .localeCompare(right.signer.toLowerCase()));
876
+ const signatureBytes = (0, viem_1.concat)(signatures.map((sig) => sig.data));
877
+ return (0, viem_1.encodePacked)(["uint48", "uint48", "bytes"], [validAfter, validUntil, signatureBytes]);
878
+ },
879
+ async getInitCode() {
880
+ safeDeployed =
881
+ safeDeployed ||
882
+ (await (0, isSmartAccountDeployed_1.isSmartAccountDeployed)(client, accountAddress));
883
+ if (safeDeployed)
884
+ return "0x";
885
+ return (0, viem_1.concatHex)([
886
+ (await this.getFactory()) ?? "0x",
887
+ (await this.getFactoryData()) ?? "0x"
888
+ ]);
889
+ },
890
+ async getFactory() {
891
+ safeDeployed =
892
+ safeDeployed ||
893
+ (await (0, isSmartAccountDeployed_1.isSmartAccountDeployed)(client, accountAddress));
894
+ if (safeDeployed)
895
+ return undefined;
896
+ return safeProxyFactoryAddress;
897
+ },
898
+ async getFactoryData() {
899
+ safeDeployed =
900
+ safeDeployed ||
901
+ (await (0, isSmartAccountDeployed_1.isSmartAccountDeployed)(client, accountAddress));
902
+ if (safeDeployed)
903
+ return undefined;
904
+ return await getAccountInitCode({
905
+ owner: viemSigner.address,
906
+ safeModuleSetupAddress,
907
+ safe4337ModuleAddress,
908
+ safeSingletonAddress,
909
+ multiSendAddress,
910
+ erc7579LaunchpadAddress,
911
+ saltNonce,
912
+ setupTransactions,
913
+ safeModules,
914
+ validators,
915
+ executors,
916
+ fallbacks,
917
+ hooks,
918
+ attesters,
919
+ attestersThreshold,
920
+ paymentToken,
921
+ payment,
922
+ paymentReceiver
923
+ });
924
+ },
925
+ async encodeDeployCallData(_) {
926
+ throw new Error("Safe account doesn't support account deployment");
927
+ },
928
+ async encodeCallData(args) {
929
+ const isArray = Array.isArray(args);
930
+ if (erc7579LaunchpadAddress) {
931
+ safeDeployed =
932
+ safeDeployed ||
933
+ (await (0, isSmartAccountDeployed_1.isSmartAccountDeployed)(client, accountAddress));
934
+ if (!safeDeployed) {
935
+ const initData = get7579LaunchPadInitData({
936
+ safe4337ModuleAddress,
937
+ safeSingletonAddress,
938
+ erc7579LaunchpadAddress,
939
+ owner: viemSigner.address,
940
+ validators,
941
+ executors,
942
+ fallbacks,
943
+ hooks,
944
+ attesters,
945
+ attestersThreshold
946
+ });
947
+ return (0, viem_1.encodeFunctionData)({
948
+ abi: setupSafeAbi,
949
+ functionName: "setupSafe",
950
+ args: [
951
+ {
952
+ ...initData,
953
+ validators: initData.validators.map((validator) => ({
954
+ module: validator.address,
955
+ initData: validator.context
956
+ })),
957
+ callData: (0, encode7579CallData_1.encode7579CallData)({
958
+ mode: {
959
+ type: isArray
960
+ ? "batchcall"
961
+ : "call",
962
+ revertOnError: false,
963
+ selector: "0x",
964
+ context: "0x"
965
+ },
966
+ callData: args
967
+ })
968
+ }
969
+ ]
970
+ });
971
+ }
972
+ return (0, encode7579CallData_1.encode7579CallData)({
973
+ mode: {
974
+ type: isArray ? "batchcall" : "call",
975
+ revertOnError: false,
976
+ selector: "0x",
977
+ context: "0x"
978
+ },
979
+ callData: args
980
+ });
981
+ }
982
+ let to;
983
+ let value;
984
+ let data;
985
+ let operationType = 0;
986
+ if (isArray) {
987
+ const argsArray = args;
988
+ to = multiSendCallOnlyAddress;
989
+ value = BigInt(0);
990
+ data = encodeMultiSend(argsArray.map((tx) => ({ ...tx, operation: 0 })));
991
+ operationType = 1;
992
+ }
993
+ else {
994
+ const singleTransaction = args;
995
+ to = singleTransaction.to;
996
+ data = singleTransaction.data;
997
+ value = singleTransaction.value;
998
+ }
999
+ return (0, viem_1.encodeFunctionData)({
1000
+ abi: executeUserOpWithErrorStringAbi,
1001
+ functionName: "executeUserOpWithErrorString",
1002
+ args: [to, value, data, operationType]
1003
+ });
1004
+ },
1005
+ async getDummySignature(_userOperation) {
1006
+ return "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
1007
+ }
1008
+ });
1009
+ return safeSmartAccount;
1010
+ }
1011
+ exports.signerToSafeSmartAccount = signerToSafeSmartAccount;
1012
+ //# sourceMappingURL=signerToSafeSmartAccount.js.map