permissionless 0.1.44 → 0.2.0-rc-1

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 (866) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/accounts/biconomy/abi/BiconomySmartAccountAbi.ts +61 -38
  3. package/accounts/biconomy/toBiconomySmartAccount.ts +256 -0
  4. package/accounts/index.ts +58 -89
  5. package/accounts/kernel/abi/KernelV3AccountAbi.ts +705 -0
  6. package/accounts/kernel/constants.ts +1 -9
  7. package/accounts/kernel/{signerToEcdsaKernelSmartAccount.ts → toEcdsaKernelSmartAccount.ts} +182 -273
  8. package/accounts/kernel/utils/encodeCallData.ts +28 -94
  9. package/accounts/kernel/utils/getNonceKey.ts +6 -7
  10. package/accounts/kernel/utils/isKernelV2.ts +2 -3
  11. package/accounts/kernel/utils/signMessage.ts +20 -29
  12. package/accounts/kernel/utils/signTypedData.ts +17 -33
  13. package/accounts/kernel/utils/wrapMessageHash.ts +5 -6
  14. package/accounts/light/toLightSmartAccount.ts +383 -0
  15. package/accounts/safe/{signerToSafeSmartAccount.ts → toSafeSmartAccount.ts} +503 -530
  16. package/accounts/simple/toSimpleSmartAccount.ts +317 -0
  17. package/accounts/trust/toTrustSmartAccount.ts +218 -0
  18. package/accounts/trust/utils/encodeCallData.ts +13 -33
  19. package/actions/erc7579/accountId.test.ts +7 -20
  20. package/actions/erc7579/accountId.ts +25 -29
  21. package/actions/erc7579/installModule.test.ts +32 -82
  22. package/actions/erc7579/installModule.ts +55 -90
  23. package/actions/erc7579/installModules.test.ts +32 -83
  24. package/actions/erc7579/installModules.ts +57 -103
  25. package/actions/erc7579/isModuleInstalled.test.ts +14 -57
  26. package/actions/erc7579/isModuleInstalled.ts +26 -42
  27. package/actions/erc7579/supportsExecutionMode.test.ts +17 -34
  28. package/actions/erc7579/supportsExecutionMode.ts +28 -45
  29. package/actions/erc7579/supportsModule.test.ts +7 -18
  30. package/actions/erc7579/supportsModule.ts +27 -39
  31. package/actions/erc7579/uninstallModule.test.ts +16 -62
  32. package/actions/erc7579/uninstallModule.ts +56 -95
  33. package/actions/erc7579/uninstallModules.test.ts +16 -62
  34. package/actions/erc7579/uninstallModules.ts +50 -99
  35. package/actions/erc7579.ts +24 -110
  36. package/actions/index.ts +2 -50
  37. package/actions/pimlico/getUserOperationGasPrice.test.ts +3 -4
  38. package/actions/pimlico/getUserOperationGasPrice.ts +9 -9
  39. package/actions/pimlico/getUserOperationStatus.test.ts +53 -67
  40. package/actions/pimlico/getUserOperationStatus.ts +11 -12
  41. package/actions/pimlico/sendCompressedUserOperation.ts +16 -16
  42. package/actions/pimlico/sponsorUserOperation.test.ts +52 -65
  43. package/actions/pimlico/sponsorUserOperation.ts +86 -93
  44. package/actions/pimlico/validateSponsorshipPolicies.test.ts +27 -26
  45. package/actions/pimlico/validateSponsorshipPolicies.ts +29 -22
  46. package/actions/pimlico.ts +4 -12
  47. package/actions/public/getAccountNonce.test.ts +36 -18
  48. package/actions/public/getAccountNonce.ts +9 -14
  49. package/actions/public/getSenderAddress.test.ts +64 -28
  50. package/actions/public/getSenderAddress.ts +26 -35
  51. package/actions/smartAccount/sendTransaction.test.ts +58 -48
  52. package/actions/smartAccount/sendTransaction.ts +58 -88
  53. package/actions/smartAccount/signMessage.test.ts +31 -86
  54. package/actions/smartAccount/signMessage.ts +8 -18
  55. package/actions/smartAccount/signTypedData.test.ts +23 -76
  56. package/actions/smartAccount/signTypedData.ts +14 -24
  57. package/actions/smartAccount/writeContract.ts +12 -110
  58. package/actions/smartAccount.ts +3 -50
  59. package/clients/createSmartAccountClient.ts +106 -78
  60. package/clients/decorators/pimlico.ts +55 -129
  61. package/clients/decorators/smartAccount.ts +31 -310
  62. package/clients/index.ts +2 -0
  63. package/clients/pimlico.ts +108 -74
  64. package/errors/index.ts +15 -116
  65. package/index.ts +1 -86
  66. package/package.json +3 -24
  67. package/types/pimlico.ts +37 -30
  68. package/utils/{encode7579CallData.test.ts → encode7579Calls.test.ts} +12 -11
  69. package/utils/{encode7579CallData.ts → encode7579Calls.ts} +13 -19
  70. package/utils/getPackedUserOperation.ts +11 -9
  71. package/utils/getRequiredPrefund.test.ts +7 -11
  72. package/utils/getRequiredPrefund.ts +13 -12
  73. package/utils/index.ts +1 -29
  74. package/utils/isSmartAccountDeployed.ts +3 -6
  75. package/utils/walletClientToSmartAccountSigner.ts +7 -5
  76. package/_cjs/accounts/biconomy/abi/BiconomySmartAccountAbi.js +0 -102
  77. package/_cjs/accounts/biconomy/abi/BiconomySmartAccountAbi.js.map +0 -1
  78. package/_cjs/accounts/biconomy/privateKeyToBiconomySmartAccount.js +0 -14
  79. package/_cjs/accounts/biconomy/privateKeyToBiconomySmartAccount.js.map +0 -1
  80. package/_cjs/accounts/biconomy/signerToBiconomySmartAccount.js +0 -233
  81. package/_cjs/accounts/biconomy/signerToBiconomySmartAccount.js.map +0 -1
  82. package/_cjs/accounts/index.js +0 -30
  83. package/_cjs/accounts/index.js.map +0 -1
  84. package/_cjs/accounts/kernel/abi/KernelAccountAbi.js +0 -84
  85. package/_cjs/accounts/kernel/abi/KernelAccountAbi.js.map +0 -1
  86. package/_cjs/accounts/kernel/abi/KernelV3AccountAbi.js +0 -110
  87. package/_cjs/accounts/kernel/abi/KernelV3AccountAbi.js.map +0 -1
  88. package/_cjs/accounts/kernel/abi/KernelV3MetaFactoryAbi.js +0 -21
  89. package/_cjs/accounts/kernel/abi/KernelV3MetaFactoryAbi.js.map +0 -1
  90. package/_cjs/accounts/kernel/constants.js +0 -27
  91. package/_cjs/accounts/kernel/constants.js.map +0 -1
  92. package/_cjs/accounts/kernel/signerToEcdsaKernelSmartAccount.js +0 -332
  93. package/_cjs/accounts/kernel/signerToEcdsaKernelSmartAccount.js.map +0 -1
  94. package/_cjs/accounts/kernel/utils/encodeCallData.js +0 -90
  95. package/_cjs/accounts/kernel/utils/encodeCallData.js.map +0 -1
  96. package/_cjs/accounts/kernel/utils/getExecMode.js +0 -15
  97. package/_cjs/accounts/kernel/utils/getExecMode.js.map +0 -1
  98. package/_cjs/accounts/kernel/utils/getNonceKey.js +0 -25
  99. package/_cjs/accounts/kernel/utils/getNonceKey.js.map +0 -1
  100. package/_cjs/accounts/kernel/utils/isKernelV2.js +0 -9
  101. package/_cjs/accounts/kernel/utils/isKernelV2.js.map +0 -1
  102. package/_cjs/accounts/kernel/utils/signMessage.js +0 -29
  103. package/_cjs/accounts/kernel/utils/signMessage.js.map +0 -1
  104. package/_cjs/accounts/kernel/utils/signTypedData.js +0 -41
  105. package/_cjs/accounts/kernel/utils/signTypedData.js.map +0 -1
  106. package/_cjs/accounts/kernel/utils/wrapMessageHash.js +0 -20
  107. package/_cjs/accounts/kernel/utils/wrapMessageHash.js.map +0 -1
  108. package/_cjs/accounts/light/privateKeyToLightSmartAccount.js +0 -14
  109. package/_cjs/accounts/light/privateKeyToLightSmartAccount.js.map +0 -1
  110. package/_cjs/accounts/light/signerToLightSmartAccount.js +0 -256
  111. package/_cjs/accounts/light/signerToLightSmartAccount.js.map +0 -1
  112. package/_cjs/accounts/safe/privateKeyToSafeSmartAccount.js +0 -14
  113. package/_cjs/accounts/safe/privateKeyToSafeSmartAccount.js.map +0 -1
  114. package/_cjs/accounts/safe/signerToSafeSmartAccount.js +0 -1000
  115. package/_cjs/accounts/safe/signerToSafeSmartAccount.js.map +0 -1
  116. package/_cjs/accounts/simple/privateKeyToSimpleSmartAccount.js +0 -14
  117. package/_cjs/accounts/simple/privateKeyToSimpleSmartAccount.js.map +0 -1
  118. package/_cjs/accounts/simple/signerToSimpleSmartAccount.js +0 -259
  119. package/_cjs/accounts/simple/signerToSimpleSmartAccount.js.map +0 -1
  120. package/_cjs/accounts/toSmartAccount.js +0 -84
  121. package/_cjs/accounts/toSmartAccount.js.map +0 -1
  122. package/_cjs/accounts/trust/privateKeyToTrustSmartAccount.js +0 -14
  123. package/_cjs/accounts/trust/privateKeyToTrustSmartAccount.js.map +0 -1
  124. package/_cjs/accounts/trust/signerToTrustSmartAccount.js +0 -134
  125. package/_cjs/accounts/trust/signerToTrustSmartAccount.js.map +0 -1
  126. package/_cjs/accounts/trust/utils/encodeCallData.js +0 -74
  127. package/_cjs/accounts/trust/utils/encodeCallData.js.map +0 -1
  128. package/_cjs/accounts/trust/utils/getAccountAddress.js +0 -19
  129. package/_cjs/accounts/trust/utils/getAccountAddress.js.map +0 -1
  130. package/_cjs/accounts/trust/utils/getDummySignature.js +0 -8
  131. package/_cjs/accounts/trust/utils/getDummySignature.js.map +0 -1
  132. package/_cjs/accounts/trust/utils/getFactoryData.js +0 -43
  133. package/_cjs/accounts/trust/utils/getFactoryData.js.map +0 -1
  134. package/_cjs/accounts/trust/utils/signMessage.js +0 -9
  135. package/_cjs/accounts/trust/utils/signMessage.js.map +0 -1
  136. package/_cjs/accounts/trust/utils/signTransaction.js +0 -9
  137. package/_cjs/accounts/trust/utils/signTransaction.js.map +0 -1
  138. package/_cjs/accounts/trust/utils/signUserOperation.js +0 -19
  139. package/_cjs/accounts/trust/utils/signUserOperation.js.map +0 -1
  140. package/_cjs/accounts/types.js +0 -23
  141. package/_cjs/accounts/types.js.map +0 -1
  142. package/_cjs/actions/bundler/chainId.js +0 -11
  143. package/_cjs/actions/bundler/chainId.js.map +0 -1
  144. package/_cjs/actions/bundler/estimateUserOperationGas.js +0 -49
  145. package/_cjs/actions/bundler/estimateUserOperationGas.js.map +0 -1
  146. package/_cjs/actions/bundler/getUserOperationByHash.js +0 -47
  147. package/_cjs/actions/bundler/getUserOperationByHash.js.map +0 -1
  148. package/_cjs/actions/bundler/getUserOperationReceipt.js +0 -52
  149. package/_cjs/actions/bundler/getUserOperationReceipt.js.map +0 -1
  150. package/_cjs/actions/bundler/sendUserOperation.js +0 -23
  151. package/_cjs/actions/bundler/sendUserOperation.js.map +0 -1
  152. package/_cjs/actions/bundler/supportedEntryPoints.js +0 -11
  153. package/_cjs/actions/bundler/supportedEntryPoints.js.map +0 -1
  154. package/_cjs/actions/bundler/waitForUserOperationReceipt.js +0 -67
  155. package/_cjs/actions/bundler/waitForUserOperationReceipt.js.map +0 -1
  156. package/_cjs/actions/erc7579/accountId.js +0 -66
  157. package/_cjs/actions/erc7579/accountId.js.map +0 -1
  158. package/_cjs/actions/erc7579/installModule.js +0 -65
  159. package/_cjs/actions/erc7579/installModule.js.map +0 -1
  160. package/_cjs/actions/erc7579/installModules.js +0 -65
  161. package/_cjs/actions/erc7579/installModules.js.map +0 -1
  162. package/_cjs/actions/erc7579/isModuleInstalled.js +0 -86
  163. package/_cjs/actions/erc7579/isModuleInstalled.js.map +0 -1
  164. package/_cjs/actions/erc7579/supportsExecutionMode.js +0 -95
  165. package/_cjs/actions/erc7579/supportsExecutionMode.js.map +0 -1
  166. package/_cjs/actions/erc7579/supportsModule.js +0 -84
  167. package/_cjs/actions/erc7579/supportsModule.js.map +0 -1
  168. package/_cjs/actions/erc7579/uninstallModule.js +0 -65
  169. package/_cjs/actions/erc7579/uninstallModule.js.map +0 -1
  170. package/_cjs/actions/erc7579/uninstallModules.js +0 -65
  171. package/_cjs/actions/erc7579/uninstallModules.js.map +0 -1
  172. package/_cjs/actions/erc7579.js +0 -33
  173. package/_cjs/actions/erc7579.js.map +0 -1
  174. package/_cjs/actions/index.js +0 -25
  175. package/_cjs/actions/index.js.map +0 -1
  176. package/_cjs/actions/pimlico/getUserOperationGasPrice.js +0 -25
  177. package/_cjs/actions/pimlico/getUserOperationGasPrice.js.map +0 -1
  178. package/_cjs/actions/pimlico/getUserOperationStatus.js +0 -11
  179. package/_cjs/actions/pimlico/getUserOperationStatus.js.map +0 -1
  180. package/_cjs/actions/pimlico/sendCompressedUserOperation.js +0 -16
  181. package/_cjs/actions/pimlico/sendCompressedUserOperation.js.map +0 -1
  182. package/_cjs/actions/pimlico/sponsorUserOperation.js +0 -43
  183. package/_cjs/actions/pimlico/sponsorUserOperation.js.map +0 -1
  184. package/_cjs/actions/pimlico/validateSponsorshipPolicies.js +0 -16
  185. package/_cjs/actions/pimlico/validateSponsorshipPolicies.js.map +0 -1
  186. package/_cjs/actions/pimlico.js +0 -17
  187. package/_cjs/actions/pimlico.js.map +0 -1
  188. package/_cjs/actions/public/getAccountNonce.js +0 -38
  189. package/_cjs/actions/public/getAccountNonce.js.map +0 -1
  190. package/_cjs/actions/public/getSenderAddress.js +0 -154
  191. package/_cjs/actions/public/getSenderAddress.js.map +0 -1
  192. package/_cjs/actions/smartAccount/deployContract.js +0 -38
  193. package/_cjs/actions/smartAccount/deployContract.js.map +0 -1
  194. package/_cjs/actions/smartAccount/prepareUserOperationRequest.js +0 -195
  195. package/_cjs/actions/smartAccount/prepareUserOperationRequest.js.map +0 -1
  196. package/_cjs/actions/smartAccount/sendTransaction.js +0 -43
  197. package/_cjs/actions/smartAccount/sendTransaction.js.map +0 -1
  198. package/_cjs/actions/smartAccount/sendTransactions.js +0 -45
  199. package/_cjs/actions/smartAccount/sendTransactions.js.map +0 -1
  200. package/_cjs/actions/smartAccount/sendUserOperation.js +0 -21
  201. package/_cjs/actions/smartAccount/sendUserOperation.js.map +0 -1
  202. package/_cjs/actions/smartAccount/signMessage.js +0 -16
  203. package/_cjs/actions/smartAccount/signMessage.js.map +0 -1
  204. package/_cjs/actions/smartAccount/signTypedData.js +0 -34
  205. package/_cjs/actions/smartAccount/signTypedData.js.map +0 -1
  206. package/_cjs/actions/smartAccount/writeContract.js +0 -21
  207. package/_cjs/actions/smartAccount/writeContract.js.map +0 -1
  208. package/_cjs/actions/smartAccount.js +0 -20
  209. package/_cjs/actions/smartAccount.js.map +0 -1
  210. package/_cjs/actions/stackup/accounts.js +0 -12
  211. package/_cjs/actions/stackup/accounts.js.map +0 -1
  212. package/_cjs/actions/stackup/sponsorUserOperation.js +0 -32
  213. package/_cjs/actions/stackup/sponsorUserOperation.js.map +0 -1
  214. package/_cjs/actions/stackup.js +0 -10
  215. package/_cjs/actions/stackup.js.map +0 -1
  216. package/_cjs/clients/createBundlerClient.js +0 -17
  217. package/_cjs/clients/createBundlerClient.js.map +0 -1
  218. package/_cjs/clients/createSmartAccountClient.js +0 -20
  219. package/_cjs/clients/createSmartAccountClient.js.map +0 -1
  220. package/_cjs/clients/decorators/bundler.js +0 -24
  221. package/_cjs/clients/decorators/bundler.js.map +0 -1
  222. package/_cjs/clients/decorators/pimlico.js +0 -25
  223. package/_cjs/clients/decorators/pimlico.js.map +0 -1
  224. package/_cjs/clients/decorators/smartAccount.js +0 -43
  225. package/_cjs/clients/decorators/smartAccount.js.map +0 -1
  226. package/_cjs/clients/decorators/stackup.js +0 -14
  227. package/_cjs/clients/decorators/stackup.js.map +0 -1
  228. package/_cjs/clients/pimlico.js +0 -31
  229. package/_cjs/clients/pimlico.js.map +0 -1
  230. package/_cjs/clients/stackup.js +0 -20
  231. package/_cjs/clients/stackup.js.map +0 -1
  232. package/_cjs/errors/account.js +0 -311
  233. package/_cjs/errors/account.js.map +0 -1
  234. package/_cjs/errors/bundler.js +0 -61
  235. package/_cjs/errors/bundler.js.map +0 -1
  236. package/_cjs/errors/estimateUserOperationGas.js +0 -53
  237. package/_cjs/errors/estimateUserOperationGas.js.map +0 -1
  238. package/_cjs/errors/gas.js +0 -113
  239. package/_cjs/errors/gas.js.map +0 -1
  240. package/_cjs/errors/index.js +0 -35
  241. package/_cjs/errors/index.js.map +0 -1
  242. package/_cjs/errors/paymaster.js +0 -228
  243. package/_cjs/errors/paymaster.js.map +0 -1
  244. package/_cjs/errors/sendUserOperation.js +0 -37
  245. package/_cjs/errors/sendUserOperation.js.map +0 -1
  246. package/_cjs/errors/utils.js +0 -18
  247. package/_cjs/errors/utils.js.map +0 -1
  248. package/_cjs/experimental/eip7677/actions/getPaymasterData.js +0 -41
  249. package/_cjs/experimental/eip7677/actions/getPaymasterData.js.map +0 -1
  250. package/_cjs/experimental/eip7677/actions/getPaymasterStubData.js +0 -51
  251. package/_cjs/experimental/eip7677/actions/getPaymasterStubData.js.map +0 -1
  252. package/_cjs/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js +0 -21
  253. package/_cjs/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js.map +0 -1
  254. package/_cjs/experimental/eip7677/index.js +0 -10
  255. package/_cjs/experimental/eip7677/index.js.map +0 -1
  256. package/_cjs/experimental/eip7677/types/paymaster.js +0 -3
  257. package/_cjs/experimental/eip7677/types/paymaster.js.map +0 -1
  258. package/_cjs/experimental/index.js +0 -5
  259. package/_cjs/experimental/index.js.map +0 -1
  260. package/_cjs/index.js +0 -37
  261. package/_cjs/index.js.map +0 -1
  262. package/_cjs/package.json +0 -1
  263. package/_cjs/types/bundler.js +0 -3
  264. package/_cjs/types/bundler.js.map +0 -1
  265. package/_cjs/types/entrypoint.js +0 -3
  266. package/_cjs/types/entrypoint.js.map +0 -1
  267. package/_cjs/types/index.js +0 -3
  268. package/_cjs/types/index.js.map +0 -1
  269. package/_cjs/types/pimlico.js +0 -3
  270. package/_cjs/types/pimlico.js.map +0 -1
  271. package/_cjs/types/stackup.js +0 -3
  272. package/_cjs/types/stackup.js.map +0 -1
  273. package/_cjs/types/userOperation.js +0 -3
  274. package/_cjs/types/userOperation.js.map +0 -1
  275. package/_cjs/utils/decodeNonce.js +0 -12
  276. package/_cjs/utils/decodeNonce.js.map +0 -1
  277. package/_cjs/utils/deepHexlify.js +0 -31
  278. package/_cjs/utils/deepHexlify.js.map +0 -1
  279. package/_cjs/utils/encode7579CallData.js +0 -81
  280. package/_cjs/utils/encode7579CallData.js.map +0 -1
  281. package/_cjs/utils/encodeNonce.js +0 -11
  282. package/_cjs/utils/encodeNonce.js.map +0 -1
  283. package/_cjs/utils/errors/getBundlerError.js +0 -124
  284. package/_cjs/utils/errors/getBundlerError.js.map +0 -1
  285. package/_cjs/utils/errors/getEstimateUserOperationGasError.js +0 -19
  286. package/_cjs/utils/errors/getEstimateUserOperationGasError.js.map +0 -1
  287. package/_cjs/utils/errors/getSendUserOperationError.js +0 -19
  288. package/_cjs/utils/errors/getSendUserOperationError.js.map +0 -1
  289. package/_cjs/utils/getAddressFromInitCodeOrPaymasterAndData.js +0 -15
  290. package/_cjs/utils/getAddressFromInitCodeOrPaymasterAndData.js.map +0 -1
  291. package/_cjs/utils/getEntryPointVersion.js +0 -16
  292. package/_cjs/utils/getEntryPointVersion.js.map +0 -1
  293. package/_cjs/utils/getPackedUserOperation.js +0 -106
  294. package/_cjs/utils/getPackedUserOperation.js.map +0 -1
  295. package/_cjs/utils/getRequiredPrefund.js +0 -27
  296. package/_cjs/utils/getRequiredPrefund.js.map +0 -1
  297. package/_cjs/utils/getUserOperationHash.js +0 -94
  298. package/_cjs/utils/getUserOperationHash.js.map +0 -1
  299. package/_cjs/utils/index.js +0 -38
  300. package/_cjs/utils/index.js.map +0 -1
  301. package/_cjs/utils/isSmartAccountDeployed.js +0 -15
  302. package/_cjs/utils/isSmartAccountDeployed.js.map +0 -1
  303. package/_cjs/utils/observe.js +0 -44
  304. package/_cjs/utils/observe.js.map +0 -1
  305. package/_cjs/utils/providerToSmartAccountSigner.js +0 -32
  306. package/_cjs/utils/providerToSmartAccountSigner.js.map +0 -1
  307. package/_cjs/utils/signUserOperationHashWithECDSA.js +0 -58
  308. package/_cjs/utils/signUserOperationHashWithECDSA.js.map +0 -1
  309. package/_cjs/utils/walletClientToSmartAccountSigner.js +0 -23
  310. package/_cjs/utils/walletClientToSmartAccountSigner.js.map +0 -1
  311. package/_cjs/vitest.config.js +0 -31
  312. package/_cjs/vitest.config.js.map +0 -1
  313. package/_esm/accounts/biconomy/abi/BiconomySmartAccountAbi.js +0 -105
  314. package/_esm/accounts/biconomy/abi/BiconomySmartAccountAbi.js.map +0 -1
  315. package/_esm/accounts/biconomy/privateKeyToBiconomySmartAccount.js +0 -15
  316. package/_esm/accounts/biconomy/privateKeyToBiconomySmartAccount.js.map +0 -1
  317. package/_esm/accounts/biconomy/signerToBiconomySmartAccount.js +0 -268
  318. package/_esm/accounts/biconomy/signerToBiconomySmartAccount.js.map +0 -1
  319. package/_esm/accounts/index.js +0 -15
  320. package/_esm/accounts/index.js.map +0 -1
  321. package/_esm/accounts/kernel/abi/KernelAccountAbi.js +0 -87
  322. package/_esm/accounts/kernel/abi/KernelAccountAbi.js.map +0 -1
  323. package/_esm/accounts/kernel/abi/KernelV3AccountAbi.js +0 -107
  324. package/_esm/accounts/kernel/abi/KernelV3AccountAbi.js.map +0 -1
  325. package/_esm/accounts/kernel/abi/KernelV3MetaFactoryAbi.js +0 -18
  326. package/_esm/accounts/kernel/abi/KernelV3MetaFactoryAbi.js.map +0 -1
  327. package/_esm/accounts/kernel/constants.js +0 -24
  328. package/_esm/accounts/kernel/constants.js.map +0 -1
  329. package/_esm/accounts/kernel/signerToEcdsaKernelSmartAccount.js +0 -395
  330. package/_esm/accounts/kernel/signerToEcdsaKernelSmartAccount.js.map +0 -1
  331. package/_esm/accounts/kernel/utils/encodeCallData.js +0 -89
  332. package/_esm/accounts/kernel/utils/encodeCallData.js.map +0 -1
  333. package/_esm/accounts/kernel/utils/getExecMode.js +0 -11
  334. package/_esm/accounts/kernel/utils/getExecMode.js.map +0 -1
  335. package/_esm/accounts/kernel/utils/getNonceKey.js +0 -21
  336. package/_esm/accounts/kernel/utils/getNonceKey.js.map +0 -1
  337. package/_esm/accounts/kernel/utils/isKernelV2.js +0 -5
  338. package/_esm/accounts/kernel/utils/isKernelV2.js.map +0 -1
  339. package/_esm/accounts/kernel/utils/signMessage.js +0 -25
  340. package/_esm/accounts/kernel/utils/signMessage.js.map +0 -1
  341. package/_esm/accounts/kernel/utils/signTypedData.js +0 -39
  342. package/_esm/accounts/kernel/utils/signTypedData.js.map +0 -1
  343. package/_esm/accounts/kernel/utils/wrapMessageHash.js +0 -16
  344. package/_esm/accounts/kernel/utils/wrapMessageHash.js.map +0 -1
  345. package/_esm/accounts/light/privateKeyToLightSmartAccount.js +0 -15
  346. package/_esm/accounts/light/privateKeyToLightSmartAccount.js.map +0 -1
  347. package/_esm/accounts/light/signerToLightSmartAccount.js +0 -258
  348. package/_esm/accounts/light/signerToLightSmartAccount.js.map +0 -1
  349. package/_esm/accounts/safe/privateKeyToSafeSmartAccount.js +0 -15
  350. package/_esm/accounts/safe/privateKeyToSafeSmartAccount.js.map +0 -1
  351. package/_esm/accounts/safe/signerToSafeSmartAccount.js +0 -1002
  352. package/_esm/accounts/safe/signerToSafeSmartAccount.js.map +0 -1
  353. package/_esm/accounts/simple/privateKeyToSimpleSmartAccount.js +0 -15
  354. package/_esm/accounts/simple/privateKeyToSimpleSmartAccount.js.map +0 -1
  355. package/_esm/accounts/simple/signerToSimpleSmartAccount.js +0 -261
  356. package/_esm/accounts/simple/signerToSimpleSmartAccount.js.map +0 -1
  357. package/_esm/accounts/toSmartAccount.js +0 -80
  358. package/_esm/accounts/toSmartAccount.js.map +0 -1
  359. package/_esm/accounts/trust/privateKeyToTrustSmartAccount.js +0 -15
  360. package/_esm/accounts/trust/privateKeyToTrustSmartAccount.js.map +0 -1
  361. package/_esm/accounts/trust/signerToTrustSmartAccount.js +0 -138
  362. package/_esm/accounts/trust/signerToTrustSmartAccount.js.map +0 -1
  363. package/_esm/accounts/trust/utils/encodeCallData.js +0 -70
  364. package/_esm/accounts/trust/utils/encodeCallData.js.map +0 -1
  365. package/_esm/accounts/trust/utils/getAccountAddress.js +0 -15
  366. package/_esm/accounts/trust/utils/getAccountAddress.js.map +0 -1
  367. package/_esm/accounts/trust/utils/getDummySignature.js +0 -4
  368. package/_esm/accounts/trust/utils/getDummySignature.js.map +0 -1
  369. package/_esm/accounts/trust/utils/getFactoryData.js +0 -42
  370. package/_esm/accounts/trust/utils/getFactoryData.js.map +0 -1
  371. package/_esm/accounts/trust/utils/signMessage.js +0 -5
  372. package/_esm/accounts/trust/utils/signMessage.js.map +0 -1
  373. package/_esm/accounts/trust/utils/signTransaction.js +0 -5
  374. package/_esm/accounts/trust/utils/signTransaction.js.map +0 -1
  375. package/_esm/accounts/trust/utils/signUserOperation.js +0 -15
  376. package/_esm/accounts/trust/utils/signUserOperation.js.map +0 -1
  377. package/_esm/accounts/types.js +0 -19
  378. package/_esm/accounts/types.js.map +0 -1
  379. package/_esm/actions/bundler/chainId.js +0 -29
  380. package/_esm/actions/bundler/chainId.js.map +0 -1
  381. package/_esm/actions/bundler/estimateUserOperationGas.js +0 -72
  382. package/_esm/actions/bundler/estimateUserOperationGas.js.map +0 -1
  383. package/_esm/actions/bundler/getUserOperationByHash.js +0 -65
  384. package/_esm/actions/bundler/getUserOperationByHash.js.map +0 -1
  385. package/_esm/actions/bundler/getUserOperationReceipt.js +0 -70
  386. package/_esm/actions/bundler/getUserOperationReceipt.js.map +0 -1
  387. package/_esm/actions/bundler/sendUserOperation.js +0 -44
  388. package/_esm/actions/bundler/sendUserOperation.js.map +0 -1
  389. package/_esm/actions/bundler/supportedEntryPoints.js +0 -29
  390. package/_esm/actions/bundler/supportedEntryPoints.js.map +0 -1
  391. package/_esm/actions/bundler/waitForUserOperationReceipt.js +0 -83
  392. package/_esm/actions/bundler/waitForUserOperationReceipt.js.map +0 -1
  393. package/_esm/actions/erc7579/accountId.js +0 -62
  394. package/_esm/actions/erc7579/accountId.js.map +0 -1
  395. package/_esm/actions/erc7579/installModule.js +0 -61
  396. package/_esm/actions/erc7579/installModule.js.map +0 -1
  397. package/_esm/actions/erc7579/installModules.js +0 -61
  398. package/_esm/actions/erc7579/installModules.js.map +0 -1
  399. package/_esm/actions/erc7579/isModuleInstalled.js +0 -82
  400. package/_esm/actions/erc7579/isModuleInstalled.js.map +0 -1
  401. package/_esm/actions/erc7579/supportsExecutionMode.js +0 -90
  402. package/_esm/actions/erc7579/supportsExecutionMode.js.map +0 -1
  403. package/_esm/actions/erc7579/supportsModule.js +0 -79
  404. package/_esm/actions/erc7579/supportsModule.js.map +0 -1
  405. package/_esm/actions/erc7579/uninstallModule.js +0 -61
  406. package/_esm/actions/erc7579/uninstallModule.js.map +0 -1
  407. package/_esm/actions/erc7579/uninstallModules.js +0 -61
  408. package/_esm/actions/erc7579/uninstallModules.js.map +0 -1
  409. package/_esm/actions/erc7579.js +0 -22
  410. package/_esm/actions/erc7579.js.map +0 -1
  411. package/_esm/actions/index.js +0 -12
  412. package/_esm/actions/index.js.map +0 -1
  413. package/_esm/actions/pimlico/getUserOperationGasPrice.js +0 -42
  414. package/_esm/actions/pimlico/getUserOperationGasPrice.js.map +0 -1
  415. package/_esm/actions/pimlico/getUserOperationStatus.js +0 -30
  416. package/_esm/actions/pimlico/getUserOperationStatus.js.map +0 -1
  417. package/_esm/actions/pimlico/sendCompressedUserOperation.js +0 -37
  418. package/_esm/actions/pimlico/sendCompressedUserOperation.js.map +0 -1
  419. package/_esm/actions/pimlico/sponsorUserOperation.js +0 -64
  420. package/_esm/actions/pimlico/sponsorUserOperation.js.map +0 -1
  421. package/_esm/actions/pimlico/validateSponsorshipPolicies.js +0 -47
  422. package/_esm/actions/pimlico/validateSponsorshipPolicies.js.map +0 -1
  423. package/_esm/actions/pimlico.js +0 -8
  424. package/_esm/actions/pimlico.js.map +0 -1
  425. package/_esm/actions/public/getAccountNonce.js +0 -60
  426. package/_esm/actions/public/getAccountNonce.js.map +0 -1
  427. package/_esm/actions/public/getSenderAddress.js +0 -177
  428. package/_esm/actions/public/getSenderAddress.js.map +0 -1
  429. package/_esm/actions/smartAccount/deployContract.js +0 -62
  430. package/_esm/actions/smartAccount/deployContract.js.map +0 -1
  431. package/_esm/actions/smartAccount/prepareUserOperationRequest.js +0 -195
  432. package/_esm/actions/smartAccount/prepareUserOperationRequest.js.map +0 -1
  433. package/_esm/actions/smartAccount/sendTransaction.js +0 -85
  434. package/_esm/actions/smartAccount/sendTransaction.js.map +0 -1
  435. package/_esm/actions/smartAccount/sendTransactions.js +0 -87
  436. package/_esm/actions/smartAccount/sendTransactions.js.map +0 -1
  437. package/_esm/actions/smartAccount/sendUserOperation.js +0 -17
  438. package/_esm/actions/smartAccount/sendUserOperation.js.map +0 -1
  439. package/_esm/actions/smartAccount/signMessage.js +0 -58
  440. package/_esm/actions/smartAccount/signMessage.js.map +0 -1
  441. package/_esm/actions/smartAccount/signTypedData.js +0 -128
  442. package/_esm/actions/smartAccount/signTypedData.js.map +0 -1
  443. package/_esm/actions/smartAccount/writeContract.js +0 -17
  444. package/_esm/actions/smartAccount/writeContract.js.map +0 -1
  445. package/_esm/actions/smartAccount.js +0 -10
  446. package/_esm/actions/smartAccount.js.map +0 -1
  447. package/_esm/actions/stackup/accounts.js +0 -30
  448. package/_esm/actions/stackup/accounts.js.map +0 -1
  449. package/_esm/actions/stackup/sponsorUserOperation.js +0 -53
  450. package/_esm/actions/stackup/sponsorUserOperation.js.map +0 -1
  451. package/_esm/actions/stackup.js +0 -5
  452. package/_esm/actions/stackup.js.map +0 -1
  453. package/_esm/clients/createBundlerClient.js +0 -32
  454. package/_esm/clients/createBundlerClient.js.map +0 -1
  455. package/_esm/clients/createSmartAccountClient.js +0 -35
  456. package/_esm/clients/createSmartAccountClient.js.map +0 -1
  457. package/_esm/clients/decorators/bundler.js +0 -21
  458. package/_esm/clients/decorators/bundler.js.map +0 -1
  459. package/_esm/clients/decorators/pimlico.js +0 -64
  460. package/_esm/clients/decorators/pimlico.js.map +0 -1
  461. package/_esm/clients/decorators/smartAccount.js +0 -39
  462. package/_esm/clients/decorators/smartAccount.js.map +0 -1
  463. package/_esm/clients/decorators/stackup.js +0 -10
  464. package/_esm/clients/decorators/stackup.js.map +0 -1
  465. package/_esm/clients/pimlico.js +0 -64
  466. package/_esm/clients/pimlico.js.map +0 -1
  467. package/_esm/clients/stackup.js +0 -35
  468. package/_esm/clients/stackup.js.map +0 -1
  469. package/_esm/errors/account.js +0 -298
  470. package/_esm/errors/account.js.map +0 -1
  471. package/_esm/errors/bundler.js +0 -56
  472. package/_esm/errors/bundler.js.map +0 -1
  473. package/_esm/errors/estimateUserOperationGas.js +0 -49
  474. package/_esm/errors/estimateUserOperationGas.js.map +0 -1
  475. package/_esm/errors/gas.js +0 -106
  476. package/_esm/errors/gas.js.map +0 -1
  477. package/_esm/errors/index.js +0 -8
  478. package/_esm/errors/index.js.map +0 -1
  479. package/_esm/errors/paymaster.js +0 -218
  480. package/_esm/errors/paymaster.js.map +0 -1
  481. package/_esm/errors/sendUserOperation.js +0 -33
  482. package/_esm/errors/sendUserOperation.js.map +0 -1
  483. package/_esm/errors/utils.js +0 -14
  484. package/_esm/errors/utils.js.map +0 -1
  485. package/_esm/experimental/eip7677/actions/getPaymasterData.js +0 -37
  486. package/_esm/experimental/eip7677/actions/getPaymasterData.js.map +0 -1
  487. package/_esm/experimental/eip7677/actions/getPaymasterStubData.js +0 -47
  488. package/_esm/experimental/eip7677/actions/getPaymasterStubData.js.map +0 -1
  489. package/_esm/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js +0 -18
  490. package/_esm/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js.map +0 -1
  491. package/_esm/experimental/eip7677/index.js +0 -5
  492. package/_esm/experimental/eip7677/index.js.map +0 -1
  493. package/_esm/experimental/eip7677/types/paymaster.js +0 -2
  494. package/_esm/experimental/eip7677/types/paymaster.js.map +0 -1
  495. package/_esm/experimental/index.js +0 -2
  496. package/_esm/experimental/index.js.map +0 -1
  497. package/_esm/index.js +0 -20
  498. package/_esm/index.js.map +0 -1
  499. package/_esm/package.json +0 -1
  500. package/_esm/types/bundler.js +0 -2
  501. package/_esm/types/bundler.js.map +0 -1
  502. package/_esm/types/entrypoint.js +0 -2
  503. package/_esm/types/entrypoint.js.map +0 -1
  504. package/_esm/types/index.js +0 -2
  505. package/_esm/types/index.js.map +0 -1
  506. package/_esm/types/pimlico.js +0 -2
  507. package/_esm/types/pimlico.js.map +0 -1
  508. package/_esm/types/stackup.js +0 -2
  509. package/_esm/types/stackup.js.map +0 -1
  510. package/_esm/types/userOperation.js +0 -2
  511. package/_esm/types/userOperation.js.map +0 -1
  512. package/_esm/utils/decodeNonce.js +0 -8
  513. package/_esm/utils/decodeNonce.js.map +0 -1
  514. package/_esm/utils/deepHexlify.js +0 -30
  515. package/_esm/utils/deepHexlify.js.map +0 -1
  516. package/_esm/utils/encode7579CallData.js +0 -77
  517. package/_esm/utils/encode7579CallData.js.map +0 -1
  518. package/_esm/utils/encodeNonce.js +0 -7
  519. package/_esm/utils/encodeNonce.js.map +0 -1
  520. package/_esm/utils/errors/getBundlerError.js +0 -121
  521. package/_esm/utils/errors/getBundlerError.js.map +0 -1
  522. package/_esm/utils/errors/getEstimateUserOperationGasError.js +0 -18
  523. package/_esm/utils/errors/getEstimateUserOperationGasError.js.map +0 -1
  524. package/_esm/utils/errors/getSendUserOperationError.js +0 -15
  525. package/_esm/utils/errors/getSendUserOperationError.js.map +0 -1
  526. package/_esm/utils/getAddressFromInitCodeOrPaymasterAndData.js +0 -11
  527. package/_esm/utils/getAddressFromInitCodeOrPaymasterAndData.js.map +0 -1
  528. package/_esm/utils/getEntryPointVersion.js +0 -11
  529. package/_esm/utils/getEntryPointVersion.js.map +0 -1
  530. package/_esm/utils/getPackedUserOperation.js +0 -94
  531. package/_esm/utils/getPackedUserOperation.js.map +0 -1
  532. package/_esm/utils/getRequiredPrefund.js +0 -37
  533. package/_esm/utils/getRequiredPrefund.js.map +0 -1
  534. package/_esm/utils/getUserOperationHash.js +0 -111
  535. package/_esm/utils/getUserOperationHash.js.map +0 -1
  536. package/_esm/utils/index.js +0 -19
  537. package/_esm/utils/index.js.map +0 -1
  538. package/_esm/utils/isSmartAccountDeployed.js +0 -11
  539. package/_esm/utils/isSmartAccountDeployed.js.map +0 -1
  540. package/_esm/utils/observe.js +0 -47
  541. package/_esm/utils/observe.js.map +0 -1
  542. package/_esm/utils/providerToSmartAccountSigner.js +0 -28
  543. package/_esm/utils/providerToSmartAccountSigner.js.map +0 -1
  544. package/_esm/utils/signUserOperationHashWithECDSA.js +0 -76
  545. package/_esm/utils/signUserOperationHashWithECDSA.js.map +0 -1
  546. package/_esm/utils/walletClientToSmartAccountSigner.js +0 -19
  547. package/_esm/utils/walletClientToSmartAccountSigner.js.map +0 -1
  548. package/_esm/vitest.config.js +0 -29
  549. package/_esm/vitest.config.js.map +0 -1
  550. package/_types/accounts/biconomy/abi/BiconomySmartAccountAbi.d.ts +0 -59
  551. package/_types/accounts/biconomy/abi/BiconomySmartAccountAbi.d.ts.map +0 -1
  552. package/_types/accounts/biconomy/privateKeyToBiconomySmartAccount.d.ts +0 -13
  553. package/_types/accounts/biconomy/privateKeyToBiconomySmartAccount.d.ts.map +0 -1
  554. package/_types/accounts/biconomy/signerToBiconomySmartAccount.d.ts +0 -29
  555. package/_types/accounts/biconomy/signerToBiconomySmartAccount.d.ts.map +0 -1
  556. package/_types/accounts/index.d.ts +0 -15
  557. package/_types/accounts/index.d.ts.map +0 -1
  558. package/_types/accounts/kernel/abi/KernelAccountAbi.d.ts +0 -68
  559. package/_types/accounts/kernel/abi/KernelAccountAbi.d.ts.map +0 -1
  560. package/_types/accounts/kernel/abi/KernelV3AccountAbi.d.ts +0 -135
  561. package/_types/accounts/kernel/abi/KernelV3AccountAbi.d.ts.map +0 -1
  562. package/_types/accounts/kernel/abi/KernelV3MetaFactoryAbi.d.ts +0 -24
  563. package/_types/accounts/kernel/abi/KernelV3MetaFactoryAbi.d.ts.map +0 -1
  564. package/_types/accounts/kernel/constants.d.ts +0 -21
  565. package/_types/accounts/kernel/constants.d.ts.map +0 -1
  566. package/_types/accounts/kernel/signerToEcdsaKernelSmartAccount.d.ts +0 -44
  567. package/_types/accounts/kernel/signerToEcdsaKernelSmartAccount.d.ts.map +0 -1
  568. package/_types/accounts/kernel/utils/encodeCallData.d.ts +0 -13
  569. package/_types/accounts/kernel/utils/encodeCallData.d.ts.map +0 -1
  570. package/_types/accounts/kernel/utils/getExecMode.d.ts +0 -7
  571. package/_types/accounts/kernel/utils/getExecMode.d.ts.map +0 -1
  572. package/_types/accounts/kernel/utils/getNonceKey.d.ts +0 -5
  573. package/_types/accounts/kernel/utils/getNonceKey.d.ts.map +0 -1
  574. package/_types/accounts/kernel/utils/isKernelV2.d.ts +0 -4
  575. package/_types/accounts/kernel/utils/isKernelV2.d.ts.map +0 -1
  576. package/_types/accounts/kernel/utils/signMessage.d.ts +0 -4
  577. package/_types/accounts/kernel/utils/signMessage.d.ts.map +0 -1
  578. package/_types/accounts/kernel/utils/signTypedData.d.ts +0 -4
  579. package/_types/accounts/kernel/utils/signTypedData.d.ts.map +0 -1
  580. package/_types/accounts/kernel/utils/wrapMessageHash.d.ts +0 -11
  581. package/_types/accounts/kernel/utils/wrapMessageHash.d.ts.map +0 -1
  582. package/_types/accounts/light/privateKeyToLightSmartAccount.d.ts +0 -14
  583. package/_types/accounts/light/privateKeyToLightSmartAccount.d.ts.map +0 -1
  584. package/_types/accounts/light/signerToLightSmartAccount.d.ts +0 -22
  585. package/_types/accounts/light/signerToLightSmartAccount.d.ts.map +0 -1
  586. package/_types/accounts/safe/privateKeyToSafeSmartAccount.d.ts +0 -13
  587. package/_types/accounts/safe/privateKeyToSafeSmartAccount.d.ts.map +0 -1
  588. package/_types/accounts/safe/signerToSafeSmartAccount.d.ts +0 -58
  589. package/_types/accounts/safe/signerToSafeSmartAccount.d.ts.map +0 -1
  590. package/_types/accounts/simple/privateKeyToSimpleSmartAccount.d.ts +0 -13
  591. package/_types/accounts/simple/privateKeyToSimpleSmartAccount.d.ts.map +0 -1
  592. package/_types/accounts/simple/signerToSimpleSmartAccount.d.ts +0 -20
  593. package/_types/accounts/simple/signerToSimpleSmartAccount.d.ts.map +0 -1
  594. package/_types/accounts/toSmartAccount.d.ts +0 -26
  595. package/_types/accounts/toSmartAccount.d.ts.map +0 -1
  596. package/_types/accounts/trust/privateKeyToTrustSmartAccount.d.ts +0 -13
  597. package/_types/accounts/trust/privateKeyToTrustSmartAccount.d.ts.map +0 -1
  598. package/_types/accounts/trust/signerToTrustSmartAccount.d.ts +0 -27
  599. package/_types/accounts/trust/signerToTrustSmartAccount.d.ts.map +0 -1
  600. package/_types/accounts/trust/utils/encodeCallData.d.ts +0 -12
  601. package/_types/accounts/trust/utils/encodeCallData.d.ts.map +0 -1
  602. package/_types/accounts/trust/utils/getAccountAddress.d.ts +0 -10
  603. package/_types/accounts/trust/utils/getAccountAddress.d.ts.map +0 -1
  604. package/_types/accounts/trust/utils/getDummySignature.d.ts +0 -3
  605. package/_types/accounts/trust/utils/getDummySignature.d.ts.map +0 -1
  606. package/_types/accounts/trust/utils/getFactoryData.d.ts +0 -10
  607. package/_types/accounts/trust/utils/getFactoryData.d.ts.map +0 -1
  608. package/_types/accounts/trust/utils/signMessage.d.ts +0 -4
  609. package/_types/accounts/trust/utils/signMessage.d.ts.map +0 -1
  610. package/_types/accounts/trust/utils/signTransaction.d.ts +0 -5
  611. package/_types/accounts/trust/utils/signTransaction.d.ts.map +0 -1
  612. package/_types/accounts/trust/utils/signUserOperation.d.ts +0 -9
  613. package/_types/accounts/trust/utils/signUserOperation.d.ts.map +0 -1
  614. package/_types/accounts/types.d.ts +0 -32
  615. package/_types/accounts/types.d.ts.map +0 -1
  616. package/_types/actions/bundler/chainId.d.ts +0 -27
  617. package/_types/actions/bundler/chainId.d.ts.map +0 -1
  618. package/_types/actions/bundler/estimateUserOperationGas.d.ts +0 -91
  619. package/_types/actions/bundler/estimateUserOperationGas.d.ts.map +0 -1
  620. package/_types/actions/bundler/getUserOperationByHash.d.ts +0 -39
  621. package/_types/actions/bundler/getUserOperationByHash.d.ts.map +0 -1
  622. package/_types/actions/bundler/getUserOperationReceipt.d.ts +0 -58
  623. package/_types/actions/bundler/getUserOperationReceipt.d.ts.map +0 -1
  624. package/_types/actions/bundler/sendUserOperation.d.ts +0 -39
  625. package/_types/actions/bundler/sendUserOperation.d.ts.map +0 -1
  626. package/_types/actions/bundler/supportedEntryPoints.d.ts +0 -27
  627. package/_types/actions/bundler/supportedEntryPoints.d.ts.map +0 -1
  628. package/_types/actions/bundler/waitForUserOperationReceipt.d.ts +0 -43
  629. package/_types/actions/bundler/waitForUserOperationReceipt.d.ts.map +0 -1
  630. package/_types/actions/erc7579/accountId.d.ts +0 -6
  631. package/_types/actions/erc7579/accountId.d.ts.map +0 -1
  632. package/_types/actions/erc7579/installModule.d.ts +0 -16
  633. package/_types/actions/erc7579/installModule.d.ts.map +0 -1
  634. package/_types/actions/erc7579/installModules.d.ts +0 -18
  635. package/_types/actions/erc7579/installModules.d.ts.map +0 -1
  636. package/_types/actions/erc7579/isModuleInstalled.d.ts +0 -12
  637. package/_types/actions/erc7579/isModuleInstalled.d.ts.map +0 -1
  638. package/_types/actions/erc7579/supportsExecutionMode.d.ts +0 -15
  639. package/_types/actions/erc7579/supportsExecutionMode.d.ts.map +0 -1
  640. package/_types/actions/erc7579/supportsModule.d.ts +0 -11
  641. package/_types/actions/erc7579/supportsModule.d.ts.map +0 -1
  642. package/_types/actions/erc7579/uninstallModule.d.ts +0 -16
  643. package/_types/actions/erc7579/uninstallModule.d.ts.map +0 -1
  644. package/_types/actions/erc7579/uninstallModules.d.ts +0 -20
  645. package/_types/actions/erc7579/uninstallModules.d.ts.map +0 -1
  646. package/_types/actions/erc7579.d.ts +0 -30
  647. package/_types/actions/erc7579.d.ts.map +0 -1
  648. package/_types/actions/index.d.ts +0 -20
  649. package/_types/actions/index.d.ts.map +0 -1
  650. package/_types/actions/pimlico/getUserOperationGasPrice.d.ts +0 -40
  651. package/_types/actions/pimlico/getUserOperationGasPrice.d.ts.map +0 -1
  652. package/_types/actions/pimlico/getUserOperationStatus.d.ts +0 -32
  653. package/_types/actions/pimlico/getUserOperationStatus.d.ts.map +0 -1
  654. package/_types/actions/pimlico/sendCompressedUserOperation.d.ts +0 -35
  655. package/_types/actions/pimlico/sendCompressedUserOperation.d.ts.map +0 -1
  656. package/_types/actions/pimlico/sponsorUserOperation.d.ts +0 -52
  657. package/_types/actions/pimlico/sponsorUserOperation.d.ts.map +0 -1
  658. package/_types/actions/pimlico/validateSponsorshipPolicies.d.ts +0 -56
  659. package/_types/actions/pimlico/validateSponsorshipPolicies.d.ts.map +0 -1
  660. package/_types/actions/pimlico.d.ts +0 -10
  661. package/_types/actions/pimlico.d.ts.map +0 -1
  662. package/_types/actions/public/getAccountNonce.d.ts +0 -36
  663. package/_types/actions/public/getAccountNonce.d.ts.map +0 -1
  664. package/_types/actions/public/getSenderAddress.d.ts +0 -48
  665. package/_types/actions/public/getSenderAddress.d.ts.map +0 -1
  666. package/_types/actions/smartAccount/deployContract.d.ts +0 -36
  667. package/_types/actions/smartAccount/deployContract.d.ts.map +0 -1
  668. package/_types/actions/smartAccount/prepareUserOperationRequest.d.ts +0 -28
  669. package/_types/actions/smartAccount/prepareUserOperationRequest.d.ts.map +0 -1
  670. package/_types/actions/smartAccount/sendTransaction.d.ts +0 -54
  671. package/_types/actions/smartAccount/sendTransaction.d.ts.map +0 -1
  672. package/_types/actions/smartAccount/sendTransactions.d.ts +0 -64
  673. package/_types/actions/smartAccount/sendTransactions.d.ts.map +0 -1
  674. package/_types/actions/smartAccount/sendUserOperation.d.ts +0 -10
  675. package/_types/actions/smartAccount/sendUserOperation.d.ts.map +0 -1
  676. package/_types/actions/smartAccount/signMessage.d.ts +0 -51
  677. package/_types/actions/smartAccount/signMessage.d.ts.map +0 -1
  678. package/_types/actions/smartAccount/signTypedData.d.ts +0 -105
  679. package/_types/actions/smartAccount/signTypedData.d.ts.map +0 -1
  680. package/_types/actions/smartAccount/writeContract.d.ts +0 -58
  681. package/_types/actions/smartAccount/writeContract.d.ts.map +0 -1
  682. package/_types/actions/smartAccount.d.ts +0 -10
  683. package/_types/actions/smartAccount.d.ts.map +0 -1
  684. package/_types/actions/stackup/accounts.d.ts +0 -30
  685. package/_types/actions/stackup/accounts.d.ts.map +0 -1
  686. package/_types/actions/stackup/sponsorUserOperation.d.ts +0 -38
  687. package/_types/actions/stackup/sponsorUserOperation.d.ts.map +0 -1
  688. package/_types/actions/stackup.d.ts +0 -7
  689. package/_types/actions/stackup.d.ts.map +0 -1
  690. package/_types/clients/createBundlerClient.d.ts +0 -28
  691. package/_types/clients/createBundlerClient.d.ts.map +0 -1
  692. package/_types/clients/createSmartAccountClient.d.ts +0 -40
  693. package/_types/clients/createSmartAccountClient.d.ts.map +0 -1
  694. package/_types/clients/decorators/bundler.d.ts +0 -175
  695. package/_types/clients/decorators/bundler.d.ts.map +0 -1
  696. package/_types/clients/decorators/pimlico.d.ts +0 -142
  697. package/_types/clients/decorators/pimlico.d.ts.map +0 -1
  698. package/_types/clients/decorators/smartAccount.d.ts +0 -330
  699. package/_types/clients/decorators/smartAccount.d.ts.map +0 -1
  700. package/_types/clients/decorators/stackup.d.ts +0 -55
  701. package/_types/clients/decorators/stackup.d.ts.map +0 -1
  702. package/_types/clients/pimlico.d.ts +0 -52
  703. package/_types/clients/pimlico.d.ts.map +0 -1
  704. package/_types/clients/stackup.d.ts +0 -29
  705. package/_types/clients/stackup.d.ts.map +0 -1
  706. package/_types/errors/account.d.ts +0 -121
  707. package/_types/errors/account.d.ts.map +0 -1
  708. package/_types/errors/bundler.d.ts +0 -24
  709. package/_types/errors/bundler.d.ts.map +0 -1
  710. package/_types/errors/estimateUserOperationGas.d.ts +0 -14
  711. package/_types/errors/estimateUserOperationGas.d.ts.map +0 -1
  712. package/_types/errors/gas.d.ts +0 -47
  713. package/_types/errors/gas.d.ts.map +0 -1
  714. package/_types/errors/index.d.ts +0 -8
  715. package/_types/errors/index.d.ts.map +0 -1
  716. package/_types/errors/paymaster.d.ts +0 -85
  717. package/_types/errors/paymaster.d.ts.map +0 -1
  718. package/_types/errors/sendUserOperation.d.ts +0 -14
  719. package/_types/errors/sendUserOperation.d.ts.map +0 -1
  720. package/_types/errors/utils.d.ts +0 -5
  721. package/_types/errors/utils.d.ts.map +0 -1
  722. package/_types/experimental/eip7677/actions/getPaymasterData.d.ts +0 -51
  723. package/_types/experimental/eip7677/actions/getPaymasterData.d.ts.map +0 -1
  724. package/_types/experimental/eip7677/actions/getPaymasterStubData.d.ts +0 -63
  725. package/_types/experimental/eip7677/actions/getPaymasterStubData.d.ts.map +0 -1
  726. package/_types/experimental/eip7677/clients/decorators/paymasterActionsEip7677.d.ts +0 -11
  727. package/_types/experimental/eip7677/clients/decorators/paymasterActionsEip7677.d.ts.map +0 -1
  728. package/_types/experimental/eip7677/index.d.ts +0 -6
  729. package/_types/experimental/eip7677/index.d.ts.map +0 -1
  730. package/_types/experimental/eip7677/types/paymaster.d.ts +0 -52
  731. package/_types/experimental/eip7677/types/paymaster.d.ts.map +0 -1
  732. package/_types/experimental/index.d.ts +0 -2
  733. package/_types/experimental/index.d.ts.map +0 -1
  734. package/_types/index.d.ts +0 -33
  735. package/_types/index.d.ts.map +0 -1
  736. package/_types/types/bundler.d.ts +0 -110
  737. package/_types/types/bundler.d.ts.map +0 -1
  738. package/_types/types/entrypoint.d.ts +0 -6
  739. package/_types/types/entrypoint.d.ts.map +0 -1
  740. package/_types/types/index.d.ts +0 -27
  741. package/_types/types/index.d.ts.map +0 -1
  742. package/_types/types/pimlico.d.ts +0 -93
  743. package/_types/types/pimlico.d.ts.map +0 -1
  744. package/_types/types/stackup.d.ts +0 -49
  745. package/_types/types/stackup.d.ts.map +0 -1
  746. package/_types/types/userOperation.d.ts +0 -93
  747. package/_types/types/userOperation.d.ts.map +0 -1
  748. package/_types/utils/decodeNonce.d.ts +0 -5
  749. package/_types/utils/decodeNonce.d.ts.map +0 -1
  750. package/_types/utils/deepHexlify.d.ts +0 -6
  751. package/_types/utils/deepHexlify.d.ts.map +0 -1
  752. package/_types/utils/encode7579CallData.d.ts +0 -16
  753. package/_types/utils/encode7579CallData.d.ts.map +0 -1
  754. package/_types/utils/encodeNonce.d.ts +0 -5
  755. package/_types/utils/encodeNonce.d.ts.map +0 -1
  756. package/_types/utils/errors/getBundlerError.d.ts +0 -11
  757. package/_types/utils/errors/getBundlerError.d.ts.map +0 -1
  758. package/_types/utils/errors/getEstimateUserOperationGasError.d.ts +0 -10
  759. package/_types/utils/errors/getEstimateUserOperationGasError.d.ts.map +0 -1
  760. package/_types/utils/errors/getSendUserOperationError.d.ts +0 -5
  761. package/_types/utils/errors/getSendUserOperationError.d.ts.map +0 -1
  762. package/_types/utils/getAddressFromInitCodeOrPaymasterAndData.d.ts +0 -3
  763. package/_types/utils/getAddressFromInitCodeOrPaymasterAndData.d.ts.map +0 -1
  764. package/_types/utils/getEntryPointVersion.d.ts +0 -8
  765. package/_types/utils/getEntryPointVersion.d.ts.map +0 -1
  766. package/_types/utils/getPackedUserOperation.d.ts +0 -39
  767. package/_types/utils/getPackedUserOperation.d.ts.map +0 -1
  768. package/_types/utils/getRequiredPrefund.d.ts +0 -21
  769. package/_types/utils/getRequiredPrefund.d.ts.map +0 -1
  770. package/_types/utils/getUserOperationHash.d.ts +0 -31
  771. package/_types/utils/getUserOperationHash.d.ts.map +0 -1
  772. package/_types/utils/index.d.ts +0 -16
  773. package/_types/utils/index.d.ts.map +0 -1
  774. package/_types/utils/isSmartAccountDeployed.d.ts +0 -3
  775. package/_types/utils/isSmartAccountDeployed.d.ts.map +0 -1
  776. package/_types/utils/observe.d.ts +0 -17
  777. package/_types/utils/observe.d.ts.map +0 -1
  778. package/_types/utils/providerToSmartAccountSigner.d.ts +0 -5
  779. package/_types/utils/providerToSmartAccountSigner.d.ts.map +0 -1
  780. package/_types/utils/signUserOperationHashWithECDSA.d.ts +0 -45
  781. package/_types/utils/signUserOperationHashWithECDSA.d.ts.map +0 -1
  782. package/_types/utils/walletClientToSmartAccountSigner.d.ts +0 -4
  783. package/_types/utils/walletClientToSmartAccountSigner.d.ts.map +0 -1
  784. package/_types/vitest.config.d.ts +0 -3
  785. package/_types/vitest.config.d.ts.map +0 -1
  786. package/accounts/biconomy/privateKeyToBiconomySmartAccount.ts +0 -57
  787. package/accounts/biconomy/signerToBiconomySmartAccount.ts +0 -454
  788. package/accounts/kernel/utils/getExecMode.ts +0 -18
  789. package/accounts/light/privateKeyToLightSmartAccount.ts +0 -51
  790. package/accounts/light/signerToLightSmartAccount.ts +0 -418
  791. package/accounts/safe/privateKeyToSafeSmartAccount.ts +0 -50
  792. package/accounts/simple/privateKeyToSimpleSmartAccount.ts +0 -60
  793. package/accounts/simple/signerToSimpleSmartAccount.ts +0 -374
  794. package/accounts/toSmartAccount.ts +0 -175
  795. package/accounts/trust/privateKeyToTrustSmartAccount.ts +0 -50
  796. package/accounts/trust/signerToTrustSmartAccount.ts +0 -242
  797. package/accounts/trust/utils/getAccountAddress.ts +0 -42
  798. package/accounts/trust/utils/getDummySignature.ts +0 -12
  799. package/accounts/trust/utils/signMessage.ts +0 -13
  800. package/accounts/trust/utils/signTransaction.ts +0 -15
  801. package/accounts/trust/utils/signUserOperation.ts +0 -38
  802. package/accounts/types.ts +0 -83
  803. package/actions/bundler/chainId.test.ts +0 -25
  804. package/actions/bundler/chainId.ts +0 -42
  805. package/actions/bundler/estimateUserOperationGas.test.ts +0 -205
  806. package/actions/bundler/estimateUserOperationGas.ts +0 -146
  807. package/actions/bundler/getUserOperationByHash.test.ts +0 -139
  808. package/actions/bundler/getUserOperationByHash.ts +0 -110
  809. package/actions/bundler/getUserOperationReceipt.test.ts +0 -127
  810. package/actions/bundler/getUserOperationReceipt.ts +0 -127
  811. package/actions/bundler/sendUserOperation.test.ts +0 -126
  812. package/actions/bundler/sendUserOperation.ts +0 -72
  813. package/actions/bundler/supportedEntryPoints.test.ts +0 -27
  814. package/actions/bundler/supportedEntryPoints.ts +0 -40
  815. package/actions/bundler/waitForUserOperationReceipt.test.ts +0 -130
  816. package/actions/bundler/waitForUserOperationReceipt.ts +0 -130
  817. package/actions/index.test.ts +0 -329
  818. package/actions/pimlico.test.ts +0 -222
  819. package/actions/smartAccount/deployContract.test.ts +0 -118
  820. package/actions/smartAccount/deployContract.ts +0 -129
  821. package/actions/smartAccount/prepareUserOperationRequest.test.ts +0 -520
  822. package/actions/smartAccount/prepareUserOperationRequest.ts +0 -472
  823. package/actions/smartAccount/sendTransactions.test.ts +0 -126
  824. package/actions/smartAccount/sendTransactions.ts +0 -169
  825. package/actions/smartAccount/sendUserOperation.test.ts +0 -133
  826. package/actions/smartAccount/sendUserOperation.ts +0 -113
  827. package/actions/smartAccount/writeContract.test.ts +0 -196
  828. package/actions/smartAccount.test.ts +0 -198
  829. package/actions/stackup/accounts.ts +0 -41
  830. package/actions/stackup/sponsorUserOperation.ts +0 -126
  831. package/actions/stackup.ts +0 -17
  832. package/clients/createBundlerClient.test.ts +0 -26
  833. package/clients/createBundlerClient.ts +0 -59
  834. package/clients/createSmartAccountClient.test.ts +0 -55
  835. package/clients/decorators/bundler.ts +0 -253
  836. package/clients/decorators/smartAccount.test.ts +0 -55
  837. package/clients/decorators/stackup.ts +0 -77
  838. package/clients/stackup.ts +0 -63
  839. package/errors/account.ts +0 -345
  840. package/errors/bundler.ts +0 -62
  841. package/errors/estimateUserOperationGas.ts +0 -60
  842. package/errors/gas.ts +0 -120
  843. package/errors/paymaster.ts +0 -257
  844. package/errors/sendUserOperation.ts +0 -43
  845. package/errors/utils.ts +0 -19
  846. package/experimental/eip7677/actions/getPaymasterData.test.ts +0 -137
  847. package/experimental/eip7677/actions/getPaymasterData.ts +0 -157
  848. package/experimental/eip7677/actions/getPaymasterStubData.test.ts +0 -90
  849. package/experimental/eip7677/actions/getPaymasterStubData.ts +0 -173
  850. package/experimental/eip7677/clients/decorators/paymasterActionsEip7677.ts +0 -77
  851. package/experimental/eip7677/index.ts +0 -27
  852. package/experimental/eip7677/types/paymaster.ts +0 -63
  853. package/experimental/index.ts +0 -1
  854. package/types/bundler.ts +0 -131
  855. package/types/entrypoint.ts +0 -13
  856. package/types/index.ts +0 -48
  857. package/types/stackup.ts +0 -63
  858. package/types/userOperation.ts +0 -102
  859. package/utils/errors/getBundlerError.ts +0 -224
  860. package/utils/errors/getEstimateUserOperationGasError.ts +0 -40
  861. package/utils/errors/getSendUserOperationError.ts +0 -26
  862. package/utils/getEntryPointVersion.test.ts +0 -52
  863. package/utils/getEntryPointVersion.ts +0 -31
  864. package/utils/getUserOperationHash.ts +0 -158
  865. package/utils/observe.ts +0 -74
  866. package/utils/signUserOperationHashWithECDSA.ts +0 -134
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # permissionless
2
2
 
