@alchemy/smart-accounts 0.0.0-alpha.0

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 (422) hide show
  1. package/LICENSE +21 -0
  2. package/dist/esm/errors/EntityIdOverrideError.d.ts +11 -0
  3. package/dist/esm/errors/EntityIdOverrideError.js +19 -0
  4. package/dist/esm/errors/EntityIdOverrideError.js.map +1 -0
  5. package/dist/esm/errors/InvalidDeferredActionNonceError.d.ts +11 -0
  6. package/dist/esm/errors/InvalidDeferredActionNonceError.js +19 -0
  7. package/dist/esm/errors/InvalidDeferredActionNonceError.js.map +1 -0
  8. package/dist/esm/errors/InvalidEntityIdError.d.ts +13 -0
  9. package/dist/esm/errors/InvalidEntityIdError.js +21 -0
  10. package/dist/esm/errors/InvalidEntityIdError.js.map +1 -0
  11. package/dist/esm/errors/InvalidNonceKeyError.d.ts +13 -0
  12. package/dist/esm/errors/InvalidNonceKeyError.js +21 -0
  13. package/dist/esm/errors/InvalidNonceKeyError.js.map +1 -0
  14. package/dist/esm/errors/InvalidOwnerError.d.ts +13 -0
  15. package/dist/esm/errors/InvalidOwnerError.js +21 -0
  16. package/dist/esm/errors/InvalidOwnerError.js.map +1 -0
  17. package/dist/esm/errors/permissionBuilderErrors.d.ts +150 -0
  18. package/dist/esm/errors/permissionBuilderErrors.js +233 -0
  19. package/dist/esm/errors/permissionBuilderErrors.js.map +1 -0
  20. package/dist/esm/index.d.ts +59 -0
  21. package/dist/esm/index.js +40 -0
  22. package/dist/esm/index.js.map +1 -0
  23. package/dist/esm/light-account/abis/LightAccountAbi_v1.d.ts +532 -0
  24. package/dist/esm/light-account/abis/LightAccountAbi_v1.js +379 -0
  25. package/dist/esm/light-account/abis/LightAccountAbi_v1.js.map +1 -0
  26. package/dist/esm/light-account/abis/LightAccountAbi_v2.d.ts +491 -0
  27. package/dist/esm/light-account/abis/LightAccountAbi_v2.js +355 -0
  28. package/dist/esm/light-account/abis/LightAccountAbi_v2.js.map +1 -0
  29. package/dist/esm/light-account/abis/LightAccountFactoryAbi_v1.d.ts +55 -0
  30. package/dist/esm/light-account/abis/LightAccountFactoryAbi_v1.js +75 -0
  31. package/dist/esm/light-account/abis/LightAccountFactoryAbi_v1.js.map +1 -0
  32. package/dist/esm/light-account/abis/LightAccountFactoryAbi_v2.d.ts +256 -0
  33. package/dist/esm/light-account/abis/LightAccountFactoryAbi_v2.js +210 -0
  34. package/dist/esm/light-account/abis/LightAccountFactoryAbi_v2.js.map +1 -0
  35. package/dist/esm/light-account/abis/MultiOwnerLightAccountAbi.d.ts +507 -0
  36. package/dist/esm/light-account/abis/MultiOwnerLightAccountAbi.js +372 -0
  37. package/dist/esm/light-account/abis/MultiOwnerLightAccountAbi.js.map +1 -0
  38. package/dist/esm/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +286 -0
  39. package/dist/esm/light-account/abis/MultiOwnerLightAccountFactoryAbi.js +229 -0
  40. package/dist/esm/light-account/abis/MultiOwnerLightAccountFactoryAbi.js.map +1 -0
  41. package/dist/esm/light-account/abis/OZ_ERC1967Proxy.d.ts +13 -0
  42. package/dist/esm/light-account/abis/OZ_ERC1967Proxy.js +20 -0
  43. package/dist/esm/light-account/abis/OZ_ERC1967Proxy.js.map +1 -0
  44. package/dist/esm/light-account/accounts/account.d.ts +22 -0
  45. package/dist/esm/light-account/accounts/account.js +86 -0
  46. package/dist/esm/light-account/accounts/account.js.map +1 -0
  47. package/dist/esm/light-account/accounts/base.d.ts +28 -0
  48. package/dist/esm/light-account/accounts/base.js +170 -0
  49. package/dist/esm/light-account/accounts/base.js.map +1 -0
  50. package/dist/esm/light-account/accounts/calldataCodec.d.ts +3 -0
  51. package/dist/esm/light-account/accounts/calldataCodec.js +74 -0
  52. package/dist/esm/light-account/accounts/calldataCodec.js.map +1 -0
  53. package/dist/esm/light-account/accounts/multi-owner-account.d.ts +20 -0
  54. package/dist/esm/light-account/accounts/multi-owner-account.js +79 -0
  55. package/dist/esm/light-account/accounts/multi-owner-account.js.map +1 -0
  56. package/dist/esm/light-account/decorators/multiOwner.d.ts +17 -0
  57. package/dist/esm/light-account/decorators/multiOwner.js +38 -0
  58. package/dist/esm/light-account/decorators/multiOwner.js.map +1 -0
  59. package/dist/esm/light-account/decorators/singleOwner.d.ts +16 -0
  60. package/dist/esm/light-account/decorators/singleOwner.js +35 -0
  61. package/dist/esm/light-account/decorators/singleOwner.js.map +1 -0
  62. package/dist/esm/light-account/lightAccountStaticImpl.d.ts +24 -0
  63. package/dist/esm/light-account/lightAccountStaticImpl.js +112 -0
  64. package/dist/esm/light-account/lightAccountStaticImpl.js.map +1 -0
  65. package/dist/esm/light-account/predictAddress.d.ts +35 -0
  66. package/dist/esm/light-account/predictAddress.js +113 -0
  67. package/dist/esm/light-account/predictAddress.js.map +1 -0
  68. package/dist/esm/light-account/registry.d.ts +7115 -0
  69. package/dist/esm/light-account/registry.js +18 -0
  70. package/dist/esm/light-account/registry.js.map +1 -0
  71. package/dist/esm/light-account/utils.d.ts +1454 -0
  72. package/dist/esm/light-account/utils.js +65 -0
  73. package/dist/esm/light-account/utils.js.map +1 -0
  74. package/dist/esm/logger.d.ts +2 -0
  75. package/dist/esm/logger.js +8 -0
  76. package/dist/esm/logger.js.map +1 -0
  77. package/dist/esm/ma-v1/abis/IStandardExecutor.d.ts +50 -0
  78. package/dist/esm/ma-v1/abis/IStandardExecutor.js +32 -0
  79. package/dist/esm/ma-v1/abis/IStandardExecutor.js.map +1 -0
  80. package/dist/esm/ma-v1/abis/MultiOwnerModularAccountFactory.d.ts +234 -0
  81. package/dist/esm/ma-v1/abis/MultiOwnerModularAccountFactory.js +191 -0
  82. package/dist/esm/ma-v1/abis/MultiOwnerModularAccountFactory.js.map +1 -0
  83. package/dist/esm/ma-v1/abis/MultiOwnerPlugin.d.ts +698 -0
  84. package/dist/esm/ma-v1/abis/MultiOwnerPlugin.js +529 -0
  85. package/dist/esm/ma-v1/abis/MultiOwnerPlugin.js.map +1 -0
  86. package/dist/esm/ma-v1/abis/MultiOwnerPluginExecutionFunction.d.ts +67 -0
  87. package/dist/esm/ma-v1/abis/MultiOwnerPluginExecutionFunction.js +38 -0
  88. package/dist/esm/ma-v1/abis/MultiOwnerPluginExecutionFunction.js.map +1 -0
  89. package/dist/esm/ma-v1/abis/UpgradeableModularAccount.d.ts +880 -0
  90. package/dist/esm/ma-v1/abis/UpgradeableModularAccount.js +646 -0
  91. package/dist/esm/ma-v1/abis/UpgradeableModularAccount.js.map +1 -0
  92. package/dist/esm/ma-v1/account.d.ts +16 -0
  93. package/dist/esm/ma-v1/account.js +17 -0
  94. package/dist/esm/ma-v1/account.js.map +1 -0
  95. package/dist/esm/ma-v1/accounts/base.d.ts +29 -0
  96. package/dist/esm/ma-v1/accounts/base.js +150 -0
  97. package/dist/esm/ma-v1/accounts/base.js.map +1 -0
  98. package/dist/esm/ma-v1/accounts/multi-owner-account.d.ts +22 -0
  99. package/dist/esm/ma-v1/accounts/multi-owner-account.js +101 -0
  100. package/dist/esm/ma-v1/accounts/multi-owner-account.js.map +1 -0
  101. package/dist/esm/ma-v1/decorators/multiOwner.d.ts +17 -0
  102. package/dist/esm/ma-v1/decorators/multiOwner.js +38 -0
  103. package/dist/esm/ma-v1/decorators/multiOwner.js.map +1 -0
  104. package/dist/esm/ma-v1/mav1StaticImpl.d.ts +15 -0
  105. package/dist/esm/ma-v1/mav1StaticImpl.js +38 -0
  106. package/dist/esm/ma-v1/mav1StaticImpl.js.map +1 -0
  107. package/dist/esm/ma-v1/predictAddress.d.ts +28 -0
  108. package/dist/esm/ma-v1/predictAddress.js +51 -0
  109. package/dist/esm/ma-v1/predictAddress.js.map +1 -0
  110. package/dist/esm/ma-v2/abis/accountFactoryAbi.d.ts +348 -0
  111. package/dist/esm/ma-v2/abis/accountFactoryAbi.js +645 -0
  112. package/dist/esm/ma-v2/abis/accountFactoryAbi.js.map +1 -0
  113. package/dist/esm/ma-v2/abis/entityIdAndNonceReader.d.ts +9 -0
  114. package/dist/esm/ma-v2/abis/entityIdAndNonceReader.js +24 -0
  115. package/dist/esm/ma-v2/abis/entityIdAndNonceReader.js.map +1 -0
  116. package/dist/esm/ma-v2/abis/modularAccountAbi.d.ts +954 -0
  117. package/dist/esm/ma-v2/abis/modularAccountAbi.js +1242 -0
  118. package/dist/esm/ma-v2/abis/modularAccountAbi.js.map +1 -0
  119. package/dist/esm/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts +991 -0
  120. package/dist/esm/ma-v2/abis/semiModularAccountBytecodeAbi.js +1289 -0
  121. package/dist/esm/ma-v2/abis/semiModularAccountBytecodeAbi.js.map +1 -0
  122. package/dist/esm/ma-v2/abis/semiModularAccountStorageAbi.d.ts +1001 -0
  123. package/dist/esm/ma-v2/abis/semiModularAccountStorageAbi.js +1302 -0
  124. package/dist/esm/ma-v2/abis/semiModularAccountStorageAbi.js.map +1 -0
  125. package/dist/esm/ma-v2/abis/webAuthnFactoryAbi.d.ts +330 -0
  126. package/dist/esm/ma-v2/abis/webAuthnFactoryAbi.js +260 -0
  127. package/dist/esm/ma-v2/abis/webAuthnFactoryAbi.js.map +1 -0
  128. package/dist/esm/ma-v2/accounts/account.d.ts +32 -0
  129. package/dist/esm/ma-v2/accounts/account.js +134 -0
  130. package/dist/esm/ma-v2/accounts/account.js.map +1 -0
  131. package/dist/esm/ma-v2/accounts/base.d.ts +40 -0
  132. package/dist/esm/ma-v2/accounts/base.js +371 -0
  133. package/dist/esm/ma-v2/accounts/base.js.map +1 -0
  134. package/dist/esm/ma-v2/decorators/deferralActions.d.ts +51 -0
  135. package/dist/esm/ma-v2/decorators/deferralActions.js +100 -0
  136. package/dist/esm/ma-v2/decorators/deferralActions.js.map +1 -0
  137. package/dist/esm/ma-v2/decorators/installValidation.d.ts +71 -0
  138. package/dist/esm/ma-v2/decorators/installValidation.js +137 -0
  139. package/dist/esm/ma-v2/decorators/installValidation.js.map +1 -0
  140. package/dist/esm/ma-v2/mav2StaticImpl.d.ts +37 -0
  141. package/dist/esm/ma-v2/mav2StaticImpl.js +88 -0
  142. package/dist/esm/ma-v2/mav2StaticImpl.js.map +1 -0
  143. package/dist/esm/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts +556 -0
  144. package/dist/esm/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.js +716 -0
  145. package/dist/esm/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.js.map +1 -0
  146. package/dist/esm/ma-v2/modules/allowlist-module/module.d.ts +593 -0
  147. package/dist/esm/ma-v2/modules/allowlist-module/module.js +70 -0
  148. package/dist/esm/ma-v2/modules/allowlist-module/module.js.map +1 -0
  149. package/dist/esm/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts +312 -0
  150. package/dist/esm/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.js +404 -0
  151. package/dist/esm/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.js.map +1 -0
  152. package/dist/esm/ma-v2/modules/native-token-limit-module/module.d.ts +322 -0
  153. package/dist/esm/ma-v2/modules/native-token-limit-module/module.js +14 -0
  154. package/dist/esm/ma-v2/modules/native-token-limit-module/module.js.map +1 -0
  155. package/dist/esm/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts +186 -0
  156. package/dist/esm/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.js +242 -0
  157. package/dist/esm/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.js.map +1 -0
  158. package/dist/esm/ma-v2/modules/paymaster-guard-module/module.d.ts +196 -0
  159. package/dist/esm/ma-v2/modules/paymaster-guard-module/module.js +25 -0
  160. package/dist/esm/ma-v2/modules/paymaster-guard-module/module.js.map +1 -0
  161. package/dist/esm/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts +45 -0
  162. package/dist/esm/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.js +331 -0
  163. package/dist/esm/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.js.map +1 -0
  164. package/dist/esm/ma-v2/modules/single-signer-validation/module.d.ts +10 -0
  165. package/dist/esm/ma-v2/modules/single-signer-validation/module.js +16 -0
  166. package/dist/esm/ma-v2/modules/single-signer-validation/module.js.map +1 -0
  167. package/dist/esm/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts +229 -0
  168. package/dist/esm/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.js +296 -0
  169. package/dist/esm/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.js.map +1 -0
  170. package/dist/esm/ma-v2/modules/time-range-module/module.d.ts +254 -0
  171. package/dist/esm/ma-v2/modules/time-range-module/module.js +62 -0
  172. package/dist/esm/ma-v2/modules/time-range-module/module.js.map +1 -0
  173. package/dist/esm/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts +287 -0
  174. package/dist/esm/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.js +374 -0
  175. package/dist/esm/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.js.map +1 -0
  176. package/dist/esm/ma-v2/modules/webauthn-validation/module.d.ts +11 -0
  177. package/dist/esm/ma-v2/modules/webauthn-validation/module.js +16 -0
  178. package/dist/esm/ma-v2/modules/webauthn-validation/module.js.map +1 -0
  179. package/dist/esm/ma-v2/permissionBuilder.d.ts +158 -0
  180. package/dist/esm/ma-v2/permissionBuilder.js +557 -0
  181. package/dist/esm/ma-v2/permissionBuilder.js.map +1 -0
  182. package/dist/esm/ma-v2/predictAddress.d.ts +37 -0
  183. package/dist/esm/ma-v2/predictAddress.js +73 -0
  184. package/dist/esm/ma-v2/predictAddress.js.map +1 -0
  185. package/dist/esm/ma-v2/types.d.ts +57 -0
  186. package/dist/esm/ma-v2/types.js +9 -0
  187. package/dist/esm/ma-v2/types.js.map +1 -0
  188. package/dist/esm/ma-v2/utils/account.d.ts +85 -0
  189. package/dist/esm/ma-v2/utils/account.js +96 -0
  190. package/dist/esm/ma-v2/utils/account.js.map +1 -0
  191. package/dist/esm/ma-v2/utils/deferredActions.d.ts +29 -0
  192. package/dist/esm/ma-v2/utils/deferredActions.js +38 -0
  193. package/dist/esm/ma-v2/utils/deferredActions.js.map +1 -0
  194. package/dist/esm/ma-v2/utils/hooks.d.ts +55 -0
  195. package/dist/esm/ma-v2/utils/hooks.js +78 -0
  196. package/dist/esm/ma-v2/utils/hooks.js.map +1 -0
  197. package/dist/esm/ma-v2/utils/signature.d.ts +63 -0
  198. package/dist/esm/ma-v2/utils/signature.js +84 -0
  199. package/dist/esm/ma-v2/utils/signature.js.map +1 -0
  200. package/dist/esm/test-utils/getAccountAddressViaEntryPoint.d.ts +18 -0
  201. package/dist/esm/test-utils/getAccountAddressViaEntryPoint.js +31 -0
  202. package/dist/esm/test-utils/getAccountAddressViaEntryPoint.js.map +1 -0
  203. package/dist/esm/types.d.ts +30 -0
  204. package/dist/esm/types.js +2 -0
  205. package/dist/esm/types.js.map +1 -0
  206. package/dist/esm/utils.d.ts +6 -0
  207. package/dist/esm/utils.js +52 -0
  208. package/dist/esm/utils.js.map +1 -0
  209. package/dist/esm/version.d.ts +1 -0
  210. package/dist/esm/version.js +4 -0
  211. package/dist/esm/version.js.map +1 -0
  212. package/dist/types/errors/EntityIdOverrideError.d.ts +12 -0
  213. package/dist/types/errors/EntityIdOverrideError.d.ts.map +1 -0
  214. package/dist/types/errors/InvalidDeferredActionNonceError.d.ts +12 -0
  215. package/dist/types/errors/InvalidDeferredActionNonceError.d.ts.map +1 -0
  216. package/dist/types/errors/InvalidEntityIdError.d.ts +14 -0
  217. package/dist/types/errors/InvalidEntityIdError.d.ts.map +1 -0
  218. package/dist/types/errors/InvalidNonceKeyError.d.ts +14 -0
  219. package/dist/types/errors/InvalidNonceKeyError.d.ts.map +1 -0
  220. package/dist/types/errors/InvalidOwnerError.d.ts +14 -0
  221. package/dist/types/errors/InvalidOwnerError.d.ts.map +1 -0
  222. package/dist/types/errors/permissionBuilderErrors.d.ts +151 -0
  223. package/dist/types/errors/permissionBuilderErrors.d.ts.map +1 -0
  224. package/dist/types/index.d.ts +60 -0
  225. package/dist/types/index.d.ts.map +1 -0
  226. package/dist/types/light-account/abis/LightAccountAbi_v1.d.ts +533 -0
  227. package/dist/types/light-account/abis/LightAccountAbi_v1.d.ts.map +1 -0
  228. package/dist/types/light-account/abis/LightAccountAbi_v2.d.ts +492 -0
  229. package/dist/types/light-account/abis/LightAccountAbi_v2.d.ts.map +1 -0
  230. package/dist/types/light-account/abis/LightAccountFactoryAbi_v1.d.ts +56 -0
  231. package/dist/types/light-account/abis/LightAccountFactoryAbi_v1.d.ts.map +1 -0
  232. package/dist/types/light-account/abis/LightAccountFactoryAbi_v2.d.ts +257 -0
  233. package/dist/types/light-account/abis/LightAccountFactoryAbi_v2.d.ts.map +1 -0
  234. package/dist/types/light-account/abis/MultiOwnerLightAccountAbi.d.ts +508 -0
  235. package/dist/types/light-account/abis/MultiOwnerLightAccountAbi.d.ts.map +1 -0
  236. package/dist/types/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +287 -0
  237. package/dist/types/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts.map +1 -0
  238. package/dist/types/light-account/abis/OZ_ERC1967Proxy.d.ts +14 -0
  239. package/dist/types/light-account/abis/OZ_ERC1967Proxy.d.ts.map +1 -0
  240. package/dist/types/light-account/accounts/account.d.ts +23 -0
  241. package/dist/types/light-account/accounts/account.d.ts.map +1 -0
  242. package/dist/types/light-account/accounts/base.d.ts +29 -0
  243. package/dist/types/light-account/accounts/base.d.ts.map +1 -0
  244. package/dist/types/light-account/accounts/calldataCodec.d.ts +4 -0
  245. package/dist/types/light-account/accounts/calldataCodec.d.ts.map +1 -0
  246. package/dist/types/light-account/accounts/multi-owner-account.d.ts +21 -0
  247. package/dist/types/light-account/accounts/multi-owner-account.d.ts.map +1 -0
  248. package/dist/types/light-account/decorators/multiOwner.d.ts +18 -0
  249. package/dist/types/light-account/decorators/multiOwner.d.ts.map +1 -0
  250. package/dist/types/light-account/decorators/singleOwner.d.ts +17 -0
  251. package/dist/types/light-account/decorators/singleOwner.d.ts.map +1 -0
  252. package/dist/types/light-account/lightAccountStaticImpl.d.ts +25 -0
  253. package/dist/types/light-account/lightAccountStaticImpl.d.ts.map +1 -0
  254. package/dist/types/light-account/predictAddress.d.ts +36 -0
  255. package/dist/types/light-account/predictAddress.d.ts.map +1 -0
  256. package/dist/types/light-account/registry.d.ts +7116 -0
  257. package/dist/types/light-account/registry.d.ts.map +1 -0
  258. package/dist/types/light-account/utils.d.ts +1455 -0
  259. package/dist/types/light-account/utils.d.ts.map +1 -0
  260. package/dist/types/logger.d.ts +3 -0
  261. package/dist/types/logger.d.ts.map +1 -0
  262. package/dist/types/ma-v1/abis/IStandardExecutor.d.ts +51 -0
  263. package/dist/types/ma-v1/abis/IStandardExecutor.d.ts.map +1 -0
  264. package/dist/types/ma-v1/abis/MultiOwnerModularAccountFactory.d.ts +235 -0
  265. package/dist/types/ma-v1/abis/MultiOwnerModularAccountFactory.d.ts.map +1 -0
  266. package/dist/types/ma-v1/abis/MultiOwnerPlugin.d.ts +699 -0
  267. package/dist/types/ma-v1/abis/MultiOwnerPlugin.d.ts.map +1 -0
  268. package/dist/types/ma-v1/abis/MultiOwnerPluginExecutionFunction.d.ts +68 -0
  269. package/dist/types/ma-v1/abis/MultiOwnerPluginExecutionFunction.d.ts.map +1 -0
  270. package/dist/types/ma-v1/abis/UpgradeableModularAccount.d.ts +881 -0
  271. package/dist/types/ma-v1/abis/UpgradeableModularAccount.d.ts.map +1 -0
  272. package/dist/types/ma-v1/account.d.ts +17 -0
  273. package/dist/types/ma-v1/account.d.ts.map +1 -0
  274. package/dist/types/ma-v1/accounts/base.d.ts +30 -0
  275. package/dist/types/ma-v1/accounts/base.d.ts.map +1 -0
  276. package/dist/types/ma-v1/accounts/multi-owner-account.d.ts +23 -0
  277. package/dist/types/ma-v1/accounts/multi-owner-account.d.ts.map +1 -0
  278. package/dist/types/ma-v1/decorators/multiOwner.d.ts +18 -0
  279. package/dist/types/ma-v1/decorators/multiOwner.d.ts.map +1 -0
  280. package/dist/types/ma-v1/mav1StaticImpl.d.ts +16 -0
  281. package/dist/types/ma-v1/mav1StaticImpl.d.ts.map +1 -0
  282. package/dist/types/ma-v1/predictAddress.d.ts +29 -0
  283. package/dist/types/ma-v1/predictAddress.d.ts.map +1 -0
  284. package/dist/types/ma-v2/abis/accountFactoryAbi.d.ts +349 -0
  285. package/dist/types/ma-v2/abis/accountFactoryAbi.d.ts.map +1 -0
  286. package/dist/types/ma-v2/abis/entityIdAndNonceReader.d.ts +10 -0
  287. package/dist/types/ma-v2/abis/entityIdAndNonceReader.d.ts.map +1 -0
  288. package/dist/types/ma-v2/abis/modularAccountAbi.d.ts +955 -0
  289. package/dist/types/ma-v2/abis/modularAccountAbi.d.ts.map +1 -0
  290. package/dist/types/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts +992 -0
  291. package/dist/types/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts.map +1 -0
  292. package/dist/types/ma-v2/abis/semiModularAccountStorageAbi.d.ts +1002 -0
  293. package/dist/types/ma-v2/abis/semiModularAccountStorageAbi.d.ts.map +1 -0
  294. package/dist/types/ma-v2/abis/webAuthnFactoryAbi.d.ts +331 -0
  295. package/dist/types/ma-v2/abis/webAuthnFactoryAbi.d.ts.map +1 -0
  296. package/dist/types/ma-v2/accounts/account.d.ts +33 -0
  297. package/dist/types/ma-v2/accounts/account.d.ts.map +1 -0
  298. package/dist/types/ma-v2/accounts/base.d.ts +41 -0
  299. package/dist/types/ma-v2/accounts/base.d.ts.map +1 -0
  300. package/dist/types/ma-v2/decorators/deferralActions.d.ts +52 -0
  301. package/dist/types/ma-v2/decorators/deferralActions.d.ts.map +1 -0
  302. package/dist/types/ma-v2/decorators/installValidation.d.ts +72 -0
  303. package/dist/types/ma-v2/decorators/installValidation.d.ts.map +1 -0
  304. package/dist/types/ma-v2/mav2StaticImpl.d.ts +38 -0
  305. package/dist/types/ma-v2/mav2StaticImpl.d.ts.map +1 -0
  306. package/dist/types/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts +557 -0
  307. package/dist/types/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts.map +1 -0
  308. package/dist/types/ma-v2/modules/allowlist-module/module.d.ts +594 -0
  309. package/dist/types/ma-v2/modules/allowlist-module/module.d.ts.map +1 -0
  310. package/dist/types/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts +313 -0
  311. package/dist/types/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts.map +1 -0
  312. package/dist/types/ma-v2/modules/native-token-limit-module/module.d.ts +323 -0
  313. package/dist/types/ma-v2/modules/native-token-limit-module/module.d.ts.map +1 -0
  314. package/dist/types/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts +187 -0
  315. package/dist/types/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts.map +1 -0
  316. package/dist/types/ma-v2/modules/paymaster-guard-module/module.d.ts +197 -0
  317. package/dist/types/ma-v2/modules/paymaster-guard-module/module.d.ts.map +1 -0
  318. package/dist/types/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts +46 -0
  319. package/dist/types/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts.map +1 -0
  320. package/dist/types/ma-v2/modules/single-signer-validation/module.d.ts +11 -0
  321. package/dist/types/ma-v2/modules/single-signer-validation/module.d.ts.map +1 -0
  322. package/dist/types/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts +230 -0
  323. package/dist/types/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts.map +1 -0
  324. package/dist/types/ma-v2/modules/time-range-module/module.d.ts +255 -0
  325. package/dist/types/ma-v2/modules/time-range-module/module.d.ts.map +1 -0
  326. package/dist/types/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts +288 -0
  327. package/dist/types/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts.map +1 -0
  328. package/dist/types/ma-v2/modules/webauthn-validation/module.d.ts +12 -0
  329. package/dist/types/ma-v2/modules/webauthn-validation/module.d.ts.map +1 -0
  330. package/dist/types/ma-v2/permissionBuilder.d.ts +159 -0
  331. package/dist/types/ma-v2/permissionBuilder.d.ts.map +1 -0
  332. package/dist/types/ma-v2/predictAddress.d.ts +38 -0
  333. package/dist/types/ma-v2/predictAddress.d.ts.map +1 -0
  334. package/dist/types/ma-v2/types.d.ts +58 -0
  335. package/dist/types/ma-v2/types.d.ts.map +1 -0
  336. package/dist/types/ma-v2/utils/account.d.ts +86 -0
  337. package/dist/types/ma-v2/utils/account.d.ts.map +1 -0
  338. package/dist/types/ma-v2/utils/deferredActions.d.ts +30 -0
  339. package/dist/types/ma-v2/utils/deferredActions.d.ts.map +1 -0
  340. package/dist/types/ma-v2/utils/hooks.d.ts +56 -0
  341. package/dist/types/ma-v2/utils/hooks.d.ts.map +1 -0
  342. package/dist/types/ma-v2/utils/signature.d.ts +64 -0
  343. package/dist/types/ma-v2/utils/signature.d.ts.map +1 -0
  344. package/dist/types/test-utils/getAccountAddressViaEntryPoint.d.ts +19 -0
  345. package/dist/types/test-utils/getAccountAddressViaEntryPoint.d.ts.map +1 -0
  346. package/dist/types/types.d.ts +31 -0
  347. package/dist/types/types.d.ts.map +1 -0
  348. package/dist/types/utils.d.ts +7 -0
  349. package/dist/types/utils.d.ts.map +1 -0
  350. package/dist/types/version.d.ts +2 -0
  351. package/dist/types/version.d.ts.map +1 -0
  352. package/package.json +63 -0
  353. package/src/errors/EntityIdOverrideError.ts +15 -0
  354. package/src/errors/InvalidDeferredActionNonceError.ts +15 -0
  355. package/src/errors/InvalidEntityIdError.ts +19 -0
  356. package/src/errors/InvalidNonceKeyError.ts +19 -0
  357. package/src/errors/InvalidOwnerError.ts +17 -0
  358. package/src/errors/permissionBuilderErrors.ts +212 -0
  359. package/src/index.ts +152 -0
  360. package/src/light-account/abis/LightAccountAbi_v1.ts +378 -0
  361. package/src/light-account/abis/LightAccountAbi_v2.ts +354 -0
  362. package/src/light-account/abis/LightAccountFactoryAbi_v1.ts +74 -0
  363. package/src/light-account/abis/LightAccountFactoryAbi_v2.ts +209 -0
  364. package/src/light-account/abis/MultiOwnerLightAccountAbi.ts +371 -0
  365. package/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.ts +228 -0
  366. package/src/light-account/abis/OZ_ERC1967Proxy.ts +19 -0
  367. package/src/light-account/accounts/account.ts +154 -0
  368. package/src/light-account/accounts/base.ts +340 -0
  369. package/src/light-account/accounts/calldataCodec.ts +101 -0
  370. package/src/light-account/accounts/multi-owner-account.ts +138 -0
  371. package/src/light-account/decorators/multiOwner.ts +69 -0
  372. package/src/light-account/decorators/singleOwner.ts +61 -0
  373. package/src/light-account/lightAccountStaticImpl.ts +172 -0
  374. package/src/light-account/predictAddress.ts +174 -0
  375. package/src/light-account/registry.ts +72 -0
  376. package/src/light-account/utils.ts +95 -0
  377. package/src/logger.ts +9 -0
  378. package/src/ma-v1/abis/IStandardExecutor.ts +31 -0
  379. package/src/ma-v1/abis/MultiOwnerModularAccountFactory.ts +190 -0
  380. package/src/ma-v1/abis/MultiOwnerPlugin.ts +528 -0
  381. package/src/ma-v1/abis/MultiOwnerPluginExecutionFunction.ts +37 -0
  382. package/src/ma-v1/abis/UpgradeableModularAccount.ts +645 -0
  383. package/src/ma-v1/account.ts +19 -0
  384. package/src/ma-v1/accounts/base.ts +245 -0
  385. package/src/ma-v1/accounts/multi-owner-account.ts +162 -0
  386. package/src/ma-v1/decorators/multiOwner.ts +69 -0
  387. package/src/ma-v1/mav1StaticImpl.ts +53 -0
  388. package/src/ma-v1/predictAddress.ts +85 -0
  389. package/src/ma-v2/abis/accountFactoryAbi.ts +644 -0
  390. package/src/ma-v2/abis/entityIdAndNonceReader.ts +23 -0
  391. package/src/ma-v2/abis/modularAccountAbi.ts +1241 -0
  392. package/src/ma-v2/abis/semiModularAccountBytecodeAbi.ts +1288 -0
  393. package/src/ma-v2/abis/semiModularAccountStorageAbi.ts +1301 -0
  394. package/src/ma-v2/abis/webAuthnFactoryAbi.ts +259 -0
  395. package/src/ma-v2/accounts/account.ts +211 -0
  396. package/src/ma-v2/accounts/base.ts +569 -0
  397. package/src/ma-v2/decorators/deferralActions.ts +193 -0
  398. package/src/ma-v2/decorators/installValidation.ts +257 -0
  399. package/src/ma-v2/mav2StaticImpl.ts +134 -0
  400. package/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.ts +715 -0
  401. package/src/ma-v2/modules/allowlist-module/module.ts +116 -0
  402. package/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.ts +403 -0
  403. package/src/ma-v2/modules/native-token-limit-module/module.ts +21 -0
  404. package/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.ts +241 -0
  405. package/src/ma-v2/modules/paymaster-guard-module/module.ts +35 -0
  406. package/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.ts +330 -0
  407. package/src/ma-v2/modules/single-signer-validation/module.ts +24 -0
  408. package/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.ts +295 -0
  409. package/src/ma-v2/modules/time-range-module/module.ts +96 -0
  410. package/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.ts +373 -0
  411. package/src/ma-v2/modules/webauthn-validation/module.ts +28 -0
  412. package/src/ma-v2/permissionBuilder.ts +761 -0
  413. package/src/ma-v2/predictAddress.ts +149 -0
  414. package/src/ma-v2/types.ts +73 -0
  415. package/src/ma-v2/utils/account.ts +137 -0
  416. package/src/ma-v2/utils/deferredActions.ts +66 -0
  417. package/src/ma-v2/utils/hooks.ts +79 -0
  418. package/src/ma-v2/utils/signature.ts +129 -0
  419. package/src/test-utils/getAccountAddressViaEntryPoint.ts +43 -0
  420. package/src/types.ts +58 -0
  421. package/src/utils.ts +85 -0
  422. package/src/version.ts +3 -0
