permissionless 0.0.6 → 0.0.8

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 (235) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/_cjs/actions/bundler/chainId.js +11 -0
  3. package/_cjs/actions/bundler/chainId.js.map +1 -0
  4. package/_cjs/actions/bundler/estimateUserOperationGas.js +18 -0
  5. package/_cjs/actions/bundler/estimateUserOperationGas.js.map +1 -0
  6. package/_cjs/actions/bundler/getUserOperationByHash.js +30 -0
  7. package/_cjs/actions/bundler/getUserOperationByHash.js.map +1 -0
  8. package/_cjs/actions/bundler/getUserOperationReceipt.js +48 -0
  9. package/_cjs/actions/bundler/getUserOperationReceipt.js.map +1 -0
  10. package/_cjs/actions/bundler/sendUserOperation.js +13 -0
  11. package/_cjs/actions/bundler/sendUserOperation.js.map +1 -0
  12. package/_cjs/actions/bundler/supportedEntryPoints.js +11 -0
  13. package/_cjs/actions/bundler/supportedEntryPoints.js.map +1 -0
  14. package/_cjs/actions/bundler/waitForUserOperationReceipt.js +46 -0
  15. package/_cjs/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
  16. package/_cjs/actions/index.js +22 -12
  17. package/_cjs/actions/index.js.map +1 -1
  18. package/_cjs/actions/pimlico/getUserOperationGasPrice.js +25 -0
  19. package/_cjs/actions/pimlico/getUserOperationGasPrice.js.map +1 -0
  20. package/_cjs/actions/pimlico/getUserOperationStatus.js +11 -0
  21. package/_cjs/actions/pimlico/getUserOperationStatus.js.map +1 -0
  22. package/_cjs/actions/pimlico/sponsorUserOperation.js +18 -0
  23. package/_cjs/actions/pimlico/sponsorUserOperation.js.map +1 -0
  24. package/_cjs/actions/pimlico.js +10 -52
  25. package/_cjs/actions/pimlico.js.map +1 -1
  26. package/_cjs/actions/public/getAccountNonce.js +35 -0
  27. package/_cjs/actions/public/getAccountNonce.js.map +1 -0
  28. package/_cjs/actions/{public.js → public/getSenderAddress.js} +2 -33
  29. package/_cjs/actions/public/getSenderAddress.js.map +1 -0
  30. package/_cjs/actions/stackup/accounts.js +12 -0
  31. package/_cjs/actions/stackup/accounts.js.map +1 -0
  32. package/_cjs/actions/stackup/sponsorUserOperation.js +18 -0
  33. package/_cjs/actions/stackup/sponsorUserOperation.js.map +1 -0
  34. package/_cjs/actions/stackup.js +10 -0
  35. package/_cjs/actions/stackup.js.map +1 -0
  36. package/_cjs/clients/bundler.js +2 -2
  37. package/_cjs/clients/bundler.js.map +1 -1
  38. package/_cjs/clients/decorators/bundler.js +21 -0
  39. package/_cjs/clients/decorators/bundler.js.map +1 -0
  40. package/_cjs/clients/decorators/pimlico.js +16 -0
  41. package/_cjs/clients/decorators/pimlico.js.map +1 -0
  42. package/_cjs/clients/decorators/stackup.js +11 -0
  43. package/_cjs/clients/decorators/stackup.js.map +1 -0
  44. package/_cjs/clients/pimlico.js +4 -4
  45. package/_cjs/clients/pimlico.js.map +1 -1
  46. package/_cjs/clients/stackup.js +18 -0
  47. package/_cjs/clients/stackup.js.map +1 -0
  48. package/_cjs/index.js +28 -4
  49. package/_cjs/index.js.map +1 -1
  50. package/_cjs/types/stackup.js +3 -0
  51. package/_cjs/types/stackup.js.map +1 -0
  52. package/_cjs/{actions/utils.js → utils/deepHexlify.js} +1 -1
  53. package/_cjs/utils/deepHexlify.js.map +1 -0
  54. package/_cjs/utils/getUserOperationHash.js +38 -0
  55. package/_cjs/utils/getUserOperationHash.js.map +1 -0
  56. package/_cjs/utils/index.js +2 -34
  57. package/_cjs/utils/index.js.map +1 -1
  58. package/_cjs/utils/observe.js +39 -0
  59. package/_cjs/utils/observe.js.map +1 -0
  60. package/_esm/actions/bundler/chainId.js +29 -0
  61. package/_esm/actions/bundler/chainId.js.map +1 -0
  62. package/_esm/actions/bundler/estimateUserOperationGas.js +41 -0
  63. package/_esm/actions/bundler/estimateUserOperationGas.js.map +1 -0
  64. package/_esm/actions/bundler/getUserOperationByHash.js +48 -0
  65. package/_esm/actions/bundler/getUserOperationByHash.js.map +1 -0
  66. package/_esm/actions/bundler/getUserOperationReceipt.js +66 -0
  67. package/_esm/actions/bundler/getUserOperationReceipt.js.map +1 -0
  68. package/_esm/actions/bundler/sendUserOperation.js +36 -0
  69. package/_esm/actions/bundler/sendUserOperation.js.map +1 -0
  70. package/_esm/actions/bundler/supportedEntryPoints.js +29 -0
  71. package/_esm/actions/bundler/supportedEntryPoints.js.map +1 -0
  72. package/_esm/actions/bundler/waitForUserOperationReceipt.js +63 -0
  73. package/_esm/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
  74. package/_esm/actions/index.js +11 -3
  75. package/_esm/actions/index.js.map +1 -1
  76. package/_esm/actions/pimlico/getUserOperationGasPrice.js +42 -0
  77. package/_esm/actions/pimlico/getUserOperationGasPrice.js.map +1 -0
  78. package/_esm/actions/pimlico/getUserOperationStatus.js +29 -0
  79. package/_esm/actions/pimlico/getUserOperationStatus.js.map +1 -0
  80. package/_esm/actions/pimlico/sponsorUserOperation.js +39 -0
  81. package/_esm/actions/pimlico/sponsorUserOperation.js.map +1 -0
  82. package/_esm/actions/pimlico.js +5 -123
  83. package/_esm/actions/pimlico.js.map +1 -1
  84. package/_esm/actions/public/getAccountNonce.js +57 -0
  85. package/_esm/actions/public/getAccountNonce.js.map +1 -0
  86. package/_esm/actions/{public.js → public/getSenderAddress.js} +1 -57
  87. package/_esm/actions/public/getSenderAddress.js.map +1 -0
  88. package/_esm/actions/stackup/accounts.js +30 -0
  89. package/_esm/actions/stackup/accounts.js.map +1 -0
  90. package/_esm/actions/stackup/sponsorUserOperation.js +40 -0
  91. package/_esm/actions/stackup/sponsorUserOperation.js.map +1 -0
  92. package/_esm/actions/stackup.js +5 -0
  93. package/_esm/actions/stackup.js.map +1 -0
  94. package/_esm/clients/bundler.js +1 -1
  95. package/_esm/clients/bundler.js.map +1 -1
  96. package/_esm/clients/decorators/bundler.js +18 -0
  97. package/_esm/clients/decorators/bundler.js.map +1 -0
  98. package/_esm/clients/decorators/pimlico.js +20 -0
  99. package/_esm/clients/decorators/pimlico.js.map +1 -0
  100. package/_esm/clients/decorators/stackup.js +8 -0
  101. package/_esm/clients/decorators/stackup.js.map +1 -0
  102. package/_esm/clients/pimlico.js +2 -2
  103. package/_esm/clients/pimlico.js.map +1 -1
  104. package/_esm/clients/stackup.js +33 -0
  105. package/_esm/clients/stackup.js.map +1 -0
  106. package/_esm/index.js +17 -4
  107. package/_esm/index.js.map +1 -1
  108. package/_esm/types/stackup.js +2 -0
  109. package/_esm/types/stackup.js.map +1 -0
  110. package/_esm/{actions/utils.js → utils/deepHexlify.js} +1 -1
  111. package/_esm/utils/deepHexlify.js.map +1 -0
  112. package/_esm/utils/getUserOperationHash.js +55 -0
  113. package/_esm/utils/getUserOperationHash.js.map +1 -0
  114. package/_esm/utils/index.js +1 -54
  115. package/_esm/utils/index.js.map +1 -1
  116. package/_esm/utils/observe.js +42 -0
  117. package/_esm/utils/observe.js.map +1 -0
  118. package/_types/actions/bundler/chainId.d.ts +25 -0
  119. package/_types/actions/bundler/chainId.d.ts.map +1 -0
  120. package/_types/actions/bundler/estimateUserOperationGas.d.ts +42 -0
  121. package/_types/actions/bundler/estimateUserOperationGas.d.ts.map +1 -0
  122. package/_types/actions/bundler/getUserOperationByHash.d.ts +37 -0
  123. package/_types/actions/bundler/getUserOperationByHash.d.ts.map +1 -0
  124. package/_types/actions/bundler/getUserOperationReceipt.d.ts +62 -0
  125. package/_types/actions/bundler/getUserOperationReceipt.d.ts.map +1 -0
  126. package/_types/actions/bundler/sendUserOperation.d.ts +36 -0
  127. package/_types/actions/bundler/sendUserOperation.d.ts.map +1 -0
  128. package/_types/actions/bundler/supportedEntryPoints.d.ts +26 -0
  129. package/_types/actions/bundler/supportedEntryPoints.d.ts.map +1 -0
  130. package/_types/actions/bundler/waitForUserOperationReceipt.d.ts +43 -0
  131. package/_types/actions/bundler/waitForUserOperationReceipt.d.ts.map +1 -0
  132. package/_types/actions/index.d.ts +19 -6
  133. package/_types/actions/index.d.ts.map +1 -1
  134. package/_types/actions/pimlico/getUserOperationGasPrice.d.ts +38 -0
  135. package/_types/actions/pimlico/getUserOperationGasPrice.d.ts.map +1 -0
  136. package/_types/actions/pimlico/getUserOperationStatus.d.ts +31 -0
  137. package/_types/actions/pimlico/getUserOperationStatus.d.ts.map +1 -0
  138. package/_types/actions/pimlico/sponsorUserOperation.d.ts +41 -0
  139. package/_types/actions/pimlico/sponsorUserOperation.d.ts.map +1 -0
  140. package/_types/actions/pimlico.d.ts +7 -177
  141. package/_types/actions/pimlico.d.ts.map +1 -1
  142. package/_types/actions/public/getAccountNonce.d.ts +34 -0
  143. package/_types/actions/public/getAccountNonce.d.ts.map +1 -0
  144. package/_types/actions/{public.d.ts → public/getSenderAddress.d.ts} +2 -35
  145. package/_types/actions/public/getSenderAddress.d.ts.map +1 -0
  146. package/_types/actions/stackup/accounts.d.ts +29 -0
  147. package/_types/actions/stackup/accounts.d.ts.map +1 -0
  148. package/_types/actions/stackup/sponsorUserOperation.d.ts +43 -0
  149. package/_types/actions/stackup/sponsorUserOperation.d.ts.map +1 -0
  150. package/_types/actions/stackup.d.ts +7 -0
  151. package/_types/actions/stackup.d.ts.map +1 -0
  152. package/_types/clients/bundler.d.ts +3 -3
  153. package/_types/clients/bundler.d.ts.map +1 -1
  154. package/_types/clients/decorators/bundler.d.ts +173 -0
  155. package/_types/clients/decorators/bundler.d.ts.map +1 -0
  156. package/_types/clients/decorators/pimlico.d.ts +78 -0
  157. package/_types/clients/decorators/pimlico.d.ts.map +1 -0
  158. package/_types/clients/decorators/stackup.d.ts +54 -0
  159. package/_types/clients/decorators/stackup.d.ts.map +1 -0
  160. package/_types/clients/pimlico.d.ts +3 -3
  161. package/_types/clients/pimlico.d.ts.map +1 -1
  162. package/_types/clients/stackup.d.ts +39 -0
  163. package/_types/clients/stackup.d.ts.map +1 -0
  164. package/_types/index.d.ts +28 -4
  165. package/_types/index.d.ts.map +1 -1
  166. package/_types/types/bundler.d.ts +1 -1
  167. package/_types/types/bundler.d.ts.map +1 -1
  168. package/_types/types/index.d.ts +1 -1
  169. package/_types/types/index.d.ts.map +1 -1
  170. package/_types/types/pimlico.d.ts +1 -1
  171. package/_types/types/pimlico.d.ts.map +1 -1
  172. package/_types/types/stackup.d.ts +35 -0
  173. package/_types/types/stackup.d.ts.map +1 -0
  174. package/_types/{actions/utils.d.ts → utils/deepHexlify.d.ts} +1 -1
  175. package/_types/utils/deepHexlify.d.ts.map +1 -0
  176. package/_types/utils/getUserOperationHash.d.ts +30 -0
  177. package/_types/utils/getUserOperationHash.d.ts.map +1 -0
  178. package/_types/utils/index.d.ts +2 -30
  179. package/_types/utils/index.d.ts.map +1 -1
  180. package/_types/utils/observe.d.ts +17 -0
  181. package/_types/utils/observe.d.ts.map +1 -0
  182. package/actions/bundler/chainId.ts +32 -0
  183. package/actions/bundler/estimateUserOperationGas.ts +62 -0
  184. package/actions/bundler/getUserOperationByHash.ts +69 -0
  185. package/actions/bundler/getUserOperationReceipt.ts +112 -0
  186. package/actions/bundler/sendUserOperation.ts +45 -0
  187. package/actions/bundler/supportedEntryPoints.ts +31 -0
  188. package/actions/bundler/waitForUserOperationReceipt.ts +80 -0
  189. package/actions/index.ts +30 -21
  190. package/actions/pimlico/getUserOperationGasPrice.ts +61 -0
  191. package/actions/pimlico/getUserOperationStatus.ts +41 -0
  192. package/actions/pimlico/sponsorUserOperation.ts +62 -0
  193. package/actions/pimlico.ts +34 -251
  194. package/actions/public/getAccountNonce.ts +63 -0
  195. package/actions/{public.ts → public/getSenderAddress.ts} +7 -68
  196. package/actions/stackup/accounts.ts +40 -0
  197. package/actions/stackup/sponsorUserOperation.ts +64 -0
  198. package/actions/stackup.ts +17 -0
  199. package/clients/bundler.ts +9 -4
  200. package/clients/decorators/bundler.ts +211 -0
  201. package/clients/decorators/pimlico.ts +107 -0
  202. package/clients/decorators/stackup.ts +65 -0
  203. package/clients/pimlico.ts +3 -4
  204. package/clients/stackup.ts +44 -0
  205. package/index.ts +70 -4
  206. package/package.json +11 -1
  207. package/tsconfig.build.tsbuildinfo +1 -1
  208. package/types/bundler.ts +1 -1
  209. package/types/index.ts +1 -1
  210. package/types/pimlico.ts +1 -1
  211. package/types/stackup.ts +36 -0
  212. package/utils/getUserOperationHash.ts +68 -0
  213. package/utils/index.ts +2 -69
  214. package/utils/observe.ts +61 -0
  215. package/_cjs/actions/bundler.js +0 -118
  216. package/_cjs/actions/bundler.js.map +0 -1
  217. package/_cjs/actions/public.js.map +0 -1
  218. package/_cjs/actions/utils.js.map +0 -1
  219. package/_cjs/clients/index.js +0 -6
  220. package/_cjs/clients/index.js.map +0 -1
  221. package/_esm/actions/bundler.js +0 -251
  222. package/_esm/actions/bundler.js.map +0 -1
  223. package/_esm/actions/public.js.map +0 -1
  224. package/_esm/actions/utils.js.map +0 -1
  225. package/_esm/clients/index.js +0 -3
  226. package/_esm/clients/index.js.map +0 -1
  227. package/_types/actions/bundler.d.ts +0 -393
  228. package/_types/actions/bundler.d.ts.map +0 -1
  229. package/_types/actions/public.d.ts.map +0 -1
  230. package/_types/actions/utils.d.ts.map +0 -1
  231. package/_types/clients/index.d.ts +0 -3
  232. package/_types/clients/index.d.ts.map +0 -1
  233. package/actions/bundler.ts +0 -498
  234. package/clients/index.ts +0 -3
  235. /package/{actions/utils.ts → utils/deepHexlify.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../../clients/decorators/pimlico.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,wBAAwB,EAC3B,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAGH,sBAAsB,EACzB,MAAM,iDAAiD,CAAA;AACxD,OAAO,EAGH,oBAAoB,EACvB,MAAM,+CAA+C,CAAA;AA8CtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAyB,EAAE,CAAC,CAAC;IAC7E,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,wBAAwB,CAAC,MAA8B,CAAC;IAC9F,sBAAsB,EAAE,KAAK,EAAE,IAAsC,EAAE,EAAE,CACrE,sBAAsB,CAAC,MAA8B,EAAE,IAAI,CAAC;CACnE,CAAC,CAAA;AA6BF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAiC,EAAE,CAAC,CAAC;IACvF,oBAAoB,EAAE,KAAK,EAAE,IAAoC,EAAE,EAAE,CACjE,oBAAoB,CAAC,MAAgC,EAAE,IAAI,CAAC;CACnE,CAAC,CAAA;AAEF;;GAEG;AACH,sDAAsD;AACtD,eAAe;AACf,4CAA4C;AAC5C,6CAA6C;AAC7C,QAAQ;AACR,IAAI"}
@@ -0,0 +1,8 @@
1
+ import { accounts } from "../../actions/stackup/accounts.js";
2
+ import { sponsorUserOperation } from "../../actions/stackup/sponsorUserOperation.js";
3
+ import {} from "../stackup.js";
4
+ export const stackupPaymasterActions = (client) => ({
5
+ sponsorUserOperation: async (args) => sponsorUserOperation(client, args),
6
+ accounts: async (args) => accounts(client, args)
7
+ });
8
+ //# sourceMappingURL=stackup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stackup.js","sourceRoot":"","sources":["../../../clients/decorators/stackup.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AACrF,OAAO,EAGH,oBAAoB,EACvB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAA+B,MAAM,eAAe,CAAA;AAqD3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAiC,EAAE,CAAC,CAAC;IACvF,oBAAoB,EAAE,KAAK,EAAE,IAAoC,EAAE,EAAE,CACjE,oBAAoB,CAAC,MAAgC,EAAE,IAAI,CAAC;IAChE,QAAQ,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAgC,EAAE,IAAI,CAAC;CACjG,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { createClient } from "viem";
2
- import { bundlerActions } from "../actions";
3
- import { pimlicoBundlerActions, pimlicoPaymasterActions } from "../actions/pimlico";
2
+ import { bundlerActions } from "./decorators/bundler.js";
3
+ import { pimlicoBundlerActions, pimlicoPaymasterActions } from "./decorators/pimlico.js";
4
4
  /**
5
5
  * Creates a pimlico specific Bundler Client with a given [Transport](https://viem.sh/docs/clients/intro.html) configured for a [Chain](https://viem.sh/docs/clients/chains.html).
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../clients/pimlico.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,OAAO,EAGH,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,oBAAoB,CAAA;AAmB3B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACtC,UAAgD,EAC5B,EAAE;IACtB,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,IAAI,GAAG,wBAAwB,EAAE,GAAG,UAAU,CAAA;IACtE,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,GAAG,UAAU;QACb,GAAG;QACH,IAAI;QACJ,IAAI,EAAE,sBAAsB;KAC/B,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;AACtE,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CACxC,UAAgD,EAC1B,EAAE;IACxB,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,IAAI,GAAG,0BAA0B,EAAE,GAAG,UAAU,CAAA;IACxE,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,GAAG,UAAU;QACb,GAAG;QACH,IAAI;QACJ,IAAI,EAAE,wBAAwB;KACjC,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;AACjD,CAAC,CAAA"}
1
+ {"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../clients/pimlico.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAuB,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7E,OAAO,EAGH,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,yBAAyB,CAAA;AAkBhC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACtC,UAAgD,EAC5B,EAAE;IACtB,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,IAAI,GAAG,wBAAwB,EAAE,GAAG,UAAU,CAAA;IACtE,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,GAAG,UAAU;QACb,GAAG;QACH,IAAI;QACJ,IAAI,EAAE,sBAAsB;KAC/B,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;AACtE,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CACxC,UAAgD,EAC1B,EAAE;IACxB,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,IAAI,GAAG,0BAA0B,EAAE,GAAG,UAAU,CAAA;IACxE,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,GAAG,UAAU;QACb,GAAG;QACH,IAAI;QACJ,IAAI,EAAE,wBAAwB;KACjC,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;AACjD,CAAC,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { createClient } from "viem";
2
+ import { bundlerActions } from "./decorators/bundler.js";
3
+ import { stackupPaymasterActions } from "./decorators/stackup.js";
4
+ /**
5
+ * Creates a Stackup specific Paymaster Client with a given [Transport](https://viem.sh/docs/clients/intro.html) configured for a [Chain](https://viem.sh/docs/clients/chains.html).
6
+ *
7
+ * - Docs: https://docs.pimlico.io/permissionless/reference/clients/stackupPaymasterClient
8
+ *
9
+ * A Stackup Paymaster Client is an interface to "stackup paymaster endpoints" [JSON-RPC API](https://docs.stackup.sh/docs/paymaster-api-rpc-methods) methods such as sponsoring user operation, etc through Stackup Paymaster Actions.
10
+ *
11
+ * @param config - {@link PublicClientConfig}
12
+ * @returns A Stackup Paymaster Client. {@link StackupPaymasterClient}
13
+ *
14
+ * @example
15
+ * import { createPublicClient, http } from 'viem'
16
+ * import { mainnet } from 'viem/chains'
17
+ *
18
+ * const stackupPaymasterClient = createStackupPaymasterClient({
19
+ * chain: mainnet,
20
+ * transport: http("https://api.stackup.sh/v1/paymaster/YOUR_API_KEY_HERE"),
21
+ * })
22
+ */
23
+ export const createStackupPaymasterClient = (parameters) => {
24
+ const { key = "public", name = "Stackup Paymaster Client" } = parameters;
25
+ const client = createClient({
26
+ ...parameters,
27
+ key,
28
+ name,
29
+ type: "stackupPaymasterClient"
30
+ });
31
+ return client.extend(bundlerActions).extend(stackupPaymasterActions);
32
+ };
33
+ //# sourceMappingURL=stackup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stackup.js","sourceRoot":"","sources":["../../clients/stackup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkF,YAAY,EAAE,MAAM,MAAM,CAAA;AAEnH,OAAO,EAAuB,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7E,OAAO,EAAsC,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAUrG;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CACxC,UAAgD,EAC1B,EAAE;IACxB,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,IAAI,GAAG,0BAA0B,EAAE,GAAG,UAAU,CAAA;IACxE,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,GAAG,UAAU;QACb,GAAG;QACH,IAAI;QACJ,IAAI,EAAE,wBAAwB;KACjC,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;AACxE,CAAC,CAAA"}
package/_esm/index.js CHANGED
@@ -1,5 +1,18 @@
1
- export * from "./actions";
2
- export * from "./clients";
3
- export * from "./types";
4
- export * from "./utils";
1
+ import { getSenderAddress } from "./actions/public/getSenderAddress.js";
2
+ import { chainId } from "./actions/bundler/chainId.js";
3
+ import { estimateUserOperationGas } from "./actions/bundler/estimateUserOperationGas.js";
4
+ import { getUserOperationByHash } from "./actions/bundler/getUserOperationByHash.js";
5
+ import { getUserOperationReceipt } from "./actions/bundler/getUserOperationReceipt.js";
6
+ import { sendUserOperation } from "./actions/bundler/sendUserOperation.js";
7
+ import { supportedEntryPoints } from "./actions/bundler/supportedEntryPoints.js";
8
+ import { waitForUserOperationReceipt } from "./actions/bundler/waitForUserOperationReceipt.js";
9
+ import { WaitForUserOperationReceiptTimeoutError } from "./actions/bundler/waitForUserOperationReceipt.js";
10
+ import { getAccountNonce } from "./actions/public/getAccountNonce.js";
11
+ import { createBundlerClient } from "./clients/bundler.js";
12
+ import { bundlerActions } from "./clients/decorators/bundler.js";
13
+ export { sendUserOperation, estimateUserOperationGas, supportedEntryPoints, chainId, getUserOperationByHash, getUserOperationReceipt, getSenderAddress, getAccountNonce, waitForUserOperationReceipt, createBundlerClient, bundlerActions, WaitForUserOperationReceiptTimeoutError };
14
+ export {};
15
+ import { getUserOperationHash } from "./utils/getUserOperationHash.js";
16
+ export { getUserOperationHash };
17
+ export * from "./utils/index.js";
5
18
  //# sourceMappingURL=index.js.map
package/_esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAA;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAA;AAC9F,OAAO,EAEH,uCAAuC,EAC1C,MAAM,kDAAkD,CAAA;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAsB,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAiBhE,OAAO,EACH,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,OAAO,EACP,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,uCAAuC,EAC1C,CAAA;AAGD,OAAO,EAAsB,CAAA;AAG7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,EAAE,oBAAoB,EAAmC,CAAA;AAChE,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stackup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stackup.js","sourceRoot":"","sources":["../../types/stackup.ts"],"names":[],"mappings":""}
@@ -25,4 +25,4 @@ export function deepHexlify(obj) {
25
25
  [key]: deepHexlify(obj[key])
26
26
  }), {});