3
+ ## 0.1.45
4
+
5
+ ### Patch Changes
6
+
7
+ - b045fb4b20610c72138b85208977be7de9984ec7: Added support for paymentToken, payment and paymentReceiver in Safe smart account
8
+
3
9
  ## 0.1.44
4
10
 
5
11
  ### Patch Changes
@@ -1,59 +1,36 @@
1
- /**
2
- * The exeuctor abi, used to execute transactions on the Biconomy Modular Smart Account
3
- */
4
- export const BiconomyExecuteAbi = [
1
+ export const FactoryAbi = [
5
2
  {
6
3
  inputs: [
7
4
  {
8
5
  internalType: "address",
9
- name: "dest",
6
+ name: "moduleSetupContract",
10
7
  type: "address"
11
8
  },
12
- {
13
- internalType: "uint256",
14
- name: "value",
15
- type: "uint256"
16
- },
17
9
  {
18
10
  internalType: "bytes",
19
- name: "func",
11
+ name: "moduleSetupData",
20
12
  type: "bytes"
21
- }
22
- ],
23
- name: "execute_ncC",
24
- outputs: [],
25
- stateMutability: "nonpayable",
26
- type: "function"
27
- },
28
- {
29
- inputs: [
30
- {
31
- internalType: "address[]",
32
- name: "dest",
33
- type: "address[]"
34
13
  },
35
14
  {
36
- internalType: "uint256[]",
37
- name: "value",
38
- type: "uint256[]"
39
- },
15
+ internalType: "uint256",
16
+ name: "index",
17
+ type: "uint256"
18
+ }
19
+ ],
20
+ name: "deployCounterFactualAccount",
21
+ outputs: [
40
22
  {
41
- internalType: "bytes[]",
42
- name: "func",
43
- type: "bytes[]"
23
+ internalType: "address",
24
+ name: "proxy",
25
+ type: "address"
44
26
  }
45
27
  ],
46
- name: "executeBatch_y6U",
47
- outputs: [],
48
28
  stateMutability: "nonpayable",
49
29
  type: "function"
50
30
  }
51
31
  ] as const