@@ -0,0 +1,296 @@
1
+ export const timeRangeModuleAbi = [
2
+ {
3
+ type: "function",
4
+ name: "moduleId",
5
+ inputs: [],
6
+ outputs: [
7
+ {
8
+ name: "",
9
+ type: "string",
10
+ internalType: "string",
11
+ },
12
+ ],
13
+ stateMutability: "pure",
14
+ },
15
+ {
16
+ type: "function",
17
+ name: "onInstall",
18
+ inputs: [
19
+ {
20
+ name: "data",
21
+ type: "bytes",
22
+ internalType: "bytes",
23
+ },
24
+ ],
25
+ outputs: [],
26
+ stateMutability: "nonpayable",
27
+ },
28
+ {
29
+ type: "function",
30
+ name: "onUninstall",
31
+ inputs: [
32
+ {
33
+ name: "data",
34
+ type: "bytes",
35
+ internalType: "bytes",
36
+ },
37
+ ],
38
+ outputs: [],
39
+ stateMutability: "nonpayable",
40
+ },
41
+ {
42
+ type: "function",
43
+ name: "preRuntimeValidationHook",
44
+ inputs: [
45
+ {
46
+ name: "entityId",
47
+ type: "uint32",
48
+ internalType: "uint32",
49
+ },
50
+ {
51
+ name: "",
52
+ type: "address",
53
+ internalType: "address",
54
+ },
55
+ {
56
+ name: "",
57
+ type: "uint256",
58
+ internalType: "uint256",
59
+ },
60
+ {
61
+ name: "",
62
+ type: "bytes",
63
+ internalType: "bytes",
64
+ },
65
+ {
66
+ name: "",
67
+ type: "bytes",
68
+ internalType: "bytes",
69
+ },
70
+ ],
71
+ outputs: [],
72
+ stateMutability: "view",
73
+ },
74
+ {
75
+ type: "function",
76
+ name: "preSignatureValidationHook",
77
+ inputs: [
78
+ {
79
+ name: "",
80
+ type: "uint32",
81
+ internalType: "uint32",
82
+ },
83
+ {
84
+ name: "",
85
+ type: "address",
86
+ internalType: "address",
87
+ },
88
+ {
89
+ name: "",
90
+ type: "bytes32",
91
+ internalType: "bytes32",
92
+ },
93
+ {
94
+ name: "",
95
+ type: "bytes",
96
+ internalType: "bytes",
97
+ },
98
+ ],
99
+ outputs: [],
100
+ stateMutability: "pure",
101
+ },
102
+ {
103
+ type: "function",
104
+ name: "preUserOpValidationHook",
105
+ inputs: [
106
+ {
107
+ name: "entityId",
108
+ type: "uint32",
109
+ internalType: "uint32",
110
+ },
111
+ {
112
+ name: "userOp",
113
+ type: "tuple",
114
+ internalType: "struct PackedUserOperation",
115
+ components: [
116
+ {
117
+ name: "sender",
118
+ type: "address",
119
+ internalType: "address",
120
+ },
121
+ {
122
+ name: "nonce",
123
+ type: "uint256",
124
+ internalType: "uint256",
125
+ },
126
+ {
127
+ name: "initCode",
128
+ type: "bytes",
129
+ internalType: "bytes",
130
+ },
131
+ {
132
+ name: "callData",
133
+ type: "bytes",
134
+ internalType: "bytes",
135
+ },
136
+ {
137
+ name: "accountGasLimits",
138
+ type: "bytes32",
139
+ internalType: "bytes32",
140
+ },
141
+ {
142
+ name: "preVerificationGas",
143
+ type: "uint256",
144
+ internalType: "uint256",
145
+ },
146
+ {
147
+ name: "gasFees",
148
+ type: "bytes32",
149
+ internalType: "bytes32",
150
+ },
151
+ {
152
+ name: "paymasterAndData",
153
+ type: "bytes",
154
+ internalType: "bytes",
155
+ },
156
+ {
157
+ name: "signature",
158
+ type: "bytes",
159
+ internalType: "bytes",
160
+ },
161
+ ],
162
+ },
163
+ {
164
+ name: "",
165
+ type: "bytes32",
166
+ internalType: "bytes32",
167
+ },
168
+ ],
169
+ outputs: [
170
+ {
171
+ name: "",
172
+ type: "uint256",
173
+ internalType: "uint256",
174
+ },
175
+ ],
176
+ stateMutability: "view",
177
+ },
178
+ {
179
+ type: "function",
180
+ name: "setTimeRange",
181
+ inputs: [
182
+ {
183
+ name: "entityId",
184
+ type: "uint32",
185
+ internalType: "uint32",
186
+ },
187
+ {
188
+ name: "validUntil",
189
+ type: "uint48",
190
+ internalType: "uint48",
191
+ },
192
+ {
193
+ name: "validAfter",
194
+ type: "uint48",
195
+ internalType: "uint48",
196
+ },
197
+ ],
198
+ outputs: [],
199
+ stateMutability: "nonpayable",
200
+ },
201
+ {
202
+ type: "function",
203
+ name: "supportsInterface",
204
+ inputs: [
205
+ {
206
+ name: "interfaceId",
207
+ type: "bytes4",
208
+ internalType: "bytes4",
209
+ },
210
+ ],
211
+ outputs: [
212
+ {
213
+ name: "",
214
+ type: "bool",
215
+ internalType: "bool",
216
+ },
217
+ ],
218
+ stateMutability: "view",
219
+ },
220
+ {
221
+ type: "function",
222
+ name: "timeRanges",
223
+ inputs: [
224
+ {
225
+ name: "entityId",
226
+ type: "uint32",
227
+ internalType: "uint32",
228
+ },
229
+ {
230
+ name: "account",
231
+ type: "address",
232
+ internalType: "address",
233
+ },
234
+ ],
235
+ outputs: [
236
+ {
237
+ name: "validUntil",
238
+ type: "uint48",
239
+ internalType: "uint48",
240
+ },
241
+ {
242
+ name: "validAfter",
243
+ type: "uint48",
244
+ internalType: "uint48",
245
+ },
246
+ ],
247
+ stateMutability: "view",
248
+ },
249
+ {
250
+ type: "event",
251
+ name: "TimeRangeSet",
252
+ inputs: [
253
+ {
254
+ name: "entityId",
255
+ type: "uint32",
256
+ indexed: true,
257
+ internalType: "uint32",
258
+ },
259
+ {
260
+ name: "account",
261
+ type: "address",
262
+ indexed: true,
263
+ internalType: "address",
264
+ },
265
+ {
266
+ name: "validUntil",
267
+ type: "uint48",
268
+ indexed: false,
269
+ internalType: "uint48",
270
+ },
271
+ {
272
+ name: "validAfter",
273
+ type: "uint48",
274
+ indexed: false,
275
+ internalType: "uint48",
276
+ },
277
+ ],
278
+ anonymous: false,
279
+ },
280
+ {
281
+ type: "error",
282
+ name: "NotImplemented",
283
+ inputs: [],
284
+ },
285
+ {
286
+ type: "error",
287
+ name: "TimeRangeNotValid",
288
+ inputs: [],
289
+ },
290
+ {
291
+ type: "error",
292
+ name: "UnexpectedDataPassed",
293
+ inputs: [],
294
+ },
295
+ ];
296
+ //# sourceMappingURL=timeRangeModuleAbi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeRangeModuleAbi.js","sourceRoot":"","sources":["../../../../../../src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;YACD;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,4BAA4B;gBAC1C,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACtB;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACtB;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACtB;oBACD;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACtB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,MAAM;aACrB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;QACD,SAAS,EAAE,KAAK;KACjB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,EAAE;KACX;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,EAAE;KACX;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,EAAE;KACX;CACO,CAAC","sourcesContent":["export const timeRangeModuleAbi = [\n {\n type: \"function\",\n name: \"moduleId\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"onInstall\",\n inputs: [\n {\n name: \"data\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"onUninstall\",\n inputs: [\n {\n name: \"data\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"preRuntimeValidationHook\",\n inputs: [\n {\n name: \"entityId\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"preSignatureValidationHook\",\n inputs: [\n {\n name: \"\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"preUserOpValidationHook\",\n inputs: [\n {\n name: \"entityId\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"userOp\",\n type: \"tuple\",\n internalType: \"struct PackedUserOperation\",\n components: [\n {\n name: \"sender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"nonce\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"initCode\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"callData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"accountGasLimits\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"preVerificationGas\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"gasFees\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"paymasterAndData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"signature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"setTimeRange\",\n inputs: [\n {\n name: \"entityId\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"validUntil\",\n type: \"uint48\",\n internalType: \"uint48\",\n },\n {\n name: \"validAfter\",\n type: \"uint48\",\n internalType: \"uint48\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"supportsInterface\",\n inputs: [\n {\n name: \"interfaceId\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"timeRanges\",\n inputs: [\n {\n name: \"entityId\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"account\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"validUntil\",\n type: \"uint48\",\n internalType: \"uint48\",\n },\n {\n name: \"validAfter\",\n type: \"uint48\",\n internalType: \"uint48\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"event\",\n name: \"TimeRangeSet\",\n inputs: [\n {\n name: \"entityId\",\n type: \"uint32\",\n indexed: true,\n internalType: \"uint32\",\n },\n {\n name: \"account\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"validUntil\",\n type: \"uint48\",\n indexed: false,\n internalType: \"uint48\",\n },\n {\n name: \"validAfter\",\n type: \"uint48\",\n indexed: false,\n internalType: \"uint48\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"NotImplemented\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"TimeRangeNotValid\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"UnexpectedDataPassed\",\n inputs: [],\n },\n] as const;\n"]}
@@ -0,0 +1,254 @@
1
+ import { type Address, type Hex } from "viem";
2
+ import { type HookConfig } from "../../types.js";
3
+ export declare const TimeRangeModule: {
4
+ abi: readonly [{
5
+ readonly type: "function";
6
+ readonly name: "moduleId";
7
+ readonly inputs: readonly [];
8
+ readonly outputs: readonly [{
9
+ readonly name: "";
10
+ readonly type: "string";
11
+ readonly internalType: "string";
12
+ }];
13
+ readonly stateMutability: "pure";
14
+ }, {
15
+ readonly type: "function";
16
+ readonly name: "onInstall";
17
+ readonly inputs: readonly [{
18
+ readonly name: "data";
19
+ readonly type: "bytes";
20
+ readonly internalType: "bytes";
21
+ }];
22
+ readonly outputs: readonly [];
23
+ readonly stateMutability: "nonpayable";
24
+ }, {
25
+ readonly type: "function";
26
+ readonly name: "onUninstall";
27
+ readonly inputs: readonly [{
28
+ readonly name: "data";
29
+ readonly type: "bytes";
30
+ readonly internalType: "bytes";
31
+ }];
32
+ readonly outputs: readonly [];
33
+ readonly stateMutability: "nonpayable";
34
+ }, {
35
+ readonly type: "function";
36
+ readonly name: "preRuntimeValidationHook";
37
+ readonly inputs: readonly [{
38
+ readonly name: "entityId";
39
+ readonly type: "uint32";
40
+ readonly internalType: "uint32";
41
+ }, {
42
+ readonly name: "";
43
+ readonly type: "address";
44
+ readonly internalType: "address";
45
+ }, {
46
+ readonly name: "";
47
+ readonly type: "uint256";
48
+ readonly internalType: "uint256";
49
+ }, {
50
+ readonly name: "";
51
+ readonly type: "bytes";
52
+ readonly internalType: "bytes";
53
+ }, {
54
+ readonly name: "";
55
+ readonly type: "bytes";
56
+ readonly internalType: "bytes";
57
+ }];
58
+ readonly outputs: readonly [];
59
+ readonly stateMutability: "view";
60
+ }, {
61
+ readonly type: "function";
62
+ readonly name: "preSignatureValidationHook";
63
+ readonly inputs: readonly [{
64
+ readonly name: "";
65
+ readonly type: "uint32";
66
+ readonly internalType: "uint32";
67
+ }, {
68
+ readonly name: "";
69
+ readonly type: "address";
70
+ readonly internalType: "address";
71
+ }, {
72
+ readonly name: "";
73
+ readonly type: "bytes32";
74
+ readonly internalType: "bytes32";
75
+ }, {
76
+ readonly name: "";
77
+ readonly type: "bytes";
78
+ readonly internalType: "bytes";
79
+ }];
80
+ readonly outputs: readonly [];
81
+ readonly stateMutability: "pure";
82
+ }, {
83
+ readonly type: "function";
84
+ readonly name: "preUserOpValidationHook";
85
+ readonly inputs: readonly [{
86
+ readonly name: "entityId";
87
+ readonly type: "uint32";
88
+ readonly internalType: "uint32";
89
+ }, {
90
+ readonly name: "userOp";
91
+ readonly type: "tuple";
92
+ readonly internalType: "struct PackedUserOperation";
93
+ readonly components: readonly [{
94
+ readonly name: "sender";
95
+ readonly type: "address";
96
+ readonly internalType: "address";
97
+ }, {
98
+ readonly name: "nonce";
99
+ readonly type: "uint256";
100
+ readonly internalType: "uint256";
101
+ }, {
102
+ readonly name: "initCode";
103
+ readonly type: "bytes";
104
+ readonly internalType: "bytes";
105
+ }, {
106
+ readonly name: "callData";
107
+ readonly type: "bytes";
108
+ readonly internalType: "bytes";
109
+ }, {
110
+ readonly name: "accountGasLimits";
111
+ readonly type: "bytes32";
112
+ readonly internalType: "bytes32";
113
+ }, {
114
+ readonly name: "preVerificationGas";
115
+ readonly type: "uint256";
116
+ readonly internalType: "uint256";
117
+ }, {
118
+ readonly name: "gasFees";
119
+ readonly type: "bytes32";
120
+ readonly internalType: "bytes32";
121
+ }, {
122
+ readonly name: "paymasterAndData";
123
+ readonly type: "bytes";
124
+ readonly internalType: "bytes";
125
+ }, {
126
+ readonly name: "signature";
127
+ readonly type: "bytes";
128
+ readonly internalType: "bytes";
129
+ }];
130
+ }, {
131
+ readonly name: "";
132
+ readonly type: "bytes32";
133
+ readonly internalType: "bytes32";
134
+ }];
135
+ readonly outputs: readonly [{
136
+ readonly name: "";
137
+ readonly type: "uint256";
138
+ readonly internalType: "uint256";
139
+ }];
140
+ readonly stateMutability: "view";
141
+ }, {
142
+ readonly type: "function";
143
+ readonly name: "setTimeRange";
144
+ readonly inputs: readonly [{
145
+ readonly name: "entityId";
146
+ readonly type: "uint32";
147
+ readonly internalType: "uint32";
148
+ }, {
149
+ readonly name: "validUntil";
150
+ readonly type: "uint48";
151
+ readonly internalType: "uint48";
152
+ }, {
153
+ readonly name: "validAfter";
154
+ readonly type: "uint48";
155
+ readonly internalType: "uint48";
156
+ }];
157
+ readonly outputs: readonly [];
158
+ readonly stateMutability: "nonpayable";
159
+ }, {
160
+ readonly type: "function";
161
+ readonly name: "supportsInterface";
162
+ readonly inputs: readonly [{
163
+ readonly name: "interfaceId";
164
+ readonly type: "bytes4";
165
+ readonly internalType: "bytes4";
166
+ }];
167
+ readonly outputs: readonly [{
168
+ readonly name: "";
169
+ readonly type: "bool";
170
+ readonly internalType: "bool";
171
+ }];
172
+ readonly stateMutability: "view";
173
+ }, {
174
+ readonly type: "function";
175
+ readonly name: "timeRanges";
176
+ readonly inputs: readonly [{
177
+ readonly name: "entityId";
178
+ readonly type: "uint32";
179
+ readonly internalType: "uint32";
180
+ }, {
181
+ readonly name: "account";
182
+ readonly type: "address";
183
+ readonly internalType: "address";
184
+ }];
185
+ readonly outputs: readonly [{
186
+ readonly name: "validUntil";
187
+ readonly type: "uint48";
188
+ readonly internalType: "uint48";
189
+ }, {
190
+ readonly name: "validAfter";
191
+ readonly type: "uint48";
192
+ readonly internalType: "uint48";
193
+ }];
194
+ readonly stateMutability: "view";
195
+ }, {
196
+ readonly type: "event";
197
+ readonly name: "TimeRangeSet";
198
+ readonly inputs: readonly [{
199
+ readonly name: "entityId";
200
+ readonly type: "uint32";
201
+ readonly indexed: true;
202
+ readonly internalType: "uint32";
203
+ }, {
204
+ readonly name: "account";
205
+ readonly type: "address";
206
+ readonly indexed: true;
207
+ readonly internalType: "address";
208
+ }, {
209
+ readonly name: "validUntil";
210
+ readonly type: "uint48";
211
+ readonly indexed: false;
212
+ readonly internalType: "uint48";
213
+ }, {
214
+ readonly name: "validAfter";
215
+ readonly type: "uint48";
216
+ readonly indexed: false;
217
+ readonly internalType: "uint48";
218
+ }];
219
+ readonly anonymous: false;
220
+ }, {
221
+ readonly type: "error";
222
+ readonly name: "NotImplemented";
223
+ readonly inputs: readonly [];
224
+ }, {
225
+ readonly type: "error";
226
+ readonly name: "TimeRangeNotValid";
227
+ readonly inputs: readonly [];
228
+ }, {
229
+ readonly type: "error";
230
+ readonly name: "UnexpectedDataPassed";
231
+ readonly inputs: readonly [];
232
+ }];
233
+ buildHook: (installArgs: {
234
+ entityId: number;
235
+ validUntil: number;
236
+ validAfter: number;
237
+ }, address: Address) => {
238
+ hookConfig: HookConfig;
239
+ initData: Hex;
240
+ };
241
+ encodeOnInstallData: (args: {
242
+ entityId: number;
243
+ validUntil: number;
244
+ validAfter: number;
245
+ }) => Hex;
246
+ encodeOnUninstallData: (args: {
247
+ entityId: number;
248
+ }) => Hex;
249
+ encodeSetTimeRange: (args: {
250
+ entityId: number;
251
+ validUntil: number;
252
+ validAfter: number;
253
+ }) => Hex;
254
+ };
@@ -0,0 +1,62 @@
1
+ import { encodeAbiParameters } from "viem";
2
+ import { timeRangeModuleAbi } from "./abis/timeRangeModuleAbi.js";
3
+ import { HookType } from "../../types.js";
4
+ export const TimeRangeModule = {
5
+ abi: timeRangeModuleAbi,
6
+ buildHook: (installArgs, address) => {
7
+ if (installArgs.validUntil > 2 ** 48 - 1) {
8
+ throw new Error("TimeRangeModule.buildHook: validUntil > type(uint48).max");
9
+ }
10
+ if (installArgs.validAfter > 2 ** 48 - 1) {
11
+ throw new Error("TimeRangeModule.buildHook: validAfter > type(uint48).max");
12
+ }
13
+ const installData = TimeRangeModule.encodeOnInstallData(installArgs);
14
+ return {
15
+ hookConfig: {
16
+ address: address,
17
+ entityId: installArgs.entityId,
18
+ hookType: HookType.VALIDATION,
19
+ hasPreHooks: false,
20
+ hasPostHooks: false,
21
+ },
22
+ initData: installData,
23
+ };
24
+ },
25
+ encodeOnInstallData: (args) => {
26
+ const { entityId, validUntil, validAfter } = args;
27
+ return encodeAbiParameters([
28
+ {
29
+ type: "uint32",
30
+ },
31
+ {
32
+ type: "uint48",
33
+ },
34
+ {
35
+ type: "uint48",
36
+ },
37
+ ], [entityId, validUntil, validAfter]);
38
+ },
39
+ encodeOnUninstallData: (args) => {
40
+ const { entityId } = args;
41
+ return encodeAbiParameters([
42
+ {
43
+ type: "uint32",
44
+ },
45
+ ], [entityId]);
46
+ },
47
+ encodeSetTimeRange: (args) => {
48
+ const { entityId, validUntil, validAfter } = args;
49
+ return encodeAbiParameters([
50
+ {
51
+ type: "uint32",
52
+ },
53
+ {
54
+ type: "uint48",
55
+ },
56
+ {
57
+ type: "uint48",
58
+ },
59
+ ], [entityId, validUntil, validAfter]);
60
+ },
61
+ };
62
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/ma-v2/modules/time-range-module/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA0B,MAAM,MAAM,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,EAAE,kBAAkB;IACvB,SAAS,EAAE,CACT,WAIC,EACD,OAAgB,EAC2B,EAAE;QAC7C,IAAI,WAAW,CAAC,UAAU,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,CAAC,UAAU,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,eAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACrE,OAAO;YACL,UAAU,EAAE;gBACV,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,QAAQ,CAAC,UAAU;gBAC7B,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,KAAK;aACpB;YACD,QAAQ,EAAE,WAAW;SACtB,CAAC;IACJ,CAAC;IACD,mBAAmB,EAAE,CAAC,IAIrB,EAAO,EAAE;QACR,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAElD,OAAO,mBAAmB,CACxB;YACE;gBACE,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,IAAI,EAAE,QAAQ;aACf;SACF,EACD,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CACnC,CAAC;IACJ,CAAC;IACD,qBAAqB,EAAE,CAAC,IAA0B,EAAO,EAAE;QACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE1B,OAAO,mBAAmB,CACxB;YACE;gBACE,IAAI,EAAE,QAAQ;aACf;SACF,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IACJ,CAAC;IACD,kBAAkB,EAAE,CAAC,IAIpB,EAAO,EAAE;QACR,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAElD,OAAO,mBAAmB,CACxB;YACE;gBACE,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,IAAI,EAAE,QAAQ;aACf;SACF,EACD,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CACnC,CAAC;IACJ,CAAC;CACF,CAAC","sourcesContent":["import { encodeAbiParameters, type Address, type Hex } from \"viem\";\n\nimport { timeRangeModuleAbi } from \"./abis/timeRangeModuleAbi.js\";\nimport { HookType, type HookConfig } from \"../../types.js\";\n\nexport const TimeRangeModule = {\n abi: timeRangeModuleAbi,\n buildHook: (\n installArgs: {\n entityId: number;\n validUntil: number;\n validAfter: number;\n },\n address: Address,\n ): { hookConfig: HookConfig; initData: Hex } => {\n if (installArgs.validUntil > 2 ** 48 - 1) {\n throw new Error(\n \"TimeRangeModule.buildHook: validUntil > type(uint48).max\",\n );\n }\n\n if (installArgs.validAfter > 2 ** 48 - 1) {\n throw new Error(\n \"TimeRangeModule.buildHook: validAfter > type(uint48).max\",\n );\n }\n\n const installData = TimeRangeModule.encodeOnInstallData(installArgs);\n return {\n hookConfig: {\n address: address,\n entityId: installArgs.entityId,\n hookType: HookType.VALIDATION,\n hasPreHooks: false,\n hasPostHooks: false,\n },\n initData: installData,\n };\n },\n encodeOnInstallData: (args: {\n entityId: number;\n validUntil: number;\n validAfter: number;\n }): Hex => {\n const { entityId, validUntil, validAfter } = args;\n\n return encodeAbiParameters(\n [\n {\n type: \"uint32\",\n },\n {\n type: \"uint48\",\n },\n {\n type: \"uint48\",\n },\n ],\n [entityId, validUntil, validAfter],\n );\n },\n encodeOnUninstallData: (args: { entityId: number }): Hex => {\n const { entityId } = args;\n\n return encodeAbiParameters(\n [\n {\n type: \"uint32\",\n },\n ],\n [entityId],\n );\n },\n encodeSetTimeRange: (args: {\n entityId: number;\n validUntil: number;\n validAfter: number;\n }): Hex => {\n const { entityId, validUntil, validAfter } = args;\n\n return encodeAbiParameters(\n [\n {\n type: \"uint32\",\n },\n {\n type: \"uint48\",\n },\n {\n type: \"uint48\",\n },\n ],\n [entityId, validUntil, validAfter],\n );\n },\n};\n"]}