27
27
  }
28
- //# sourceMappingURL=utils.js.map
28
+ //# sourceMappingURL=deepHexlify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepHexlify.js","sourceRoot":"","sources":["../../utils/deepHexlify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAE5B,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,SAAS;CACV,CAAA;AAEV,8FAA8F;AAC9F,MAAM,UAAU,WAAW,CAAC,GAAQ;IAChC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;QAC3B,OAAO,SAAS,CAAA;KACnB;IACD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;QACpE,OAAO,GAAG,CAAA;KACb;SAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAChC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;KACpB;SAAM,IAAI,GAAG,CAAC,YAAY,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;KAC1C;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;KAClD;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACX,GAAG,GAAG;QACN,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC/B,CAAC,EACF,EAAE,CACL,CAAA;AACL,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { encodeAbiParameters, keccak256 } from "viem";
2
+ function packUserOp({ userOperation }) {
3
+ const hashedInitCode = keccak256(userOperation.initCode);
4
+ const hashedCallData = keccak256(userOperation.callData);
5
+ const hashedPaymasterAndData = keccak256(userOperation.paymasterAndData);
6
+ return encodeAbiParameters([
7
+ { type: "address" },
8
+ { type: "uint256" },
9
+ { type: "bytes32" },
10
+ { type: "bytes32" },
11
+ { type: "uint256" },
12
+ { type: "uint256" },
13
+ { type: "uint256" },
14
+ { type: "uint256" },
15
+ { type: "uint256" },
16
+ { type: "bytes32" }
17
+ ], [
18
+ userOperation.sender,
19
+ userOperation.nonce,
20
+ hashedInitCode,
21
+ hashedCallData,
22
+ userOperation.callGasLimit,
23
+ userOperation.verificationGasLimit,
24
+ userOperation.preVerificationGas,
25
+ userOperation.maxFeePerGas,
26
+ userOperation.maxPriorityFeePerGas,
27
+ hashedPaymasterAndData
28
+ ]);
29
+ }
30
+ /**
31
+ *
32
+ * Returns user operation hash that is a unique identifier of the user operation.
33
+ *
34
+ * - Docs: https://docs.pimlico.io/permissionless/reference/utils/getUserOperationHash
35
+ *
36
+ * @param args: userOperation, entryPoint, chainId as {@link GetUserOperationHashParams}
37
+ * @returns userOperationHash as {@link Hash}
38
+ *
39
+ * @example
40
+ * import { getUserOperationHash } from "permissionless/utils"
41
+ *
42
+ * const userOperationHash = getUserOperationHash({
43
+ * userOperation,
44
+ * entryPoint,
45
+ * chainId
46
+ * })
47
+ *
48
+ * // Returns "0xe9fad2cd67f9ca1d0b7a6513b2a42066784c8df938518da2b51bb8cc9a89ea34"
49
+ *
50
+ */
51
+ export const getUserOperationHash = ({ userOperation, entryPoint, chainId }) => {
52
+ const encoded = encodeAbiParameters([{ type: "bytes32" }, { type: "address" }, { type: "uint256" }], [keccak256(packUserOp({ userOperation })), entryPoint, BigInt(chainId)]);
53
+ return keccak256(encoded);
54
+ };
55
+ //# sourceMappingURL=getUserOperationHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserOperationHash.js","sourceRoot":"","sources":["../../utils/getUserOperationHash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAGrD,SAAS,UAAU,CAAC,EAAE,aAAa,EAAoC;IACnE,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,sBAAsB,GAAG,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;IAExE,OAAO,mBAAmB,CACtB;QACI,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;KACtB,EACD;QACI,aAAa,CAAC,MAAiB;QAC/B,aAAa,CAAC,KAAK;QACnB,cAAc;QACd,cAAc;QACd,aAAa,CAAC,YAAY;QAC1B,aAAa,CAAC,oBAAoB;QAClC,aAAa,CAAC,kBAAkB;QAChC,aAAa,CAAC,YAAY;QAC1B,aAAa,CAAC,oBAAoB;QAClC,sBAAsB;KACzB,CACJ,CAAA;AACL,CAAC;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAA8B,EAAQ,EAAE;IAC7G,MAAM,OAAO,GAAG,mBAAmB,CAC/B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CACzD,CAAA;IAElB,OAAO,SAAS,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC,CAAA"}
@@ -1,56 +1,3 @@
1
- import { encodeAbiParameters, keccak256 } from "viem";
2
- function packUserOp({ userOperation }) {
3
- const hashedInitCode = keccak256(userOperation.initCode);
4
- const hashedCallData = keccak256(userOperation.callData);
5
- const hashedPaymasterAndData = keccak256(userOperation.paymasterAndData);
6
- return encodeAbiParameters([
7
- { type: "address" },
8
- { type: "uint256" },
9
- { type: "bytes32" },
10
- { type: "bytes32" },
11
- { type: "uint256" },
12
- { type: "uint256" },
13
- { type: "uint256" },
14
- { type: "uint256" },
15
- { type: "uint256" },
16
- { type: "bytes32" }
17
- ], [
18
- userOperation.sender,
19
- userOperation.nonce,
20
- hashedInitCode,
21
- hashedCallData,
22
- userOperation.callGasLimit,
23
- userOperation.verificationGasLimit,
24
- userOperation.preVerificationGas,
25
- userOperation.maxFeePerGas,
26
- userOperation.maxPriorityFeePerGas,
27
- hashedPaymasterAndData
28
- ]);
29
- }
30
- /**
31
- *
32
- * Returns user operation hash that is a unique identifier of the user operation.
33
- *
34
- * - Docs: https://docs.pimlico.io/permissionless/reference/utils/getUserOperationHash
35
- *
36
- * @param args: userOperation, entryPoint, chainId as {@link GetUserOperationHashParams}
37
- * @returns userOperationHash as {@link Hash}
38
- *
39
- * @example
40
- * import { getUserOperationHash } from "permissionless/utils"
41
- *
42
- * const userOperationHash = getUserOperationHash({
43
- * userOperation,
44
- * entryPoint,
45
- * chainId
46
- * })
47
- *
48
- * // Returns "0xe9fad2cd67f9ca1d0b7a6513b2a42066784c8df938518da2b51bb8cc9a89ea34"
49
- *
50
- */
51
- const getUserOperationHash = ({ userOperation, entryPoint, chainId }) => {
52
- const encoded = encodeAbiParameters([{ type: "bytes32" }, { type: "address" }, { type: "uint256" }], [keccak256(packUserOp({ userOperation })), entryPoint, BigInt(chainId)]);
53
- return keccak256(encoded);
54
- };
1
+ import { getUserOperationHash } from "./getUserOperationHash.js";
55
2
  export { getUserOperationHash };