52
32
 
53
- /**
54
- * The init abi, used to initialise Biconomy Modular Smart Account / setup default ECDSA module
55
- */
56
- export const BiconomyInitAbi = [
33
+ export const BiconomyAbi = [
57
34
  {
58
35
  inputs: [
59
36
  {
@@ -101,5 +78,51 @@ export const BiconomyInitAbi = [
101
78
  ],
102
79
  stateMutability: "nonpayable",
103
80
  type: "function"
81
+ },
82
+ {
83
+ inputs: [
84
+ {
85
+ internalType: "address",
86
+ name: "dest",
87
+ type: "address"
88
+ },
89
+ {
90
+ internalType: "uint256",
91
+ name: "value",
92
+ type: "uint256"
93
+ },
94
+ {
95
+ internalType: "bytes",
96
+ name: "func",
97
+ type: "bytes"
98
+ }
99
+ ],
100
+ name: "execute_ncC",
101
+ outputs: [],
102
+ stateMutability: "nonpayable",
103
+ type: "function"
104
+ },
105
+ {
106
+ inputs: [
107
+ {
108
+ internalType: "address[]",
109
+ name: "dest",
110
+ type: "address[]"
111
+ },
112
+ {
113
+ internalType: "uint256[]",
114
+ name: "value",
115
+ type: "uint256[]"
116
+ },
117
+ {
118
+ internalType: "bytes[]",
119
+ name: "func",
120
+ type: "bytes[]"
121
+ }
122
+ ],
123
+ name: "executeBatch_y6U",
124
+ outputs: [],
125
+ stateMutability: "nonpayable",
126
+ type: "function"
104
127
  }
105
- ]
128
+ ] as const
@@ -0,0 +1,256 @@
1
+ import type { Assign, Prettify } from "viem"
2
+ import {
3
+ type Address,
4
+ type Client,
5
+ type Hex,
6
+ type LocalAccount,
7
+ encodeAbiParameters,
8
+ encodeFunctionData,
9
+ parseAbiParameters
10
+ } from "viem"
11
+ import {
12
+ type SmartAccount,
13
+ type SmartAccountImplementation,
14
+ entryPoint06Abi,
15
+ entryPoint06Address,
16
+ getUserOperationHash,
17
+ toSmartAccount
18
+ } from "viem/account-abstraction"
19
+ import { signMessage } from "viem/actions"
20
+ import { getAccountNonce } from "../../actions/public/getAccountNonce"
21
+ import { getSenderAddress } from "../../actions/public/getSenderAddress"
22
+ import { BiconomyAbi, FactoryAbi } from "./abi/BiconomySmartAccountAbi"
23
+
24
+ /**
25
+ * The account creation ABI for Biconomy Smart Account (from the biconomy SmartAccountFactory)
26
+ */
27
+
28
+ /**
29
+ * Default addresses for Biconomy Smart Account
30
+ */
31
+ const BICONOMY_ADDRESSES: {
32
+ ECDSA_OWNERSHIP_REGISTRY_MODULE: Address
33
+ FACTORY_ADDRESS: Address
34
+ } = {
35
+ ECDSA_OWNERSHIP_REGISTRY_MODULE:
36
+ "0x0000001c5b32F37F5beA87BDD5374eB2aC54eA8e",
37
+ FACTORY_ADDRESS: "0x000000a56Aaca3e9a4C479ea6b6CD0DbcB6634F5"
38
+ }
39
+
40
+ /**
41
+ * Get the account initialization code for Biconomy smart account with ECDSA as default authorization module
42
+ * @param owner
43
+ * @param index
44
+ * @param factoryAddress
45
+ * @param ecdsaValidatorAddress
46
+ */
47
+ const getAccountInitCode = async ({
48
+ owner,
49
+ index,
50
+ ecdsaModuleAddress
51
+ }: {
52
+ owner: Address
53
+ index: bigint
54
+ ecdsaModuleAddress: Address
55
+ }): Promise<Hex> => {
56
+ if (!owner) throw new Error("Owner account not found")
57
+
58
+ // Build the module setup data
59
+ const ecdsaOwnershipInitData = encodeFunctionData({
60
+ abi: BiconomyAbi,
61
+ functionName: "initForSmartAccount",
62
+ args: [owner]
63
+ })
64
+
65
+ // Build the account init code
66
+ return encodeFunctionData({
67
+ abi: FactoryAbi,
68
+ functionName: "deployCounterFactualAccount",
69
+ args: [ecdsaModuleAddress, ecdsaOwnershipInitData, index]
70
+ })
71
+ }
72
+
73
+ export type ToBiconomySmartAccountParameters = Prettify<{
74
+ client: Client
75
+ owner: LocalAccount
76
+ address?: Address | undefined
77
+ entryPoint?: {
78
+ address: Address
79
+ version: "0.6"
80
+ }
81
+ nonceKey?: bigint
82
+ index?: bigint
83
+ factoryAddress?: Address
84
+ ecdsaModuleAddress?: Address
85
+ }>
86
+
87
+ export type BiconomySmartAccountImplementation = Assign<
88
+ SmartAccountImplementation<typeof entryPoint06Abi, "0.6">,
89
+ { sign: NonNullable<SmartAccountImplementation["sign"]> }
90
+ >
91
+
92
+ export type ToBiconomySmartAccountReturnType = Prettify<
93
+ SmartAccount<BiconomySmartAccountImplementation>
94
+ >
95
+
96
+ /**
97
+ * Build a Biconomy modular smart account from a private key, that use the ECDSA signer behind the scene
98
+ * @param client
99
+ * @param privateKey
100
+ * @param entryPoint
101
+ * @param index
102
+ * @param factoryAddress
103
+ * @param ecdsaModuleAddress
104
+ */
105
+
106
+ export async function toBiconomySmartAccount(
107
+ parameters: ToBiconomySmartAccountParameters
108
+ ): Promise<ToBiconomySmartAccountReturnType> {
109
+ const { owner, client, index = 0n, address } = parameters
110
+
111
+ const entryPoint = {
112
+ address: parameters.entryPoint?.address ?? entryPoint06Address,
113
+ abi: entryPoint06Abi,
114
+ version: parameters.entryPoint?.version ?? "0.6"
115
+ }
116
+
117
+ const factoryAddress =
118
+ parameters.factoryAddress ?? BICONOMY_ADDRESSES.FACTORY_ADDRESS
119
+
120
+ let accountAddress: Address | undefined = address
121
+
122
+ const ecdsaModuleAddress =
123
+ parameters.ecdsaModuleAddress ??
124
+ BICONOMY_ADDRESSES.ECDSA_OWNERSHIP_REGISTRY_MODULE
125
+
126
+ const getFactoryArgs = async () => {
127
+ return {
128
+ factory: factoryAddress,
129
+ factoryData: await getAccountInitCode({
130
+ owner: owner.address,
131
+ index,
132
+ ecdsaModuleAddress
133
+ })
134
+ }
135
+ }
136
+
137
+ return toSmartAccount({
138
+ client,
139
+ entryPoint,
140
+ getFactoryArgs,
141
+ async getAddress() {
142
+ if (accountAddress) return accountAddress
143
+
144
+ const { factory, factoryData } = await getFactoryArgs()
145
+
146
+ // Get the sender address based on the init code
147
+ accountAddress = await getSenderAddress(client, {
148
+ factory,
149
+ factoryData,
150
+ entryPointAddress: entryPoint.address
151
+ })
152
+
153
+ return accountAddress
154
+ },
155
+ async getNonce(args) {
156
+ const address = await this.getAddress()
157
+ return getAccountNonce(client, {
158
+ address,
159
+ entryPointAddress: entryPoint.address,
160
+ key: args?.key ?? parameters?.nonceKey
161
+ })
162
+ },
163
+ encodeCalls: async (calls) => {
164
+ if (calls.length > 1) {
165
+ // Encode a batched call
166
+ return encodeFunctionData({
167
+ abi: BiconomyAbi,
168
+ functionName: "executeBatch_y6U",
169
+ args: [
170
+ calls.map((a) => a.to),
171
+ calls.map((a) => a.value ?? 0n),
172
+ calls.map((a) => a.data ?? "0x")
173
+ ]
174
+ })
175
+ }
176
+ const { to, value, data } = calls[0]
177
+ // Encode a simple call
178
+ return encodeFunctionData({
179
+ abi: BiconomyAbi,
180
+ functionName: "execute_ncC",
181
+ args: [to, value ?? 0n, data ?? "0x"]
182
+ })
183
+ },
184
+ // Get simple dummy signature for ECDSA module authorization
185
+ async getStubSignature() {
186
+ const dynamicPart = ecdsaModuleAddress.substring(2).padEnd(40, "0")
187
+ return `0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000${dynamicPart}000000000000000000000000000000000000000000000000000000000000004181d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b00000000000000000000000000000000000000000000000000000000000000`
188
+ },
189
+ async sign({ hash }) {
190
+ return this.signMessage({ message: hash })
191
+ },
192
+ async signMessage({ message }) {
193
+ let signature = await owner.signMessage({
194
+ message
195
+ })
196
+
197
+ const potentiallyIncorrectV = Number.parseInt(
198
+ signature.slice(-2),
199
+ 16
200
+ )
201
+ if (![27, 28].includes(potentiallyIncorrectV)) {
202
+ const correctV = potentiallyIncorrectV + 27
203
+ signature = (signature.slice(0, -2) +
204
+ correctV.toString(16)) as Hex
205
+ }
206
+ return encodeAbiParameters(
207
+ [{ type: "bytes" }, { type: "address" }],
208
+ [signature, ecdsaModuleAddress]
209
+ )
210
+ },
211
+ async signTypedData(typedData) {
212
+ let signature = await owner.signTypedData(typedData)
213
+
214
+ const potentiallyIncorrectV = Number.parseInt(
215
+ signature.slice(-2),
216
+ 16
217
+ )
218
+ if (![27, 28].includes(potentiallyIncorrectV)) {
219
+ const correctV = potentiallyIncorrectV + 27
220
+ signature = (signature.slice(0, -2) +
221
+ correctV.toString(16)) as Hex
222
+ }
223
+ return encodeAbiParameters(
224
+ [{ type: "bytes" }, { type: "address" }],
225
+ [signature, ecdsaModuleAddress]
226
+ )
227
+ },
228
+ // Sign a user operation
229
+ async signUserOperation(parameters) {
230
+ const { chainId = client.chain?.id, ...userOperation } = parameters
231
+
232
+ if (!chainId) throw new Error("Chain id not found")
233
+
234
+ const hash = getUserOperationHash({
235
+ userOperation: {
236
+ ...userOperation,
237
+ sender: userOperation.sender ?? (await this.getAddress()),
238
+ signature: "0x"
239
+ },
240
+ entryPointAddress: entryPoint.address,
241
+ entryPointVersion: entryPoint.version,
242
+ chainId: chainId
243
+ })
244
+ const signature = await signMessage(client, {
245
+ account: owner,
246
+ message: { raw: hash }
247
+ })
248
+ // userOp signature is encoded module signature + module address
249
+ const signatureWithModuleAddress = encodeAbiParameters(
250
+ parseAbiParameters("bytes, address"),
251
+ [signature, ecdsaModuleAddress]
252
+ )
253
+ return signatureWithModuleAddress
254
+ }
255
+ })
256
+ }
package/accounts/index.ts CHANGED
@@ -1,105 +1,74 @@
1
1
  import {
2
- type PrivateKeyToSimpleSmartAccountParameters,
3
- privateKeyToSimpleSmartAccount
4
- } from "./simple/privateKeyToSimpleSmartAccount"
2
+ type SimpleSmartAccountImplementation,
3
+ type ToSimpleSmartAccountParameters,
4
+ type ToSimpleSmartAccountReturnType,
5
+ toSimpleSmartAccount
6
+ } from "./simple/toSimpleSmartAccount"
5
7
 
6
8
  import {
7
- type SignerToSimpleSmartAccountParameters,
8
- type SimpleSmartAccount,
9
- signerToSimpleSmartAccount
10
- } from "./simple/signerToSimpleSmartAccount"
9
+ type LightAccountVersion,
10
+ type LightSmartAccountImplementation,
11
+ type ToLightSmartAccountParameters,
12
+ type ToLightSmartAccountReturnType,
13
+ toLightSmartAccount
14
+ } from "./light/toLightSmartAccount"
11
15
 
