permissionless 0.3.5 → 0.3.7

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 (286) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/_cjs/accounts/biconomy/index.js +8 -0
  3. package/_cjs/accounts/biconomy/index.js.map +1 -0
  4. package/_cjs/accounts/biconomy/toBiconomySmartAccount.js +9 -5
  5. package/_cjs/accounts/biconomy/toBiconomySmartAccount.js.map +1 -1
  6. package/_cjs/accounts/etherspot/index.js +8 -0
  7. package/_cjs/accounts/etherspot/index.js.map +1 -0
  8. package/_cjs/accounts/kernel/index.js +18 -0
  9. package/_cjs/accounts/kernel/index.js.map +1 -0
  10. package/_cjs/accounts/kernel/toKernelSmartAccount.js +10 -6
  11. package/_cjs/accounts/kernel/toKernelSmartAccount.js.map +1 -1
  12. package/_cjs/accounts/kernel/utils/signMessage.js +9 -7
  13. package/_cjs/accounts/kernel/utils/signMessage.js.map +1 -1
  14. package/_cjs/accounts/kernel/utils/signTypedData.js +7 -6
  15. package/_cjs/accounts/kernel/utils/signTypedData.js.map +1 -1
  16. package/_cjs/accounts/kernel/utils/wrapMessageHash.js +3 -3
  17. package/_cjs/accounts/kernel/utils/wrapMessageHash.js.map +1 -1
  18. package/_cjs/accounts/light/index.js +8 -0
  19. package/_cjs/accounts/light/index.js.map +1 -0
  20. package/_cjs/accounts/light/toLightSmartAccount.js +9 -5
  21. package/_cjs/accounts/light/toLightSmartAccount.js.map +1 -1
  22. package/_cjs/accounts/nexus/index.js +8 -0
  23. package/_cjs/accounts/nexus/index.js.map +1 -0
  24. package/_cjs/accounts/safe/signUserOperation.js +3 -0
  25. package/_cjs/accounts/safe/signUserOperation.js.map +1 -1
  26. package/_cjs/accounts/safe/toSafeSmartAccount.js +4 -3
  27. package/_cjs/accounts/safe/toSafeSmartAccount.js.map +1 -1
  28. package/_cjs/accounts/simple/index.js +10 -0
  29. package/_cjs/accounts/simple/index.js.map +1 -0
  30. package/_cjs/accounts/simple/toSimpleSmartAccount.js +15 -10
  31. package/_cjs/accounts/simple/toSimpleSmartAccount.js.map +1 -1
  32. package/_cjs/accounts/thirdweb/index.js +8 -0
  33. package/_cjs/accounts/thirdweb/index.js.map +1 -0
  34. package/_cjs/accounts/thirdweb/utils/decodeCallData.js +7 -5
  35. package/_cjs/accounts/thirdweb/utils/decodeCallData.js.map +1 -1
  36. package/_cjs/accounts/trust/index.js +8 -0
  37. package/_cjs/accounts/trust/index.js.map +1 -0
  38. package/_cjs/accounts/trust/utils/decodeCallData.js +7 -5
  39. package/_cjs/accounts/trust/utils/decodeCallData.js.map +1 -1
  40. package/_cjs/actions/{erc7579.js → erc7579/index.js} +9 -9
  41. package/_cjs/actions/erc7579/index.js.map +1 -0
  42. package/_cjs/actions/{etherspot.js → etherspot/index.js} +2 -2
  43. package/_cjs/actions/etherspot/index.js.map +1 -0
  44. package/_cjs/actions/{passkeyServer.js → passkeyServer/index.js} +4 -4
  45. package/_cjs/actions/passkeyServer/index.js.map +1 -0
  46. package/_cjs/actions/pimlico/estimateErc20PaymasterCost.js +7 -3
  47. package/_cjs/actions/pimlico/estimateErc20PaymasterCost.js.map +1 -1
  48. package/_cjs/actions/{pimlico.js → pimlico/index.js} +8 -8
  49. package/_cjs/actions/pimlico/index.js.map +1 -0
  50. package/_cjs/actions/{smartAccount.js → smartAccount/index.js} +5 -5
  51. package/_cjs/actions/smartAccount/index.js.map +1 -0
  52. package/_cjs/clients/createSmartAccountClient.js.map +1 -1
  53. package/_cjs/clients/decorators/pimlico.js +4 -4
  54. package/_cjs/clients/decorators/pimlico.js.map +1 -1
  55. package/_cjs/clients/{passkeyServer.js → passkeyServer/index.js} +2 -2
  56. package/_cjs/clients/passkeyServer/index.js.map +1 -0
  57. package/_cjs/clients/{pimlico.js → pimlico/index.js} +2 -2
  58. package/_cjs/clients/pimlico/index.js.map +1 -0
  59. package/_cjs/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js +6 -5
  60. package/_cjs/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js.map +1 -1
  61. package/_esm/accounts/biconomy/index.js +5 -0
  62. package/_esm/accounts/biconomy/index.js.map +1 -0
  63. package/_esm/accounts/biconomy/toBiconomySmartAccount.js +9 -5
  64. package/_esm/accounts/biconomy/toBiconomySmartAccount.js.map +1 -1
  65. package/_esm/accounts/etherspot/index.js +5 -0
  66. package/_esm/accounts/etherspot/index.js.map +1 -0
  67. package/_esm/accounts/kernel/index.js +15 -0
  68. package/_esm/accounts/kernel/index.js.map +1 -0
  69. package/_esm/accounts/kernel/toKernelSmartAccount.js +10 -6
  70. package/_esm/accounts/kernel/toKernelSmartAccount.js.map +1 -1
  71. package/_esm/accounts/kernel/utils/signMessage.js +9 -7
  72. package/_esm/accounts/kernel/utils/signMessage.js.map +1 -1
  73. package/_esm/accounts/kernel/utils/signTypedData.js +7 -6
  74. package/_esm/accounts/kernel/utils/signTypedData.js.map +1 -1
  75. package/_esm/accounts/kernel/utils/wrapMessageHash.js +3 -3
  76. package/_esm/accounts/kernel/utils/wrapMessageHash.js.map +1 -1
  77. package/_esm/accounts/light/index.js +5 -0
  78. package/_esm/accounts/light/index.js.map +1 -0
  79. package/_esm/accounts/light/toLightSmartAccount.js +9 -5
  80. package/_esm/accounts/light/toLightSmartAccount.js.map +1 -1
  81. package/_esm/accounts/nexus/index.js +5 -0
  82. package/_esm/accounts/nexus/index.js.map +1 -0
  83. package/_esm/accounts/safe/signUserOperation.js +3 -0
  84. package/_esm/accounts/safe/signUserOperation.js.map +1 -1
  85. package/_esm/accounts/safe/toSafeSmartAccount.js +4 -3
  86. package/_esm/accounts/safe/toSafeSmartAccount.js.map +1 -1
  87. package/_esm/accounts/simple/index.js +7 -0
  88. package/_esm/accounts/simple/index.js.map +1 -0
  89. package/_esm/accounts/simple/toSimpleSmartAccount.js +15 -10
  90. package/_esm/accounts/simple/toSimpleSmartAccount.js.map +1 -1
  91. package/_esm/accounts/thirdweb/index.js +5 -0
  92. package/_esm/accounts/thirdweb/index.js.map +1 -0
  93. package/_esm/accounts/thirdweb/utils/decodeCallData.js +7 -5
  94. package/_esm/accounts/thirdweb/utils/decodeCallData.js.map +1 -1
  95. package/_esm/accounts/trust/index.js +5 -0
  96. package/_esm/accounts/trust/index.js.map +1 -0
  97. package/_esm/accounts/trust/utils/decodeCallData.js +7 -5
  98. package/_esm/accounts/trust/utils/decodeCallData.js.map +1 -1
  99. package/_esm/actions/{erc7579.js → erc7579/index.js} +9 -9
  100. package/_esm/actions/erc7579/index.js.map +1 -0
  101. package/_esm/actions/etherspot/index.js +2 -0
  102. package/_esm/actions/etherspot/index.js.map +1 -0
  103. package/_esm/actions/passkeyServer/index.js +4 -0
  104. package/_esm/actions/passkeyServer/index.js.map +1 -0
  105. package/_esm/actions/pimlico/estimateErc20PaymasterCost.js +7 -3
  106. package/_esm/actions/pimlico/estimateErc20PaymasterCost.js.map +1 -1
  107. package/_esm/actions/pimlico/index.js +8 -0
  108. package/_esm/actions/pimlico/index.js.map +1 -0
  109. package/_esm/actions/smartAccount/index.js +5 -0
  110. package/_esm/actions/smartAccount/index.js.map +1 -0
  111. package/_esm/clients/createSmartAccountClient.js.map +1 -1
  112. package/_esm/clients/decorators/pimlico.js +1 -1
  113. package/_esm/clients/decorators/pimlico.js.map +1 -1
  114. package/_esm/clients/{passkeyServer.js → passkeyServer/index.js} +2 -2
  115. package/_esm/clients/passkeyServer/index.js.map +1 -0
  116. package/_esm/clients/{pimlico.js → pimlico/index.js} +2 -2
  117. package/_esm/clients/pimlico/index.js.map +1 -0
  118. package/_esm/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js +5 -4
  119. package/_esm/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js.map +1 -1
  120. package/_types/accounts/biconomy/index.d.ts +6 -0
  121. package/_types/accounts/biconomy/index.d.ts.map +1 -0
  122. package/_types/accounts/biconomy/toBiconomySmartAccount.d.ts.map +1 -1
  123. package/_types/accounts/etherspot/index.d.ts +6 -0
  124. package/_types/accounts/etherspot/index.d.ts.map +1 -0
  125. package/_types/accounts/kernel/index.d.ts +22 -0
  126. package/_types/accounts/kernel/index.d.ts.map +1 -0
  127. package/_types/accounts/kernel/toKernelSmartAccount.d.ts.map +1 -1
  128. package/_types/accounts/kernel/utils/signMessage.d.ts +4 -5
  129. package/_types/accounts/kernel/utils/signMessage.d.ts.map +1 -1
  130. package/_types/accounts/kernel/utils/signTypedData.d.ts +4 -4
  131. package/_types/accounts/kernel/utils/signTypedData.d.ts.map +1 -1
  132. package/_types/accounts/kernel/utils/wrapMessageHash.d.ts +8 -3
  133. package/_types/accounts/kernel/utils/wrapMessageHash.d.ts.map +1 -1
  134. package/_types/accounts/light/index.d.ts +6 -0
  135. package/_types/accounts/light/index.d.ts.map +1 -0
  136. package/_types/accounts/light/toLightSmartAccount.d.ts.map +1 -1
  137. package/_types/accounts/nexus/index.d.ts +6 -0
  138. package/_types/accounts/nexus/index.d.ts.map +1 -0
  139. package/_types/accounts/safe/signUserOperation.d.ts.map +1 -1
  140. package/_types/accounts/safe/toSafeSmartAccount.d.ts.map +1 -1
  141. package/_types/accounts/simple/index.d.ts +9 -0
  142. package/_types/accounts/simple/index.d.ts.map +1 -0
  143. package/_types/accounts/simple/toSimpleSmartAccount.d.ts.map +1 -1
  144. package/_types/accounts/thirdweb/index.d.ts +6 -0
  145. package/_types/accounts/thirdweb/index.d.ts.map +1 -0
  146. package/_types/accounts/thirdweb/utils/decodeCallData.d.ts.map +1 -1
  147. package/_types/accounts/trust/index.d.ts +6 -0
  148. package/_types/accounts/trust/index.d.ts.map +1 -0
  149. package/_types/accounts/trust/utils/decodeCallData.d.ts.map +1 -1
  150. package/_types/actions/{erc7579.d.ts → erc7579/index.d.ts} +11 -11
  151. package/_types/actions/erc7579/index.d.ts.map +1 -0
  152. package/_types/actions/etherspot/index.d.ts +2 -0
  153. package/_types/actions/etherspot/index.d.ts.map +1 -0
  154. package/_types/actions/passkeyServer/index.d.ts +4 -0
  155. package/_types/actions/passkeyServer/index.d.ts.map +1 -0
  156. package/_types/actions/pimlico/estimateErc20PaymasterCost.d.ts.map +1 -1
  157. package/_types/actions/pimlico/index.d.ts +8 -0
  158. package/_types/actions/pimlico/index.d.ts.map +1 -0
  159. package/_types/actions/smartAccount/index.d.ts +5 -0
  160. package/_types/actions/smartAccount/index.d.ts.map +1 -0
  161. package/_types/clients/createSmartAccountClient.d.ts +9 -1
  162. package/_types/clients/createSmartAccountClient.d.ts.map +1 -1
  163. package/_types/clients/decorators/pimlico.d.ts +1 -1
  164. package/_types/clients/decorators/pimlico.d.ts.map +1 -1
  165. package/_types/clients/{passkeyServer.d.ts → passkeyServer/index.d.ts} +8 -4
  166. package/_types/clients/passkeyServer/index.d.ts.map +1 -0
  167. package/_types/clients/pimlico/index.d.ts +21 -0
  168. package/_types/clients/pimlico/index.d.ts.map +1 -0
  169. package/_types/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.d.ts.map +1 -1
  170. package/accounts/biconomy/index.ts +11 -0
  171. package/accounts/biconomy/package.json +6 -0
  172. package/accounts/biconomy/toBiconomySmartAccount.ts +13 -5
  173. package/accounts/etherspot/index.ts +11 -0
  174. package/accounts/etherspot/package.json +6 -0
  175. package/accounts/kernel/index.ts +33 -0
  176. package/accounts/kernel/package.json +6 -0
  177. package/accounts/kernel/toKernelSmartAccount.ts +13 -6
  178. package/accounts/kernel/utils/signMessage.ts +19 -15
  179. package/accounts/kernel/utils/signTypedData.ts +14 -11
  180. package/accounts/kernel/utils/wrapMessageHash.ts +11 -8
  181. package/accounts/light/index.ts +12 -0
  182. package/accounts/light/package.json +6 -0
  183. package/accounts/light/toLightSmartAccount.ts +13 -5
  184. package/accounts/nexus/index.ts +11 -0
  185. package/accounts/nexus/package.json +6 -0
  186. package/accounts/package.json +6 -0
  187. package/accounts/safe/package.json +6 -0
  188. package/accounts/safe/signUserOperation.ts +4 -0
  189. package/accounts/safe/toSafeSmartAccount.ts +5 -3
  190. package/accounts/simple/index.ts +18 -0
  191. package/accounts/simple/package.json +6 -0
  192. package/accounts/simple/toSimpleSmartAccount.ts +21 -10
  193. package/accounts/thirdweb/index.ts +11 -0
  194. package/accounts/thirdweb/package.json +6 -0
  195. package/accounts/thirdweb/utils/decodeCallData.ts +9 -5
  196. package/accounts/trust/index.ts +11 -0
  197. package/accounts/trust/package.json +6 -0
  198. package/accounts/trust/utils/decodeCallData.ts +9 -5
  199. package/actions/{erc7579.ts → erc7579/index.ts} +10 -16
  200. package/actions/erc7579/package.json +6 -0
  201. package/actions/{etherspot.ts → etherspot/index.ts} +1 -1
  202. package/actions/etherspot/package.json +6 -0
  203. package/actions/{passkeyServer.ts → passkeyServer/index.ts} +3 -3
  204. package/actions/passkeyServer/package.json +6 -0
  205. package/actions/pimlico/estimateErc20PaymasterCost.ts +9 -3
  206. package/actions/{pimlico.ts → pimlico/index.ts} +7 -7
  207. package/actions/pimlico/package.json +6 -0
  208. package/actions/smartAccount/index.ts +7 -0
  209. package/actions/smartAccount/package.json +6 -0
  210. package/clients/createSmartAccountClient.ts +45 -20
  211. package/clients/decorators/pimlico.ts +10 -10
  212. package/clients/package.json +6 -0
  213. package/clients/{passkeyServer.ts → passkeyServer/index.ts} +15 -13
  214. package/clients/passkeyServer/package.json +6 -0
  215. package/clients/{pimlico.ts → pimlico/index.ts} +50 -23
  216. package/clients/pimlico/package.json +6 -0
  217. package/errors/package.json +6 -0
  218. package/experimental/pimlico/package.json +6 -0
  219. package/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts +6 -4
  220. package/package.json +74 -29
  221. package/utils/package.json +6 -0
  222. package/_cjs/actions/erc7579.js.map +0 -1
  223. package/_cjs/actions/etherspot.js.map +0 -1
  224. package/_cjs/actions/passkeyServer.js.map +0 -1
  225. package/_cjs/actions/pimlico.js.map +0 -1
  226. package/_cjs/actions/smartAccount.js.map +0 -1
  227. package/_cjs/clients/passkeyServer.js.map +0 -1
  228. package/_cjs/clients/pimlico.js.map +0 -1
  229. package/_esm/actions/erc7579.js.map +0 -1
  230. package/_esm/actions/etherspot.js +0 -2
  231. package/_esm/actions/etherspot.js.map +0 -1
  232. package/_esm/actions/passkeyServer.js +0 -4
  233. package/_esm/actions/passkeyServer.js.map +0 -1
  234. package/_esm/actions/pimlico.js +0 -8
  235. package/_esm/actions/pimlico.js.map +0 -1
  236. package/_esm/actions/smartAccount.js +0 -5
  237. package/_esm/actions/smartAccount.js.map +0 -1
  238. package/_esm/clients/passkeyServer.js.map +0 -1
  239. package/_esm/clients/pimlico.js.map +0 -1
  240. package/_types/actions/erc7579.d.ts.map +0 -1
  241. package/_types/actions/etherspot.d.ts +0 -2
  242. package/_types/actions/etherspot.d.ts.map +0 -1
  243. package/_types/actions/passkeyServer.d.ts +0 -4
  244. package/_types/actions/passkeyServer.d.ts.map +0 -1
  245. package/_types/actions/pimlico.d.ts +0 -8
  246. package/_types/actions/pimlico.d.ts.map +0 -1
  247. package/_types/actions/smartAccount.d.ts +0 -5
  248. package/_types/actions/smartAccount.d.ts.map +0 -1
  249. package/_types/clients/passkeyServer.d.ts.map +0 -1
  250. package/_types/clients/pimlico.d.ts +0 -13
  251. package/_types/clients/pimlico.d.ts.map +0 -1
  252. package/accounts/decodeCalls.test.ts +0 -505
  253. package/accounts/safe/signUserOperation.test.ts +0 -275
  254. package/actions/erc7579/accountId.test.ts +0 -39
  255. package/actions/erc7579/installModule.test.ts +0 -216
  256. package/actions/erc7579/installModules.test.ts +0 -237
  257. package/actions/erc7579/isModuleInstalled.test.ts +0 -72
  258. package/actions/erc7579/supportsExecutionMode.test.ts +0 -108
  259. package/actions/erc7579/supportsModule.test.ts +0 -35
  260. package/actions/erc7579/uninstallModule.test.ts +0 -129
  261. package/actions/erc7579/uninstallModules.test.ts +0 -117
  262. package/actions/pimlico/getTokenQuotes.test.ts +0 -90
  263. package/actions/pimlico/getUserOperationGasPrice.test.ts +0 -82
  264. package/actions/pimlico/getUserOperationStatus.test.ts +0 -199
  265. package/actions/pimlico/sponsorUserOperation.test.ts +0 -236
  266. package/actions/pimlico/validateSponsorshipPolicies.test.ts +0 -153
  267. package/actions/public/getAccountNonce.test.ts +0 -96
  268. package/actions/public/getSenderAddress.test.ts +0 -154
  269. package/actions/smartAccount/getCallsStatus.test.ts +0 -255
  270. package/actions/smartAccount/sendCalls.test.ts +0 -571
  271. package/actions/smartAccount/sendTransaction.test.ts +0 -416
  272. package/actions/smartAccount/signMessage.test.ts +0 -219
  273. package/actions/smartAccount/signTypedData.test.ts +0 -228
  274. package/actions/smartAccount.ts +0 -7
  275. package/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.test.ts +0 -523
  276. package/types/package.json +0 -6
  277. package/utils/decodeNonce.test.ts +0 -40
  278. package/utils/deepHexlify.test.ts +0 -57
  279. package/utils/encode7579Calls.test.ts +0 -69
  280. package/utils/encodeNonce.test.ts +0 -38
  281. package/utils/erc20AllowanceOverride.test.ts +0 -59
  282. package/utils/erc20BalanceOverride.test.ts +0 -57
  283. package/utils/getAddressFromInitCodeOrPaymasterAndData.test.ts +0 -31
  284. package/utils/getPackedUserOperation.test.ts +0 -204
  285. package/utils/getRequiredPrefund.test.ts +0 -90
  286. package/vitest.config.ts +0 -31