56
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAGrD,SAAS,UAAU,CAAC,EAAE,aAAa,EAAoC;IACnE,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,sBAAsB,GAAG,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;IAExE,OAAO,mBAAmB,CACtB;QACI,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;KACtB,EACD;QACI,aAAa,CAAC,MAAiB;QAC/B,aAAa,CAAC,KAAK;QACnB,cAAc;QACd,cAAc;QACd,aAAa,CAAC,YAAY;QAC1B,aAAa,CAAC,oBAAoB;QAClC,aAAa,CAAC,kBAAkB;QAChC,aAAa,CAAC,YAAY;QAC1B,aAAa,CAAC,oBAAoB;QAClC,sBAAsB;KACzB,CACJ,CAAA;AACL,CAAC;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,oBAAoB,GAAG,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAA8B,EAAQ,EAAE;IACtG,MAAM,OAAO,GAAG,mBAAmB,CAC/B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CACzD,CAAA;IAElB,OAAO,SAAS,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEjG,OAAO,EAAE,oBAAoB,EAAmC,CAAA"}
@@ -0,0 +1,42 @@
1
+ export const listenersCache = /*#__PURE__*/ new Map();
2
+ export const cleanupCache = /*#__PURE__*/ new Map();
3
+ let callbackCount = 0;
4
+ /**
5
+ * @description Sets up an observer for a given function. If another function
6
+ * is set up under the same observer id, the function will only be called once
7
+ * for both instances of the observer.
8
+ */
9
+ export function observe(observerId, callbacks, fn) {
10
+ const callbackId = ++callbackCount;
11
+ const getListeners = () => listenersCache.get(observerId) || [];
12
+ const unsubscribe = () => {
13
+ const listeners = getListeners();
14
+ listenersCache.set(observerId,
15
+ // biome-ignore lint/suspicious/noExplicitAny: it's a recursive function, so it's hard to type
16
+ listeners.filter((cb) => cb.id !== callbackId));
17
+ };
18
+ const unwatch = () => {
19
+ const cleanup = cleanupCache.get(observerId);
20
+ if (getListeners().length === 1 && cleanup)
21
+ cleanup();
22
+ unsubscribe();
23
+ };
24
+ const listeners = getListeners();
25
+ listenersCache.set(observerId, [...listeners, { id: callbackId, fns: callbacks }]);
26
+ if (listeners && listeners.length > 0)
27
+ return unwatch;
28
+ const emit = {};
29
+ for (const key in callbacks) {
30
+ emit[key] = ((...args) => {
31
+ const listeners = getListeners();
32
+ if (listeners.length === 0)
33
+ return;
34
+ listeners.forEach((listener) => listener.fns[key]?.(...args));
35
+ });
36
+ }
37
+ const cleanup = fn(emit);
38
+ if (typeof cleanup === "function")
39
+ cleanupCache.set(observerId, cleanup);
40
+ return unwatch;
41
+ }
42
+ //# sourceMappingURL=observe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observe.js","sourceRoot":"","sources":["../../utils/observe.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,GAAG,EAA4C,CAAA;AAC/F,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,EAAsB,CAAA;AAIvE,IAAI,aAAa,GAAG,CAAC,CAAA;AAErB;;;;GAIG;AACH,MAAM,UAAU,OAAO,CACnB,UAAkB,EAClB,SAAqB,EACrB,EAA4B;IAE5B,MAAM,UAAU,GAAG,EAAE,aAAa,CAAA;IAElC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IAE/D,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;QAChC,cAAc,CAAC,GAAG,CACd,UAAU;QACV,8FAA8F;QAC9F,SAAS,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CACtD,CAAA;IACL,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5C,IAAI,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO;YAAE,OAAO,EAAE,CAAA;QACrD,WAAW,EAAE,CAAA;IACjB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAElF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAA;IAErD,MAAM,IAAI,GAAe,EAAgB,CAAA;IACzC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;QACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAA2D,EAAE,EAAE;YAC5E,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;YAChC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAClC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QACjE,CAAC,CAAkD,CAAA;KACtD;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAExE,OAAO,OAAO,CAAA;AAClB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { BundlerClient } from "../../clients/bundler.js";
2
+ /**
3
+ * Returns the supported chain id by the bundler service
4
+ *
5
+ * - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/chainId
6
+ *
7
+ * @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
8
+ * @returns Supported chain id
9
+ *
10
+ *
11
+ * @example
12
+ * import { createClient } from "viem"
13
+ * import { chainId } from "permissionless/actions"
14
+ *
15
+ * const bundlerClient = createClient({
16
+ * chain: goerli,
17
+ * transport: http(BUNDLER_URL)
18
+ * })
19
+ *
20
+ * const bundlerChainId = chainId(bundlerClient)
21
+ * // Return 5n for Goerli
22
+ *
23
+ */
24
+ export declare const chainId: (client: BundlerClient) => Promise<number>;
25
+ //# sourceMappingURL=chainId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chainId.d.ts","sourceRoot":"","sources":["../../../actions/bundler/chainId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,OAAO,WAAkB,aAAa,oBAOlD,CAAA"}
@@ -0,0 +1,42 @@
1
+ import type { Address } from "viem";
2
+ import type { PartialBy } from "viem/types/utils";
3
+ import type { BundlerClient } from "../../clients/bundler.js";
4
+ import type { UserOperation } from "../../types/userOperation.js";
5
+ export type EstimateUserOperationGasParameters = {
6
+ userOperation: PartialBy<UserOperation, "callGasLimit" | "preVerificationGas" | "verificationGasLimit">;
7
+ entryPoint: Address;
8
+ };
9
+ export type EstimateUserOperationGasReturnType = {
10
+ preVerificationGas: bigint;
11
+ verificationGasLimit: bigint;
12
+ callGasLimit: bigint;
13
+ };
14
+ /**
15
+ * Estimates preVerificationGas, verificationGasLimit and callGasLimit for user operation
16
+ *
17
+ * - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/estimateUserOperationGas
18
+ *
19
+ * @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
20
+ * @param args {@link EstimateUserOperationGasParameters}
21
+ * @returns preVerificationGas, verificationGasLimit and callGasLimit as {@link EstimateUserOperationGasReturnType}
22
+ *
23
+ *
24
+ * @example
25
+ * import { createClient } from "viem"
26
+ * import { estimateUserOperationGas } from "permissionless/actions"
27
+ *
28
+ * const bundlerClient = createClient({
29
+ * chain: goerli,
30
+ * transport: http(BUNDLER_URL)
31
+ * })
32
+ *
33
+ * const gasParameters = estimateUserOperationGas(bundlerClient, {
34
+ * serOperation: signedUserOperation,
35
+ * entryPoint: entryPoint
36
+ * })
37
+ *
38
+ * // Return {preVerificationGas: 43492n, verificationGasLimit: 59436n, callGasLimit: 9000n}
39
+ *
40
+ */
41
+ export declare const estimateUserOperationGas: (client: BundlerClient, args: EstimateUserOperationGasParameters) => Promise<EstimateUserOperationGasReturnType>;
42
+ //# sourceMappingURL=estimateUserOperationGas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimateUserOperationGas.d.ts","sourceRoot":"","sources":["../../../actions/bundler/estimateUserOperationGas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAIjE,MAAM,MAAM,kCAAkC,GAAG;IAC7C,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,cAAc,GAAG,oBAAoB,GAAG,sBAAsB,CAAC,CAAA;IACvG,UAAU,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,kCAAkC,GAAG;IAC7C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,wBAAwB,WACzB,aAAa,QACf,kCAAkC,KACzC,QAAQ,kCAAkC,CAa5C,CAAA"}
@@ -0,0 +1,37 @@
1
+ import type { Address, Hash } from "viem";
2
+ import type { BundlerClient } from "../../clients/bundler.js";
3
+ import type { UserOperation } from "../../types/userOperation.js";
4
+ export type GetUserOperationByHashParameters = {
5
+ hash: Hash;
6
+ };
7
+ export type GetUserOperationByHashReturnType = {
8
+ userOperation: UserOperation;
9
+ entryPoint: Address;
10
+ transactionHash: Hash;
11
+ blockHash: Hash;
12
+ blockNumber: bigint;
13
+ } | null;
14
+ /**
15
+ * Returns the user operation from userOpHash
16
+ *
17
+ * - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/getUserOperationByHash
18
+ *
19
+ * @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
20
+ * @param args {@link GetUserOperationByHashParameters} UserOpHash that was returned by {@link sendUserOperation}
21
+ * @returns userOperation along with entryPoint, transactionHash, blockHash, blockNumber if found or null
22
+ *
23
+ *
24
+ * @example
25
+ * import { createClient } from "viem"
26
+ * import { getUserOperationByHash } from "permissionless/actions"
27
+ *
28
+ * const bundlerClient = createClient({
29
+ * chain: goerli,
30
+ * transport: http(BUNDLER_URL)
31
+ * })
32
+ *
33
+ * getUserOperationByHash(bundlerClient, {hash: userOpHash})
34
+ *
35
+ */
36
+ export declare const getUserOperationByHash: (client: BundlerClient, { hash }: GetUserOperationByHashParameters) => Promise<GetUserOperationByHashReturnType>;
37
+ //# sourceMappingURL=getUserOperationByHash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserOperationByHash.d.ts","sourceRoot":"","sources":["../../../actions/bundler/getUserOperationByHash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE,MAAM,MAAM,gCAAgC,GAAG;IAC3C,IAAI,EAAE,IAAI,CAAA;CACb,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC3C,aAAa,EAAE,aAAa,CAAA;IAC5B,UAAU,EAAE,OAAO,CAAA;IACnB,eAAe,EAAE,IAAI,CAAA;IACrB,SAAS,EAAE,IAAI,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACtB,GAAG,IAAI,CAAA;AAER;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,sBAAsB,WACvB,aAAa,YACX,gCAAgC,KAC3C,QAAQ,gCAAgC,CA2B1C,CAAA"}
@@ -0,0 +1,62 @@
1
+ import type { Address, Hash, Hex } from "viem";
2
+ import type { BundlerClient } from "../../clients/bundler.js";
3
+ import type { TStatus } from "../../types/userOperation.js";
4
+ export type GetUserOperationReceiptParameters = {
5
+ hash: Hash;
6
+ };
7
+ export type GetUserOperationReceiptReturnType = {
8
+ userOpHash: Hash;
9
+ sender: Address;
10
+ nonce: bigint;
11
+ actualGasUsed: bigint;
12
+ actualGasCost: bigint;
13
+ success: boolean;
14
+ receipt: {
15
+ transactionHash: Hex;
16
+ transactionIndex: bigint;
17
+ blockHash: Hash;
18
+ blockNumber: bigint;
19
+ from: Address;
20
+ to: Address | null;
21
+ cumulativeGasUsed: bigint;
22
+ status: TStatus;
23
+ gasUsed: bigint;
24
+ contractAddress: Address | null;
25
+ logsBloom: Hex;
26
+ effectiveGasPrice: bigint;
27
+ };
28
+ logs: {
29
+ data: Hex;
30
+ blockNumber: bigint;
31
+ blockHash: Hash;
32
+ transactionHash: Hash;
33
+ logIndex: bigint;
34
+ transactionIndex: bigint;
35
+ address: Address;
36
+ topics: Hex[];
37
+ }[];
38
+ };
39
+ /**
40
+ * Returns the user operation receipt from userOpHash
41
+ *
42
+ * - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/getUserOperationReceipt
43
+ *
44
+ * @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
45
+ * @param args {@link GetUserOperationReceiptParameters} UserOpHash that was returned by {@link sendUserOperation}
46
+ * @returns user operation receipt {@link GetUserOperationReceiptReturnType} if found or null
47
+ *
48
+ *
49
+ * @example
50
+ * import { createClient } from "viem"
51
+ * import { getUserOperationReceipt } from "permissionless/actions"
52
+ *
53
+ * const bundlerClient = createClient({
54
+ * chain: goerli,
55
+ * transport: http(BUNDLER_URL)
56
+ * })
57
+ *
58
+ * getUserOperationReceipt(bundlerClient, {hash: userOpHash})
59
+ *
60
+ */
61
+ export declare const getUserOperationReceipt: (client: BundlerClient, { hash }: GetUserOperationReceiptParameters) => Promise<GetUserOperationReceiptReturnType | null>;
62
+ //# sourceMappingURL=getUserOperationReceipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserOperationReceipt.d.ts","sourceRoot":"","sources":["../../../actions/bundler/getUserOperationReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAG3D,MAAM,MAAM,iCAAiC,GAAG;IAC5C,IAAI,EAAE,IAAI,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC5C,UAAU,EAAE,IAAI,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE;QACL,eAAe,EAAE,GAAG,CAAA;QACpB,gBAAgB,EAAE,MAAM,CAAA;QACxB,SAAS,EAAE,IAAI,CAAA;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,IAAI,EAAE,OAAO,CAAA;QACb,EAAE,EAAE,OAAO,GAAG,IAAI,CAAA;QAClB,iBAAiB,EAAE,MAAM,CAAA;QACzB,MAAM,EAAE,OAAO,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,eAAe,EAAE,OAAO,GAAG,IAAI,CAAA;QAC/B,SAAS,EAAE,GAAG,CAAA;QACd,iBAAiB,EAAE,MAAM,CAAA;KAC5B,CAAA;IACD,IAAI,EAAE;QACF,IAAI,EAAE,GAAG,CAAA;QACT,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,IAAI,CAAA;QACf,eAAe,EAAE,IAAI,CAAA;QACrB,QAAQ,EAAE,MAAM,CAAA;QAChB,gBAAgB,EAAE,MAAM,CAAA;QACxB,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,GAAG,EAAE,CAAA;KAChB,EAAE,CAAA;CACN,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,uBAAuB,WACxB,aAAa,YACX,iCAAiC,KAC5C,QAAQ,iCAAiC,GAAG,IAAI,CA4ClD,CAAA"}
@@ -0,0 +1,36 @@
1
+ import type { Address, Hash } from "viem";
2
+ import type { BundlerClient } from "../../clients/bundler.js";
3
+ import type { UserOperation } from "../../types/userOperation.js";
4
+ export type SendUserOperationParameters = {
5
+ userOperation: UserOperation;
6
+ entryPoint: Address;
7
+ };
8
+ /**
9
+ * Sends user operation to the bundler
10
+ *
11
+ * - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/sendUserOperation
12
+ *
13
+ * @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
14
+ * @param args {@link SendUserOperationParameters}.
15
+ * @returns UserOpHash that you can use to track user operation as {@link Hash}.
16
+ *
17
+ *
18
+ * @example
19
+ * import { createClient } from "viem"
20
+ * import { sendUserOperation } from "permissionless/actions"
21
+ *
22
+ * const bundlerClient = createClient({
23
+ * chain: goerli,
24
+ * transport: http(BUNDLER_URL)
25
+ * })
26
+ *
27
+ * const userOpHash = sendUserOperation(bundlerClient, {
28
+ * userOperation: signedUserOperation,
29
+ * entryPoint: entryPoint
30
+ * })
31
+ *
32
+ * // Return '0xe9fad2cd67f9ca1d0b7a6513b2a42066784c8df938518da2b51bb8cc9a89ea34'
33
+ *
34
+ */
35
+ export declare const sendUserOperation: (client: BundlerClient, args: SendUserOperationParameters) => Promise<Hash>;
36
+ //# sourceMappingURL=sendUserOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendUserOperation.d.ts","sourceRoot":"","sources":["../../../actions/bundler/sendUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAgC,MAAM,8BAA8B,CAAA;AAG/F,MAAM,MAAM,2BAA2B,GAAG;IACtC,aAAa,EAAE,aAAa,CAAA;IAC5B,UAAU,EAAE,OAAO,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,iBAAiB,WAAkB,aAAa,QAAQ,2BAA2B,KAAG,QAAQ,IAAI,CAO9G,CAAA"}
@@ -0,0 +1,26 @@
1
+ import type { Address } from "viem";
2
+ import type { BundlerClient } from "../../clients/bundler.js";
3
+ /**
4
+ * Returns the supported entrypoints by the bundler service
5
+ *
6
+ * - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/supportedEntryPoints
7
+ *
8
+ * @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
9
+ * @returns Supported entryPoints
10
+ *
11
+ *
12
+ * @example
13
+ * import { createClient } from "viem"
14
+ * import { supportedEntryPoints } from "permissionless/actions"
15
+ *
16
+ * const bundlerClient = createClient({
17
+ * chain: goerli,
18
+ * transport: http(BUNDLER_URL)
19
+ * })
20
+ *
21
+ * const entryPointsSupported = supportedEntryPoints(bundlerClient)
22
+ * // Return ['0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789']
23
+ *
24
+ */
25
+ export declare const supportedEntryPoints: (client: BundlerClient) => Promise<Address[]>;
26
+ //# sourceMappingURL=supportedEntryPoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supportedEntryPoints.d.ts","sourceRoot":"","sources":["../../../actions/bundler/supportedEntryPoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,oBAAoB,WAAkB,aAAa,KAAG,QAAQ,OAAO,EAAE,CAKnF,CAAA"}
@@ -0,0 +1,43 @@
1
+ import { BaseError, type Chain, type Hash } from "viem";
2
+ import { type BundlerClient } from "../../clients/bundler";
3
+ import { type GetUserOperationReceiptReturnType } from "./getUserOperationReceipt";
4
+ export declare class WaitForUserOperationReceiptTimeoutError extends BaseError {
5
+ name: string;
6
+ constructor({ hash }: {
7
+ hash: Hash;
8
+ });
9
+ }
10
+ export type WaitForUserOperationReceiptParameters = {
11
+ /** The hash of the transaction. */
12
+ hash: Hash;
13
+ /**
14
+ * Polling frequency (in ms). Defaults to the client's pollingInterval config.
15
+ * @default client.pollingInterval
16
+ */
17
+ pollingInterval?: number;
18
+ /** Optional timeout (in milliseconds) to wait before stopping polling. */
19
+ timeout?: number;
20
+ };
21
+ /**
22
+ * Waits for the User Operation to be included on a [Block](https://viem.sh/docs/glossary/terms.html#block) (one confirmation), and then returns the [User Operation Receipt](https://docs.pimlico.io/permissionless/reference/bundler-actions/getUserOperationReceipt).
23
+ *
24
+ * - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/waitForUserOperationReceipt
25
+ *
26
+ * @param client - Bundler Client to use
27
+ * @param parameters - {@link WaitForUserOperationReceiptParameters}
28
+ * @returns The transaction receipt. {@link GetUserOperationReceiptReturnType}
29
+ *
30
+ * @example
31
+ * import { createBundlerClient, waitForUserOperationReceipt, http } from 'viem'
32
+ * import { mainnet } from 'viem/chains'
33
+ *
34
+ * const client = createBundlerClient({
35
+ * chain: mainnet,
36
+ * transport: http(),
37
+ * })
38
+ * const userOperationReceipt = await waitForUserOperationReceipt(client, {
39
+ * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',
40
+ * })
41
+ */
42
+ export declare const waitForUserOperationReceipt: <TChain extends Chain | undefined>(bundlerClient: BundlerClient<TChain>, { hash, pollingInterval, timeout }: WaitForUserOperationReceiptParameters) => Promise<GetUserOperationReceiptReturnType>;
43
+ //# sourceMappingURL=waitForUserOperationReceipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForUserOperationReceipt.d.ts","sourceRoot":"","sources":["../../../actions/bundler/waitForUserOperationReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,KAAK,EAAE,KAAK,IAAI,EAAa,MAAM,MAAM,CAAA;AAClE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,EAAE,KAAK,iCAAiC,EAA2B,MAAM,2BAA2B,CAAA;AAE3G,qBAAa,uCAAwC,SAAQ,SAAS;IACzD,IAAI,SAA4C;gBAC7C,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE;CAGvC;AAED,MAAM,MAAM,qCAAqC,GAAG;IAChD,mCAAmC;IACnC,IAAI,EAAE,IAAI,CAAA;IACV;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,2BAA2B,+GAEgC,qCAAqC,KAC1G,QAAQ,iCAAiC,CA+B3C,CAAA"}