12
16
  import {
13
- type PrivateKeyToLightSmartAccountParameters,
14
- privateKeyToLightSmartAccount
15
- } from "./light/privateKeyToLightSmartAccount"
17
+ type ToTrustSmartAccountParameters,
18
+ type ToTrustSmartAccountReturnType,
19
+ type TrustSmartAccountImplementation,
20
+ toTrustSmartAccount
21
+ } from "./trust/toTrustSmartAccount"
16
22
 
17
23
  import {
18
- type LightSmartAccount,
19
- type SignerToLightSmartAccountParameters,
20
- signerToLightSmartAccount
21
- } from "./light/signerToLightSmartAccount"
22
-
23
- import {
24
- type SignerToTrustSmartAccountParameters,
25
- type TrustSmartAccount,
26
- signerToTrustSmartAccount
27
- } from "./trust/signerToTrustSmartAccount"
28
-
29
- import {
30
- type PrivateKeyToTrustSmartAccountParameters,
31
- privateKeyToTrustSmartAccount
32
- } from "./trust/privateKeyToTrustSmartAccount"
33
-
34
- import {
35
- type PrivateKeyToSafeSmartAccountParameters,
36
- privateKeyToSafeSmartAccount
37
- } from "./safe/privateKeyToSafeSmartAccount"
38
-
39
- import {
40
- type SafeSmartAccount,
24
+ type SafeSmartAccountImplementation,
41
25
  type SafeVersion,
42
- type SignerToSafeSmartAccountParameters,
43
- signerToSafeSmartAccount
44
- } from "./safe/signerToSafeSmartAccount"
45
-
46
- import {
47
- type KernelEcdsaSmartAccount,
48
- type SignerToEcdsaKernelSmartAccountParameters,
49
- signerToEcdsaKernelSmartAccount
50
- } from "./kernel/signerToEcdsaKernelSmartAccount"
26
+ type ToSafeSmartAccountParameters,
27
+ type ToSafeSmartAccountReturnType,
28
+ toSafeSmartAccount
29
+ } from "./safe/toSafeSmartAccount"
51
30
 