@@ -1,5 +0,0 @@
1
- export { sendTransaction } from "./smartAccount/sendTransaction.js";
2
- export { signMessage } from "./smartAccount/signMessage.js";
3
- export { signTypedData } from "./smartAccount/signTypedData.js";
4
- export { writeContract } from "./smartAccount/writeContract.js";
5
- //# sourceMappingURL=smartAccount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"smartAccount.js","sourceRoot":"","sources":["../../actions/smartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"passkeyServer.js","sourceRoot":"","sources":["../../clients/passkeyServer.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAEH,oBAAoB,EACvB,MAAM,+BAA+B,CAAA;AA2CtC,MAAM,UAAU,yBAAyB,CACrC,UAAqC,EAClB;IACnB,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,IAAI,GAAG,uBAAuB,EAAE,GAAG,UAAU,CAAA;IAErE,OAAO,YAAY,CAAC;QAChB,GAAG,UAAU;QACb,GAAG;QACH,IAAI;QACJ,IAAI,EAAE,qBAAqB;KAC9B,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAAA,CAClC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../clients/pimlico.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAKH,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EACnB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAuB,cAAc,EAAE,MAAM,yBAAyB,CAAA;AA6E7E,MAAM,UAAU,mBAAmB,CAC/B,UAA+B,EAClB;IACb,MAAM,EACF,GAAG,GAAG,QAAQ,EACd,IAAI,GAAG,wBAAwB,EAC/B,UAAU,EACb,GAAG,UAAU,CAAA;IAEd,OAAO,YAAY,CAAC;QAChB,GAAG,UAAU;QACb,GAAG;QACH,IAAI;QACJ,IAAI,EAAE,eAAe;KACxB,CAAC;SACG,MAAM,CAAC,cAAc,CAAC;SACtB,MAAM,CAAC,gBAAgB,CAAC;SACxB,MAAM,CACH,cAAc,CAAC;QACX,UAAU,EAAE;YACR,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,mBAAmB;YACnD,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,KAAK;SACxC;KACJ,CAAC,CACL,CAAA;AAAA,CACR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"erc7579.d.ts","sourceRoot":"","sources":["../../actions/erc7579.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAC1D,OAAO,KAAK,EACR,wBAAwB,EACxB,YAAY,EACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EACH,KAAK,uBAAuB,EAC5B,aAAa,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACH,KAAK,wBAAwB,EAC7B,cAAc,EACjB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACH,KAAK,2BAA2B,EAChC,iBAAiB,EACpB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACH,KAAK,+BAA+B,EACpC,qBAAqB,EACxB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EACR,QAAQ,EACR,aAAa,EAChB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACH,KAAK,wBAAwB,EAC7B,cAAc,EACjB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EACH,KAAK,yBAAyB,EAC9B,eAAe,EAClB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,KAAK,0BAA0B,EAC/B,gBAAgB,EACnB,MAAM,+BAA+B,CAAA;AAEtC,MAAM,MAAM,cAAc,CAAC,aAAa,SAAS,YAAY,GAAG,SAAS,IAAI;IACzE,SAAS,EAAE,CACP,IAAI,CAAC,EAAE,wBAAwB,CAAC,aAAa,CAAC,KAC7C,OAAO,CAAC,MAAM,CAAC,CAAA;IACpB,aAAa,EAAE,CACX,IAAI,EAAE,uBAAuB,CAAC,aAAa,CAAC,KAC3C,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,cAAc,EAAE,CACZ,IAAI,EAAE,wBAAwB,CAAC,aAAa,CAAC,KAC5C,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,iBAAiB,EAAE,CACf,IAAI,EAAE,2BAA2B,CAAC,aAAa,CAAC,KAC/C,OAAO,CAAC,OAAO,CAAC,CAAA;IACrB,qBAAqB,EAAE,CACnB,IAAI,EAAE,+BAA+B,CAAC,aAAa,CAAC,KACnD,OAAO,CAAC,OAAO,CAAC,CAAA;IACrB,cAAc,EAAE,CACZ,IAAI,EAAE,wBAAwB,CAAC,aAAa,CAAC,KAC5C,OAAO,CAAC,OAAO,CAAC,CAAA;IACrB,eAAe,EAAE,CACb,IAAI,EAAE,yBAAyB,CAAC,aAAa,CAAC,KAC7C,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,gBAAgB,EAAE,CACd,IAAI,EAAE,0BAA0B,CAAC,aAAa,CAAC,KAC9C,OAAO,CAAC,IAAI,CAAC,CAAA;CACrB,CAAA;AAED,YAAY,EACR,uBAAuB,EACvB,2BAA2B,EAC3B,QAAQ,EACR,aAAa,EACb,+BAA+B,EAC/B,UAAU,EACV,wBAAwB,EACxB,yBAAyB,EAC5B,CAAA;AAED,OAAO,EACH,SAAS,EACT,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,gBAAgB,EACnB,CAAA;AAED,wBAAgB,cAAc,KAClB,aAAa,iIAYxB"}
@@ -1,2 +0,0 @@
1
- export { type GetGasPriceResponseReturnType, getUserOperationGasPrice } from "./etherspot/getUserOperationGasPrice.js";
2
- //# sourceMappingURL=etherspot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"etherspot.d.ts","sourceRoot":"","sources":["../../actions/etherspot.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,6BAA6B,EAClC,wBAAwB,EAC3B,MAAM,yCAAyC,CAAA"}
@@ -1,4 +0,0 @@
1
- export { type StartRegistrationParameters, type StartRegistrationReturnType, startRegistration } from "./passkeyServer/startRegistration.js";
2
- export { type VerifyRegistrationParameters, type VerifyRegistrationReturnType, verifyRegistration } from "./passkeyServer/verifyRegistration.js";
3
- export { type GetCredentialsParameters, type GetCredentialsReturnType, getCredentials } from "./passkeyServer/getCredentials.js";
4
- //# sourceMappingURL=passkeyServer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"passkeyServer.d.ts","sourceRoot":"","sources":["../../actions/passkeyServer.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,iBAAiB,EACpB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EACH,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,kBAAkB,EACrB,MAAM,uCAAuC,CAAA;AAE9C,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,cAAc,EACjB,MAAM,mCAAmC,CAAA"}
@@ -1,8 +0,0 @@
1
- export { type GetTokenQuotesParameters, type GetTokenQuotesReturnType, getTokenQuotes } from "./pimlico/getTokenQuotes.js";
2
- export { type GetUserOperationGasPriceReturnType, getUserOperationGasPrice } from "./pimlico/getUserOperationGasPrice.js";
3
- export { type GetUserOperationStatusParameters, type GetUserOperationStatusReturnType, getUserOperationStatus } from "./pimlico/getUserOperationStatus.js";
4
- export { type SendCompressedUserOperationParameters, sendCompressedUserOperation } from "./pimlico/sendCompressedUserOperation.js";
5
- export { type PimlicoSponsorUserOperationParameters, type SponsorUserOperationReturnType, sponsorUserOperation } from "./pimlico/sponsorUserOperation.js";
6
- export { type PimlicoActions, pimlicoActions } from "../clients/decorators/pimlico.js";
7
- export { type ValidateSponsorshipPolicies, type ValidateSponsorshipPoliciesParameters, validateSponsorshipPolicies } from "./pimlico/validateSponsorshipPolicies.js";
8
- //# sourceMappingURL=pimlico.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pimlico.d.ts","sourceRoot":"","sources":["../../actions/pimlico.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,cAAc,EACjB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACH,KAAK,kCAAkC,EACvC,wBAAwB,EAC3B,MAAM,uCAAuC,CAAA;AAE9C,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,sBAAsB,EACzB,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EACH,KAAK,qCAAqC,EAC1C,2BAA2B,EAC9B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,EACnC,oBAAoB,EACvB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACH,KAAK,cAAc,EACnB,cAAc,EACjB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,qCAAqC,EAC1C,2BAA2B,EAC9B,MAAM,0CAA0C,CAAA"}
@@ -1,5 +0,0 @@
1
- export { sendTransaction } from "./smartAccount/sendTransaction.js";
2
- export { signMessage } from "./smartAccount/signMessage.js";
3
- export { signTypedData } from "./smartAccount/signTypedData.js";
4
- export { writeContract } from "./smartAccount/writeContract.js";
5
- //# sourceMappingURL=smartAccount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"smartAccount.d.ts","sourceRoot":"","sources":["../../actions/smartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"passkeyServer.d.ts","sourceRoot":"","sources":["../../clients/passkeyServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,OAAO,EACP,KAAK,EACL,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACZ,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,EACH,KAAK,oBAAoB,EAE5B,MAAM,+BAA+B,CAAA;AAEtC,MAAM,MAAM,mBAAmB,CAC3B,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IACnD,QAAQ,CACR,MAAM,CACF,SAAS,EACT,KAAK,GAAG,SAAS,EACjB,OAAO,GAAG,SAAS,EACnB,SAAS,SAAS,SAAS,GACrB,CAAC,GAAG,sBAAsB,EAAE,GAAG,SAAS,CAAC,GACzC,CAAC,GAAG,sBAAsB,CAAC,EACjC,oBAAoB,CACvB,CACJ,CAAA;AAED,MAAM,MAAM,yBAAyB,CACjC,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IACnD,QAAQ,CACR,IAAI,CACA,YAAY,CACR,SAAS,EACT,KAAK,GAAG,SAAS,EACjB,OAAO,GAAG,SAAS,EACnB,SAAS,CACZ,EACC,SAAS,GACT,WAAW,GACX,OAAO,GACP,KAAK,GACL,MAAM,GACN,iBAAiB,GACjB,WAAW,GACX,WAAW,CAChB,CACJ,CAAA;AAED,wBAAgB,yBAAyB,CACrC,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EAEnD,UAAU,EAAE,yBAAyB,CAAC,SAAS,CAAC,GACjD,mBAAmB,CAAC,SAAS,CAAC,CAAA"}
@@ -1,13 +0,0 @@
1
- import type { Address, BundlerRpcSchema, Chain, Client, ClientConfig, Prettify, RpcSchema, Transport } from "viem";
2
- import { type BundlerActions, type EntryPointVersion, type PaymasterActions, type SmartAccount } from "viem/account-abstraction";
3
- import type { PimlicoRpcSchema } from "../types/pimlico.js";
4
- import { type PimlicoActions } from "./decorators/pimlico.js";
5
- export type PimlicoClient<entryPointVersion extends EntryPointVersion = EntryPointVersion, transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends SmartAccount | undefined = SmartAccount | undefined, client extends Client | undefined = Client | undefined, rpcSchema extends RpcSchema | undefined = undefined> = Prettify<Client<transport, chain extends Chain ? chain : client extends Client<any, infer chain> ? chain : undefined, account, rpcSchema extends RpcSchema ? [...BundlerRpcSchema, ...PimlicoRpcSchema, ...rpcSchema] : [...BundlerRpcSchema, ...PimlicoRpcSchema], BundlerActions<account> & PaymasterActions & PimlicoActions<chain, entryPointVersion>>>;
6
- export type PimlicoClientConfig<entryPointVersion extends EntryPointVersion = EntryPointVersion, transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends SmartAccount | undefined = SmartAccount | undefined, rpcSchema extends RpcSchema | undefined = undefined> = Prettify<Pick<ClientConfig<transport, chain, account, rpcSchema>, "account" | "cacheTime" | "chain" | "key" | "name" | "pollingInterval" | "rpcSchema" | "transport">> & {
7
- entryPoint?: {
8
- address: Address;
9
- version: entryPointVersion;
10
- };
11
- };
12
- export declare function createPimlicoClient<entryPointVersion extends EntryPointVersion = "0.7", transport extends Transport = Transport, chain extends Chain | undefined = undefined, account extends SmartAccount | undefined = SmartAccount | undefined, client extends Client | undefined = undefined, rpcSchema extends RpcSchema | undefined = undefined>(parameters: PimlicoClientConfig<entryPointVersion, transport, chain, account, rpcSchema>): PimlicoClient<entryPointVersion, transport, chain, account, client, rpcSchema>;
13
- //# sourceMappingURL=pimlico.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pimlico.d.ts","sourceRoot":"","sources":["../../clients/pimlico.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,OAAO,EACP,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACZ,MAAM,MAAM,CAAA;AAEb,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAIpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,yBAAyB,CAAA;AAE7E,MAAM,MAAM,aAAa,CACrB,iBAAiB,SAAS,iBAAiB,GAAG,iBAAiB,EAC/D,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,EACnE,MAAM,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,EACtD,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IACnD,QAAQ,CACR,MAAM,CACF,SAAS,EACT,KAAK,SAAS,KAAK,GACb,KAAK,GAEL,MAAM,SAAS,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GACrC,KAAK,GACL,SAAS,EACjB,OAAO,EACP,SAAS,SAAS,SAAS,GACrB,CAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,GAAG,SAAS,CAAC,GACxD,CAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,EAChD,cAAc,CAAC,OAAO,CAAC,GACnB,gBAAgB,GAChB,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAC/C,CACJ,CAAA;AAED,MAAM,MAAM,mBAAmB,CAC3B,iBAAiB,SAAS,iBAAiB,GAAG,iBAAiB,EAC/D,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,EACnE,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IACnD,QAAQ,CACR,IAAI,CACA,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAChD,SAAS,GACT,WAAW,GACX,OAAO,GACP,KAAK,GACL,MAAM,GACN,iBAAiB,GACjB,WAAW,GACX,WAAW,CAChB,CACJ,GAAG;IACA,UAAU,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,EAAE,iBAAiB,CAAA;KAC7B,CAAA;CACJ,CAAA;AAED,wBAAgB,mBAAmB,CAC/B,iBAAiB,SAAS,iBAAiB,GAAG,KAAK,EACnD,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAC3C,OAAO,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,EACnE,MAAM,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAC7C,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EAEnD,UAAU,EAAE,mBAAmB,CAC3B,iBAAiB,EACjB,SAAS,EACT,KAAK,EACL,OAAO,EACP,SAAS,CACZ,GACF,aAAa,CACZ,iBAAiB,EACjB,SAAS,EACT,KAAK,EACL,OAAO,EACP,MAAM,EACN,SAAS,CACZ,CAAA"}
@@ -1,505 +0,0 @@
1
- import {
2
- decodeFunctionData,
3
- encodeFunctionData,
4
- erc20Abi,
5
- zeroAddress
6
- } from "viem"
7
- import { describe, expect } from "vitest"
8
- import { testWithRpc } from "../../permissionless-test/src/testWithRpc"
9
- import { getCoreSmartAccounts } from "../../permissionless-test/src/utils"
10
-
11
- describe.each(getCoreSmartAccounts())(
12
- "decodeCalls $name",
13
- ({ getSmartAccountClient, name, supportsEntryPointV06 }) => {
14
- testWithRpc.skipIf(!supportsEntryPointV06)(
15
- "decodeCalls v0.6 single call with no data",
16
- async ({ rpc }) => {
17
- try {
18
- const smartClient = await getSmartAccountClient({
19
- entryPoint: {
20
- version: "0.6"
21
- },
22
- ...rpc
23
- })
24
-
25
- const callData = await smartClient.account.encodeCalls([
26
- {
27
- to: zeroAddress,
28
- data: "0x",
29
- value: 0n
30
- }
31
- ])
32
-
33
- if (!smartClient.account.decodeCalls) {
34
- throw new Error("decodeCalls is not supported")
35
- }
36
-
37
- const decoded =
38
- await smartClient.account.decodeCalls(callData)
39
-
40
- expect(decoded).toEqual([
41
- { to: zeroAddress, data: "0x", value: 0n }
42
- ])
43
- } catch (e) {
44
- if (
45
- e instanceof Error &&
46
- e.message === "Kernel ERC7579 is not supported for V06"
47
- ) {
48
- return // Expected error for ERC7579 accounts with v0.6
49
- }
50
- throw e
51
- }
52
- }
53
- )
54
-
55
- testWithRpc.skipIf(!supportsEntryPointV06)(
56
- "decodeCalls v0.6 single call with data",
57
- async ({ rpc }) => {
58
- try {
59
- const smartClient = await getSmartAccountClient({
60
- entryPoint: {
61
- version: "0.6"
62
- },
63
- ...rpc
64
- })
65
-
66
- const erc20TransactionData = encodeFunctionData({
67
- abi: erc20Abi,
68
- functionName: "transfer",
69
- args: [zeroAddress, 1000000000000000000n]
70
- })
71
-
72
- const callData = await smartClient.account.encodeCalls([
73
- {
74
- to: zeroAddress,
75
- data: erc20TransactionData,
76
- value: 0n
77
- }
78
- ])
79
-
80
- if (!smartClient.account.decodeCalls) {
81
- throw new Error("decodeCalls is not supported")
82
- }
83
-
84
- const decoded =
85
- await smartClient.account.decodeCalls(callData)
86
-
87
- expect(decoded).toEqual([
88
- {
89
- to: zeroAddress,
90
- data: erc20TransactionData,
91
- value: 0n
92
- }
93
- ])
94
-
95
- const decodeErc20TransactionData = decodeFunctionData({
96
- abi: erc20Abi,
97
- data: erc20TransactionData
98
- })
99
-
100
- expect(decodeErc20TransactionData.args).toEqual([
101
- zeroAddress,
102
- 1000000000000000000n
103
- ])
104
- } catch (e) {
105
- if (
106
- e instanceof Error &&
107
- e.message === "Kernel ERC7579 is not supported for V06"
108
- ) {
109
- return // Expected error for ERC7579 accounts with v0.6
110
- }
111
- throw e
112
- }
113
- }
114
- )
115
-
116
- testWithRpc.skipIf(!supportsEntryPointV06)(
117
- "decodeCalls v0.6 multiple calls",
118
- async ({ rpc }) => {
119
- try {
120
- const smartClient = await getSmartAccountClient({
121
- entryPoint: {
122
- version: "0.6"
123
- },
124
- ...rpc
125
- })
126
-
127
- const erc20TransactionData = encodeFunctionData({
128
- abi: erc20Abi,
129
- functionName: "transfer",
130
- args: [zeroAddress, 1000000000000000000n]
131
- })
132
-
133
- const callData = await smartClient.account.encodeCalls([
134
- {
135
- to: zeroAddress,
136
- data: "0x",
137
- value: 0n
138
- },
139
- {
140
- to: zeroAddress,
141
- data: erc20TransactionData,
142
- value: 10n
143
- }
144
- ])
145
-
146
- if (!smartClient.account.decodeCalls) {
147
- throw new Error("decodeCalls is not supported")
148
- }
149
-
150
- const decoded =
151
- await smartClient.account.decodeCalls(callData)
152
-
153
- expect(decoded).toEqual([
154
- { to: zeroAddress, data: "0x", value: 0n },
155
- {
156
- to: zeroAddress,
157
- data: erc20TransactionData,
158
- value: name === "Simple" ? 0n : 10n
159
- }
160
- ])
161
-
162
- const decodeErc20TransactionData = decodeFunctionData({
163
- abi: erc20Abi,
164
- data: erc20TransactionData
165
- })
166
-
167
- expect(decodeErc20TransactionData.args).toEqual([
168
- zeroAddress,
169
- 1000000000000000000n
170
- ])
171
- } catch (e) {
172
- if (
173
- e instanceof Error &&
174
- e.message === "Kernel ERC7579 is not supported for V06"
175
- ) {
176
- return // Expected error for ERC7579 accounts with v0.6
177
- }
178
- throw e
179
- }
180
- }
181
- )
182
-
183
- testWithRpc(
184
- "decodeCalls v0.7 single call with no data",
185
- async ({ rpc }) => {
186
- try {
187
- const smartClient = await getSmartAccountClient({
188
- entryPoint: {
189
- version: "0.7"
190
- },
191
- ...rpc
192
- })
193
-
194
- const callData = await smartClient.account.encodeCalls([
195
- {
196
- to: zeroAddress,
197
- data: "0x",
198
- value: 0n
199
- }
200
- ])
201
-
202
- if (!smartClient.account.decodeCalls) {
203
- throw new Error("decodeCalls is not supported")
204
- }
205
-
206
- const decoded =
207
- await smartClient.account.decodeCalls(callData)
208
-
209
- expect(decoded).toEqual([
210
- { to: zeroAddress, data: "0x", value: 0n }
211
- ])
212
- } catch (e) {
213
- if (
214
- e instanceof Error &&
215
- e.message === "Kernel ERC7579 is not supported for V06"
216
- ) {
217
- return // Expected error for ERC7579 accounts with v0.6
218
- }
219
- throw e
220
- }
221
- }
222
- )
223
-
224
- testWithRpc(
225
- "decodeCalls v0.7 single call with data",
226
- async ({ rpc }) => {
227
- try {
228
- const smartClient = await getSmartAccountClient({
229
- entryPoint: {
230
- version: "0.7"
231
- },
232
- ...rpc
233
- })
234
-
235
- const erc20TransactionData = encodeFunctionData({
236
- abi: erc20Abi,
237
- functionName: "transfer",
238
- args: [zeroAddress, 1000000000000000000n]
239
- })
240
-
241
- const callData = await smartClient.account.encodeCalls([
242
- {
243
- to: zeroAddress,
244
- data: erc20TransactionData,
245
- value: 0n
246
- }
247
- ])
248
-
249
- if (!smartClient.account.decodeCalls) {
250
- throw new Error("decodeCalls is not supported")
251
- }
252
-
253
- const decoded =
254
- await smartClient.account.decodeCalls(callData)
255
-
256
- expect(decoded).toEqual([
257
- {
258
- to: zeroAddress,
259
- data: erc20TransactionData,
260
- value: 0n
261
- }
262
- ])
263
-
264
- const decodeErc20TransactionData = decodeFunctionData({
265
- abi: erc20Abi,
266
- data: erc20TransactionData
267
- })
268
-
269
- expect(decodeErc20TransactionData.args).toEqual([
270
- zeroAddress,
271
- 1000000000000000000n
272
- ])
273
- } catch (e) {
274
- if (
275
- e instanceof Error &&
276
- e.message === "Kernel ERC7579 is not supported for V06"
277
- ) {
278
- return // Expected error for ERC7579 accounts with v0.6
279
- }
280
- throw e
281
- }
282
- }
283
- )
284
-
285
- testWithRpc("decodeCalls v0.7 multiple calls", async ({ rpc }) => {
286
- try {
287
- const smartClient = await getSmartAccountClient({
288
- entryPoint: {
289
- version: "0.7"
290
- },
291
- ...rpc
292
- })
293
-
294
- const erc20TransactionData = encodeFunctionData({
295
- abi: erc20Abi,
296
- functionName: "transfer",
297
- args: [zeroAddress, 1000000000000000000n]
298
- })
299
-
300
- const callData = await smartClient.account.encodeCalls([
301
- {
302
- to: zeroAddress,
303
- data: "0x",
304
- value: 0n
305
- },
306
- {
307
- to: zeroAddress,
308
- data: erc20TransactionData,
309
- value: 10n
310
- }
311
- ])
312
-
313
- if (!smartClient.account.decodeCalls) {
314
- throw new Error("decodeCalls is not supported")
315
- }
316
-
317
- const decoded = await smartClient.account.decodeCalls(callData)
318
-
319
- expect(decoded).toEqual([
320
- { to: zeroAddress, data: "0x", value: 0n },
321
- { to: zeroAddress, data: erc20TransactionData, value: 10n }
322
- ])
323
-
324
- const decodeErc20TransactionData = decodeFunctionData({
325
- abi: erc20Abi,
326
- data: erc20TransactionData
327
- })
328
-
329
- expect(decodeErc20TransactionData.args).toEqual([
330
- zeroAddress,
331
- 1000000000000000000n
332
- ])
333
- } catch (e) {
334
- if (
335
- e instanceof Error &&
336
- e.message === "Kernel ERC7579 is not supported for V06"
337
- ) {
338
- return // Expected error for ERC7579 accounts with v0.6
339
- }
340
- throw e
341
- }
342
- })
343
-
344
- testWithRpc(
345
- "decodeCalls v0.8 single call with no data",
346
- async ({ rpc }) => {
347
- try {
348
- const smartClient = await getSmartAccountClient({
349
- entryPoint: {
350
- version: "0.8"
351
- },
352
- ...rpc
353
- })
354
-
355
- const callData = await smartClient.account.encodeCalls([
356
- {
357
- to: zeroAddress,
358
- data: "0x",
359
- value: 0n
360
- }
361
- ])
362
-
363
- if (!smartClient.account.decodeCalls) {
364
- throw new Error("decodeCalls is not supported")
365
- }
366
-
367
- const decoded =
368
- await smartClient.account.decodeCalls(callData)
369
-
370
- expect(decoded).toEqual([
371
- { to: zeroAddress, data: "0x", value: 0n }
372
- ])
373
- } catch (e) {
374
- if (
375
- e instanceof Error &&
376
- e.message === "Kernel ERC7579 is not supported for V06"
377
- ) {
378
- return // Expected error for ERC7579 accounts with v0.6
379
- }
380
- throw e
381
- }
382
- }
383
- )
384
-
385
- testWithRpc(
386
- "decodeCalls v0.8 single call with data",
387
- async ({ rpc }) => {
388
- try {
389
- const smartClient = await getSmartAccountClient({
390
- entryPoint: {
391
- version: "0.8"
392
- },
393
- ...rpc
394
- })
395
-
396
- const erc20TransactionData = encodeFunctionData({
397
- abi: erc20Abi,
398
- functionName: "transfer",
399
- args: [zeroAddress, 1000000000000000000n]
400
- })
401
-
402
- const callData = await smartClient.account.encodeCalls([
403
- {
404
- to: zeroAddress,
405
- data: erc20TransactionData,
406
- value: 0n
407
- }
408
- ])
409
-
410
- if (!smartClient.account.decodeCalls) {
411
- throw new Error("decodeCalls is not supported")
412
- }
413
-
414
- const decoded =
415
- await smartClient.account.decodeCalls(callData)
416
-
417
- expect(decoded).toEqual([
418
- {
419
- to: zeroAddress,
420
- data: erc20TransactionData,
421
- value: 0n
422
- }
423
- ])
424
-
425
- const decodeErc20TransactionData = decodeFunctionData({
426
- abi: erc20Abi,
427
- data: erc20TransactionData
428
- })
429
-
430
- expect(decodeErc20TransactionData.args).toEqual([
431
- zeroAddress,
432
- 1000000000000000000n
433
- ])
434
- } catch (e) {
435
- if (
436
- e instanceof Error &&
437
- e.message === "Kernel ERC7579 is not supported for V06"
438
- ) {
439
- return // Expected error for ERC7579 accounts with v0.6
440
- }
441
- throw e
442
- }
443
- }
444
- )
445
-
446
- testWithRpc("decodeCalls v0.8 multiple calls", async ({ rpc }) => {
447
- try {
448
- const smartClient = await getSmartAccountClient({
449
- entryPoint: {
450
- version: "0.8"
451
- },
452
- ...rpc
453
- })
454
-
455
- const erc20TransactionData = encodeFunctionData({
456
- abi: erc20Abi,
457
- functionName: "transfer",
458
- args: [zeroAddress, 1000000000000000000n]
459
- })
460
-
461
- const callData = await smartClient.account.encodeCalls([
462
- {
463
- to: zeroAddress,
464
- data: "0x",
465
- value: 0n
466
- },
467
- {
468
- to: zeroAddress,
469
- data: erc20TransactionData,
470
- value: 10n
471
- }
472
- ])
473
-
474
- if (!smartClient.account.decodeCalls) {
475
- throw new Error("decodeCalls is not supported")
476
- }
477
-
478
- const decoded = await smartClient.account.decodeCalls(callData)
479
-
480
- expect(decoded).toEqual([
481
- { to: zeroAddress, data: "0x", value: 0n },
482
- { to: zeroAddress, data: erc20TransactionData, value: 10n }
483
- ])
484
-
485
- const decodeErc20TransactionData = decodeFunctionData({
486
- abi: erc20Abi,
487
- data: erc20TransactionData
488
- })
489
-
490
- expect(decodeErc20TransactionData.args).toEqual([
491
- zeroAddress,
492
- 1000000000000000000n
493
- ])
494
- } catch (e) {
495
- if (
496
- e instanceof Error &&
497
- e.message === "Kernel ERC7579 is not supported for V06"
498
- ) {
499
- return // Expected error for ERC7579 accounts with v0.6
500
- }
501
- throw e
502
- }
503
- })
504
- }
505
- )