52
31
  import {
53
- type BiconomySmartAccount,
54
- type SignerToBiconomySmartAccountParameters,
55
- signerToBiconomySmartAccount
56
- } from "./biconomy/signerToBiconomySmartAccount"
32
+ type EcdsaKernelSmartAccountImplementation,
33
+ type KernelVersion,
34
+ type ToEcdsaKernelSmartAccountParameters,
35
+ type ToEcdsaKernelSmartAccountReturnType,
36
+ toEcdsaKernelSmartAccount
37
+ } from "./kernel/toEcdsaKernelSmartAccount"
57
38
 
58
39
  import {
59
- type PrivateKeyToBiconomySmartAccountParameters,
60
- privateKeyToBiconomySmartAccount
61
- } from "./biconomy/privateKeyToBiconomySmartAccount"
62
-
63
- import {
64
- SignTransactionNotSupportedBySmartAccount,
65
- type SmartAccount,
66
- type SmartAccountSigner
67
- } from "./types"
68
-
69
- import { toSmartAccount } from "./toSmartAccount"
40
+ type BiconomySmartAccountImplementation,
41
+ type ToBiconomySmartAccountParameters,
42
+ type ToBiconomySmartAccountReturnType,
43
+ toBiconomySmartAccount
44
+ } from "./biconomy/toBiconomySmartAccount"
70
45
 
71
46
  export {
47
+ type ToSimpleSmartAccountParameters,
48
+ type SimpleSmartAccountImplementation,
49
+ type ToSimpleSmartAccountReturnType,
50
+ toSimpleSmartAccount,
51
+ type LightAccountVersion,
52
+ type ToLightSmartAccountParameters,
53
+ type LightSmartAccountImplementation,
54
+ type ToLightSmartAccountReturnType,
55
+ toLightSmartAccount,
56
+ type ToTrustSmartAccountParameters,
57
+ type TrustSmartAccountImplementation,
58
+ type ToTrustSmartAccountReturnType,
59
+ toTrustSmartAccount,
60
+ type ToSafeSmartAccountParameters,
61
+ type SafeSmartAccountImplementation,
62
+ type ToSafeSmartAccountReturnType,
63
+ toSafeSmartAccount,
64
+ type ToEcdsaKernelSmartAccountParameters,
65
+ type EcdsaKernelSmartAccountImplementation,
66
+ type ToEcdsaKernelSmartAccountReturnType,
72
67
  type SafeVersion,
73
- type SmartAccountSigner,
74
- type SafeSmartAccount,
75
- signerToSafeSmartAccount,
76
- type SimpleSmartAccount,
77
- signerToSimpleSmartAccount,
78
- type LightSmartAccount,
79
- signerToLightSmartAccount,
80
- type TrustSmartAccount,
81
- signerToTrustSmartAccount,
82
- privateKeyToTrustSmartAccount,
83
- SignTransactionNotSupportedBySmartAccount,
84
- privateKeyToBiconomySmartAccount,
85
- privateKeyToSimpleSmartAccount,
86
- privateKeyToLightSmartAccount,
87
- type SmartAccount,
88
- privateKeyToSafeSmartAccount,
89
- type KernelEcdsaSmartAccount,
90
- signerToEcdsaKernelSmartAccount,
91
- type BiconomySmartAccount,
92
- signerToBiconomySmartAccount,
93
- toSmartAccount,
94
- type SignerToSimpleSmartAccountParameters,
95
- type SignerToLightSmartAccountParameters,
96
- type SignerToSafeSmartAccountParameters,
97
- type PrivateKeyToSimpleSmartAccountParameters,
98
- type PrivateKeyToLightSmartAccountParameters,
99
- type PrivateKeyToSafeSmartAccountParameters,
100
- type SignerToEcdsaKernelSmartAccountParameters,
101
- type SignerToBiconomySmartAccountParameters,
102
- type PrivateKeyToBiconomySmartAccountParameters,
103
- type SignerToTrustSmartAccountParameters,
104
- type PrivateKeyToTrustSmartAccountParameters
68
+ type KernelVersion,
69
+ toEcdsaKernelSmartAccount,
70
+ type ToBiconomySmartAccountReturnType,
71
+ type ToBiconomySmartAccountParameters,
72
+ type BiconomySmartAccountImplementation,
73
+ toBiconomySmartAccount
105
74
  }