@wuwei-labs/srsly 2.0.0-beta.9 → 2.3.3-canary.36.16828734028.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 (668) hide show
  1. package/README.md +366 -544
  2. package/dist/cjs/config/index.js +12 -0
  3. package/dist/cjs/config/index.js.map +1 -0
  4. package/dist/cjs/config/initialize.js +95 -0
  5. package/dist/cjs/config/initialize.js.map +1 -0
  6. package/dist/cjs/config/update.js +163 -0
  7. package/dist/cjs/config/update.js.map +1 -0
  8. package/dist/cjs/contract/close.js +128 -67
  9. package/dist/cjs/contract/close.js.map +1 -1
  10. package/dist/cjs/contract/create.js +232 -43
  11. package/dist/cjs/contract/create.js.map +1 -1
  12. package/dist/cjs/contract/index.js +49 -0
  13. package/dist/cjs/contract/index.js.map +1 -1
  14. package/dist/cjs/demos.js +69 -0
  15. package/dist/cjs/demos.js.map +1 -0
  16. package/dist/cjs/generated/codama/accounts/configState.js +123 -0
  17. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -0
  18. package/dist/cjs/{codama/devnet → generated/codama}/accounts/contractState.js +47 -9
  19. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -0
  20. package/dist/cjs/{codama/devnet → generated/codama}/accounts/index.js +1 -1
  21. package/dist/cjs/generated/codama/accounts/index.js.map +1 -0
  22. package/dist/cjs/{codama/devnet → generated/codama}/accounts/rentalState.js +49 -11
  23. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -0
  24. package/dist/cjs/{codama/mainnet → generated/codama}/accounts/thread.js +42 -5
  25. package/dist/cjs/generated/codama/accounts/thread.js.map +1 -0
  26. package/dist/cjs/generated/codama/errors/index.js.map +1 -0
  27. package/dist/cjs/generated/codama/errors/srsly.js +101 -0
  28. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -0
  29. package/dist/cjs/generated/codama/index.js.map +1 -0
  30. package/dist/cjs/{codama/devnet → generated/codama}/instructions/acceptRental.js +18 -43
  31. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -0
  32. package/dist/cjs/{codama/mainnet → generated/codama}/instructions/cancelRental.js +66 -34
  33. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -0
  34. package/dist/cjs/{codama/devnet/instructions/resetRental.js → generated/codama/instructions/closeContract.js} +29 -38
  35. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -0
  36. package/dist/cjs/{codama/mainnet → generated/codama}/instructions/closeRental.js +89 -44
  37. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -0
  38. package/dist/cjs/{codama/devnet → generated/codama}/instructions/createContract.js +13 -16
  39. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -0
  40. package/dist/cjs/{codama/mainnet → generated/codama}/instructions/index.js +2 -0
  41. package/dist/cjs/generated/codama/instructions/index.js.map +1 -0
  42. package/dist/cjs/generated/codama/instructions/initializeConfig.js +139 -0
  43. package/dist/cjs/generated/codama/instructions/initializeConfig.js.map +1 -0
  44. package/dist/cjs/{codama/mainnet → generated/codama}/instructions/payRental.js +14 -71
  45. package/dist/cjs/generated/codama/instructions/payRental.js.map +1 -0
  46. package/dist/cjs/{codama/mainnet → generated/codama}/instructions/resetRental.js +11 -10
  47. package/dist/cjs/generated/codama/instructions/resetRental.js.map +1 -0
  48. package/dist/cjs/generated/codama/instructions/updateConfig.js +143 -0
  49. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -0
  50. package/dist/cjs/generated/codama/programs/index.js.map +1 -0
  51. package/dist/cjs/{codama/devnet → generated/codama}/programs/srsly.js +15 -7
  52. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -0
  53. package/dist/cjs/{codama/devnet → generated/codama}/shared/index.js +1 -1
  54. package/dist/cjs/generated/codama/shared/index.js.map +1 -0
  55. package/dist/cjs/generated/codama/types/clockData.js +58 -0
  56. package/dist/cjs/generated/codama/types/clockData.js.map +1 -0
  57. package/dist/cjs/generated/codama/types/equality.js.map +1 -0
  58. package/dist/cjs/{codama/devnet → generated/codama}/types/execContext.js +31 -1
  59. package/dist/cjs/generated/codama/types/execContext.js.map +1 -0
  60. package/dist/cjs/{codama/devnet → generated/codama}/types/index.js +1 -0
  61. package/dist/cjs/generated/codama/types/index.js.map +1 -0
  62. package/dist/cjs/generated/codama/types/paymentFrequency.js +36 -0
  63. package/dist/cjs/generated/codama/types/paymentFrequency.js.map +1 -0
  64. package/dist/cjs/{codama/mainnet → generated/codama}/types/serializableAccount.js +28 -1
  65. package/dist/cjs/generated/codama/types/serializableAccount.js.map +1 -0
  66. package/dist/cjs/{codama/mainnet → generated/codama}/types/serializableInstruction.js +28 -1
  67. package/dist/cjs/generated/codama/types/serializableInstruction.js.map +1 -0
  68. package/dist/cjs/{codama/mainnet → generated/codama}/types/threadResponse.js +31 -1
  69. package/dist/cjs/generated/codama/types/threadResponse.js.map +1 -0
  70. package/dist/cjs/generated/codama/types/trigger.js.map +1 -0
  71. package/dist/cjs/generated/codama/types/triggerContext.js.map +1 -0
  72. package/dist/cjs/idl/index.js +27 -0
  73. package/dist/cjs/idl/index.js.map +1 -0
  74. package/dist/cjs/idl/srsly-data.js +3140 -0
  75. package/dist/cjs/idl/srsly-data.js.map +1 -0
  76. package/dist/cjs/idl/srsly.json +3104 -0
  77. package/dist/cjs/index.js +244 -4
  78. package/dist/cjs/index.js.map +1 -1
  79. package/dist/cjs/package.json +29 -30
  80. package/dist/cjs/rental/accept.js +228 -55
  81. package/dist/cjs/rental/accept.js.map +1 -1
  82. package/dist/cjs/rental/cancel.js +155 -25
  83. package/dist/cjs/rental/cancel.js.map +1 -1
  84. package/dist/cjs/rental/close.js +157 -29
  85. package/dist/cjs/rental/close.js.map +1 -1
  86. package/dist/cjs/rental/index.js +84 -0
  87. package/dist/cjs/rental/index.js.map +1 -1
  88. package/dist/cjs/rental/reset.js +159 -36
  89. package/dist/cjs/rental/reset.js.map +1 -1
  90. package/dist/cjs/types/payment-frequency.js +87 -0
  91. package/dist/cjs/types/payment-frequency.js.map +1 -0
  92. package/dist/cjs/types/srsly.js +3 -0
  93. package/dist/cjs/types/srsly.js.map +1 -0
  94. package/dist/cjs/utils/config.js +142 -100
  95. package/dist/cjs/utils/config.js.map +1 -1
  96. package/dist/cjs/utils/constants.js +45 -81
  97. package/dist/cjs/utils/constants.js.map +1 -1
  98. package/dist/cjs/utils/cron.js +204 -0
  99. package/dist/cjs/utils/cron.js.map +1 -0
  100. package/dist/cjs/utils/derive-pda.js +415 -0
  101. package/dist/cjs/utils/derive-pda.js.map +1 -0
  102. package/dist/cjs/utils/fetch-accounts.js +241 -0
  103. package/dist/cjs/utils/fetch-accounts.js.map +1 -0
  104. package/dist/cjs/utils/index.js +14 -1
  105. package/dist/cjs/utils/index.js.map +1 -1
  106. package/dist/cjs/utils/instruction-converter.js +125 -0
  107. package/dist/cjs/utils/instruction-converter.js.map +1 -0
  108. package/dist/cjs/utils/param-converters.js +190 -0
  109. package/dist/cjs/utils/param-converters.js.map +1 -0
  110. package/dist/cjs/utils/payment-frequency.js +111 -0
  111. package/dist/cjs/utils/payment-frequency.js.map +1 -0
  112. package/dist/cjs/utils/schedule-builder.js +158 -0
  113. package/dist/cjs/utils/schedule-builder.js.map +1 -0
  114. package/dist/cjs/utils/schedule-validation.js +136 -0
  115. package/dist/cjs/utils/schedule-validation.js.map +1 -0
  116. package/dist/cjs/utils/signer.js +127 -0
  117. package/dist/cjs/utils/signer.js.map +1 -0
  118. package/dist/cjs/utils/smart-params.js +52 -0
  119. package/dist/cjs/utils/smart-params.js.map +1 -0
  120. package/dist/esm/config/index.js +7 -0
  121. package/dist/esm/config/index.js.map +1 -0
  122. package/dist/esm/config/initialize.js +92 -0
  123. package/dist/esm/config/initialize.js.map +1 -0
  124. package/dist/esm/config/update.js +159 -0
  125. package/dist/esm/config/update.js.map +1 -0
  126. package/dist/esm/contract/close.js +130 -70
  127. package/dist/esm/contract/close.js.map +1 -1
  128. package/dist/esm/contract/create.js +233 -44
  129. package/dist/esm/contract/create.js.map +1 -1
  130. package/dist/esm/contract/index.js +51 -2
  131. package/dist/esm/contract/index.js.map +1 -1
  132. package/dist/esm/demos.js +26 -0
  133. package/dist/esm/demos.js.map +1 -0
  134. package/dist/esm/generated/codama/accounts/configState.js +111 -0
  135. package/dist/esm/generated/codama/accounts/configState.js.map +1 -0
  136. package/dist/esm/{codama/mainnet → generated/codama}/accounts/contractState.js +48 -10
  137. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -0
  138. package/dist/esm/{codama/devnet → generated/codama}/accounts/index.js +1 -1
  139. package/dist/esm/generated/codama/accounts/index.js.map +1 -0
  140. package/dist/esm/generated/codama/accounts/rentalState.js +113 -0
  141. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -0
  142. package/dist/esm/{codama/mainnet → generated/codama}/accounts/thread.js +43 -6
  143. package/dist/esm/generated/codama/accounts/thread.js.map +1 -0
  144. package/dist/esm/generated/codama/errors/index.js.map +1 -0
  145. package/dist/esm/generated/codama/errors/srsly.js +96 -0
  146. package/dist/esm/generated/codama/errors/srsly.js.map +1 -0
  147. package/dist/esm/generated/codama/index.js.map +1 -0
  148. package/dist/esm/{codama/devnet → generated/codama}/instructions/acceptRental.js +18 -43
  149. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -0
  150. package/dist/esm/{codama/mainnet → generated/codama}/instructions/cancelRental.js +66 -34
  151. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -0
  152. package/dist/esm/{codama/devnet/instructions/resetRental.js → generated/codama/instructions/closeContract.js} +21 -30
  153. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -0
  154. package/dist/esm/{codama/devnet → generated/codama}/instructions/closeRental.js +89 -44
  155. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -0
  156. package/dist/esm/{codama/mainnet → generated/codama}/instructions/createContract.js +13 -16
  157. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -0
  158. package/dist/esm/{codama/mainnet → generated/codama}/instructions/index.js +2 -0
  159. package/dist/esm/generated/codama/instructions/index.js.map +1 -0
  160. package/dist/esm/generated/codama/instructions/initializeConfig.js +129 -0
  161. package/dist/esm/generated/codama/instructions/initializeConfig.js.map +1 -0
  162. package/dist/esm/{codama/mainnet → generated/codama}/instructions/payRental.js +16 -73
  163. package/dist/esm/generated/codama/instructions/payRental.js.map +1 -0
  164. package/dist/esm/{codama/mainnet → generated/codama}/instructions/resetRental.js +11 -10
  165. package/dist/esm/generated/codama/instructions/resetRental.js.map +1 -0
  166. package/dist/esm/generated/codama/instructions/updateConfig.js +133 -0
  167. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -0
  168. package/dist/esm/generated/codama/programs/index.js.map +1 -0
  169. package/dist/esm/{codama/devnet → generated/codama}/programs/srsly.js +15 -7
  170. package/dist/esm/generated/codama/programs/srsly.js.map +1 -0
  171. package/dist/esm/{codama/devnet → generated/codama}/shared/index.js +1 -1
  172. package/dist/esm/generated/codama/shared/index.js.map +1 -0
  173. package/dist/esm/generated/codama/types/clockData.js +53 -0
  174. package/dist/esm/generated/codama/types/clockData.js.map +1 -0
  175. package/dist/esm/generated/codama/types/equality.js.map +1 -0
  176. package/dist/esm/generated/codama/types/execContext.js +63 -0
  177. package/dist/esm/generated/codama/types/execContext.js.map +1 -0
  178. package/dist/esm/{codama/devnet → generated/codama}/types/index.js +1 -0
  179. package/dist/esm/generated/codama/types/index.js.map +1 -0
  180. package/dist/esm/generated/codama/types/paymentFrequency.js +30 -0
  181. package/dist/esm/generated/codama/types/paymentFrequency.js.map +1 -0
  182. package/dist/esm/generated/codama/types/serializableAccount.js +53 -0
  183. package/dist/esm/generated/codama/types/serializableAccount.js.map +1 -0
  184. package/dist/esm/generated/codama/types/serializableInstruction.js +54 -0
  185. package/dist/esm/generated/codama/types/serializableInstruction.js.map +1 -0
  186. package/dist/esm/generated/codama/types/threadResponse.js +63 -0
  187. package/dist/esm/generated/codama/types/threadResponse.js.map +1 -0
  188. package/dist/esm/generated/codama/types/trigger.js.map +1 -0
  189. package/dist/esm/generated/codama/types/triggerContext.js.map +1 -0
  190. package/dist/esm/idl/index.js +21 -0
  191. package/dist/esm/idl/index.js.map +1 -0
  192. package/dist/esm/idl/srsly-data.js +3137 -0
  193. package/dist/esm/idl/srsly-data.js.map +1 -0
  194. package/dist/esm/idl/srsly.json +3104 -0
  195. package/dist/esm/index.js +213 -5
  196. package/dist/esm/index.js.map +1 -1
  197. package/dist/esm/package.json +29 -30
  198. package/dist/esm/rental/accept.js +230 -58
  199. package/dist/esm/rental/accept.js.map +1 -1
  200. package/dist/esm/rental/cancel.js +155 -26
  201. package/dist/esm/rental/cancel.js.map +1 -1
  202. package/dist/esm/rental/close.js +157 -30
  203. package/dist/esm/rental/close.js.map +1 -1
  204. package/dist/esm/rental/index.js +88 -4
  205. package/dist/esm/rental/index.js.map +1 -1
  206. package/dist/esm/rental/reset.js +161 -39
  207. package/dist/esm/rental/reset.js.map +1 -1
  208. package/dist/esm/types/payment-frequency.js +83 -0
  209. package/dist/esm/types/payment-frequency.js.map +1 -0
  210. package/dist/esm/types/srsly.js +2 -0
  211. package/dist/esm/types/srsly.js.map +1 -0
  212. package/dist/esm/utils/config.js +134 -92
  213. package/dist/esm/utils/config.js.map +1 -1
  214. package/dist/esm/utils/constants.js +43 -77
  215. package/dist/esm/utils/constants.js.map +1 -1
  216. package/dist/esm/utils/cron.js +195 -0
  217. package/dist/esm/utils/cron.js.map +1 -0
  218. package/dist/esm/utils/derive-pda.js +402 -0
  219. package/dist/esm/utils/derive-pda.js.map +1 -0
  220. package/dist/esm/utils/fetch-accounts.js +233 -0
  221. package/dist/esm/utils/fetch-accounts.js.map +1 -0
  222. package/dist/esm/utils/index.js +16 -3
  223. package/dist/esm/utils/index.js.map +1 -1
  224. package/dist/esm/utils/instruction-converter.js +120 -0
  225. package/dist/esm/utils/instruction-converter.js.map +1 -0
  226. package/dist/esm/utils/param-converters.js +182 -0
  227. package/dist/esm/utils/param-converters.js.map +1 -0
  228. package/dist/esm/utils/payment-frequency.js +104 -0
  229. package/dist/esm/utils/payment-frequency.js.map +1 -0
  230. package/dist/esm/utils/schedule-builder.js +153 -0
  231. package/dist/esm/utils/schedule-builder.js.map +1 -0
  232. package/dist/esm/utils/schedule-validation.js +132 -0
  233. package/dist/esm/utils/schedule-validation.js.map +1 -0
  234. package/dist/esm/utils/signer.js +119 -0
  235. package/dist/esm/utils/signer.js.map +1 -0
  236. package/dist/esm/utils/smart-params.js +49 -0
  237. package/dist/esm/utils/smart-params.js.map +1 -0
  238. package/dist/types/config/index.d.ts +7 -0
  239. package/dist/types/config/index.d.ts.map +1 -0
  240. package/dist/types/config/initialize.d.ts +66 -0
  241. package/dist/types/config/initialize.d.ts.map +1 -0
  242. package/dist/types/config/update.d.ts +143 -0
  243. package/dist/types/config/update.d.ts.map +1 -0
  244. package/dist/types/contract/close.d.ts +100 -28
  245. package/dist/types/contract/close.d.ts.map +1 -1
  246. package/dist/types/contract/create.d.ts +115 -45
  247. package/dist/types/contract/create.d.ts.map +1 -1
  248. package/dist/types/contract/index.d.ts +51 -2
  249. package/dist/types/contract/index.d.ts.map +1 -1
  250. package/dist/types/demos.d.ts +66 -0
  251. package/dist/types/demos.d.ts.map +1 -0
  252. package/dist/types/generated/codama/accounts/configState.d.ts +75 -0
  253. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -0
  254. package/dist/types/generated/codama/accounts/contractState.d.ts +78 -0
  255. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -0
  256. package/dist/types/{codama/devnet → generated/codama}/accounts/index.d.ts +1 -1
  257. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -0
  258. package/dist/types/generated/codama/accounts/rentalState.d.ts +78 -0
  259. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -0
  260. package/dist/types/{codama/mainnet → generated/codama}/accounts/thread.d.ts +8 -7
  261. package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -0
  262. package/dist/types/generated/codama/errors/index.d.ts.map +1 -0
  263. package/dist/types/generated/codama/errors/srsly.d.ts +68 -0
  264. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -0
  265. package/dist/types/generated/codama/index.d.ts.map +1 -0
  266. package/dist/types/generated/codama/instructions/acceptRental.d.ts +132 -0
  267. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -0
  268. package/dist/types/generated/codama/instructions/cancelRental.d.ts +87 -0
  269. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -0
  270. package/dist/types/generated/codama/instructions/closeContract.d.ts +71 -0
  271. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -0
  272. package/dist/types/generated/codama/instructions/closeRental.d.ts +119 -0
  273. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -0
  274. package/dist/types/generated/codama/instructions/createContract.d.ts +112 -0
  275. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -0
  276. package/dist/types/{codama/devnet → generated/codama}/instructions/index.d.ts +2 -0
  277. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -0
  278. package/dist/types/generated/codama/instructions/initializeConfig.d.ts +60 -0
  279. package/dist/types/generated/codama/instructions/initializeConfig.d.ts.map +1 -0
  280. package/dist/types/generated/codama/instructions/payRental.d.ts +103 -0
  281. package/dist/types/generated/codama/instructions/payRental.d.ts.map +1 -0
  282. package/dist/types/generated/codama/instructions/resetRental.d.ts +79 -0
  283. package/dist/types/generated/codama/instructions/resetRental.d.ts.map +1 -0
  284. package/dist/types/generated/codama/instructions/updateConfig.d.ts +109 -0
  285. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -0
  286. package/dist/types/generated/codama/programs/index.d.ts.map +1 -0
  287. package/dist/types/{codama/mainnet → generated/codama}/programs/srsly.d.ts +12 -6
  288. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -0
  289. package/dist/types/{codama/devnet → generated/codama}/shared/index.d.ts +14 -3
  290. package/dist/types/generated/codama/shared/index.d.ts.map +1 -0
  291. package/dist/types/{codama/devnet → generated/codama}/types/clockData.d.ts +4 -3
  292. package/dist/types/generated/codama/types/clockData.d.ts.map +1 -0
  293. package/dist/types/{codama/devnet → generated/codama}/types/equality.d.ts +4 -4
  294. package/dist/types/generated/codama/types/equality.d.ts.map +1 -0
  295. package/dist/types/{codama/devnet → generated/codama}/types/execContext.d.ts +2 -1
  296. package/dist/types/generated/codama/types/execContext.d.ts.map +1 -0
  297. package/dist/types/{codama/devnet → generated/codama}/types/index.d.ts +1 -0
  298. package/dist/types/generated/codama/types/index.d.ts.map +1 -0
  299. package/dist/types/generated/codama/types/paymentFrequency.d.ts +24 -0
  300. package/dist/types/generated/codama/types/paymentFrequency.d.ts.map +1 -0
  301. package/dist/types/{codama/devnet → generated/codama}/types/serializableAccount.d.ts +4 -3
  302. package/dist/types/generated/codama/types/serializableAccount.d.ts.map +1 -0
  303. package/dist/types/{codama/mainnet → generated/codama}/types/serializableInstruction.d.ts +2 -1
  304. package/dist/types/generated/codama/types/serializableInstruction.d.ts.map +1 -0
  305. package/dist/types/{codama/devnet → generated/codama}/types/threadResponse.d.ts +2 -1
  306. package/dist/types/generated/codama/types/threadResponse.d.ts.map +1 -0
  307. package/dist/types/generated/codama/types/trigger.d.ts.map +1 -0
  308. package/dist/types/generated/codama/types/triggerContext.d.ts.map +1 -0
  309. package/dist/types/idl/index.d.ts +21 -0
  310. package/dist/types/idl/index.d.ts.map +1 -0
  311. package/dist/types/idl/srsly-data.d.ts +1458 -0
  312. package/dist/types/idl/srsly-data.d.ts.map +1 -0
  313. package/dist/types/index.d.ts +213 -5
  314. package/dist/types/index.d.ts.map +1 -1
  315. package/dist/types/rental/accept.d.ts +165 -61
  316. package/dist/types/rental/accept.d.ts.map +1 -1
  317. package/dist/types/rental/cancel.d.ts +119 -22
  318. package/dist/types/rental/cancel.d.ts.map +1 -1
  319. package/dist/types/rental/close.d.ts +108 -27
  320. package/dist/types/rental/close.d.ts.map +1 -1
  321. package/dist/types/rental/index.d.ts +88 -4
  322. package/dist/types/rental/index.d.ts.map +1 -1
  323. package/dist/types/rental/reset.d.ts +137 -39
  324. package/dist/types/rental/reset.d.ts.map +1 -1
  325. package/dist/types/types/payment-frequency.d.ts +55 -0
  326. package/dist/types/types/payment-frequency.d.ts.map +1 -0
  327. package/dist/types/types/srsly.d.ts +3111 -0
  328. package/dist/types/types/srsly.d.ts.map +1 -0
  329. package/dist/types/utils/config.d.ts +78 -61
  330. package/dist/types/utils/config.d.ts.map +1 -1
  331. package/dist/types/utils/constants.d.ts +16 -22
  332. package/dist/types/utils/constants.d.ts.map +1 -1
  333. package/dist/types/utils/cron.d.ts +77 -0
  334. package/dist/types/utils/cron.d.ts.map +1 -0
  335. package/dist/types/utils/derive-pda.d.ts +213 -0
  336. package/dist/types/utils/derive-pda.d.ts.map +1 -0
  337. package/dist/types/utils/fetch-accounts.d.ts +158 -0
  338. package/dist/types/utils/fetch-accounts.d.ts.map +1 -0
  339. package/dist/types/utils/index.d.ts +16 -3
  340. package/dist/types/utils/index.d.ts.map +1 -1
  341. package/dist/types/utils/instruction-converter.d.ts +171 -0
  342. package/dist/types/utils/instruction-converter.d.ts.map +1 -0
  343. package/dist/types/utils/param-converters.d.ts +67 -0
  344. package/dist/types/utils/param-converters.d.ts.map +1 -0
  345. package/dist/types/utils/payment-frequency.d.ts +38 -0
  346. package/dist/types/utils/payment-frequency.d.ts.map +1 -0
  347. package/dist/types/utils/schedule-builder.d.ts +64 -0
  348. package/dist/types/utils/schedule-builder.d.ts.map +1 -0
  349. package/dist/types/utils/schedule-validation.d.ts +36 -0
  350. package/dist/types/utils/schedule-validation.d.ts.map +1 -0
  351. package/dist/types/utils/signer.d.ts +61 -0
  352. package/dist/types/utils/signer.d.ts.map +1 -0
  353. package/dist/types/utils/smart-params.d.ts +112 -0
  354. package/dist/types/utils/smart-params.d.ts.map +1 -0
  355. package/package.json +51 -36
  356. package/dist/cjs/codama/devnet/accounts/contractState.js.map +0 -1
  357. package/dist/cjs/codama/devnet/accounts/fleet.js +0 -77
  358. package/dist/cjs/codama/devnet/accounts/fleet.js.map +0 -1
  359. package/dist/cjs/codama/devnet/accounts/index.js.map +0 -1
  360. package/dist/cjs/codama/devnet/accounts/rentalState.js.map +0 -1
  361. package/dist/cjs/codama/devnet/accounts/thread.js +0 -89
  362. package/dist/cjs/codama/devnet/accounts/thread.js.map +0 -1
  363. package/dist/cjs/codama/devnet/constants.js +0 -32
  364. package/dist/cjs/codama/devnet/constants.js.map +0 -1
  365. package/dist/cjs/codama/devnet/errors/index.js.map +0 -1
  366. package/dist/cjs/codama/devnet/errors/srsly.js +0 -74
  367. package/dist/cjs/codama/devnet/errors/srsly.js.map +0 -1
  368. package/dist/cjs/codama/devnet/index.js.map +0 -1
  369. package/dist/cjs/codama/devnet/instructions/acceptRental.js.map +0 -1
  370. package/dist/cjs/codama/devnet/instructions/cancelRental.js +0 -225
  371. package/dist/cjs/codama/devnet/instructions/cancelRental.js.map +0 -1
  372. package/dist/cjs/codama/devnet/instructions/closeContract.js +0 -246
  373. package/dist/cjs/codama/devnet/instructions/closeContract.js.map +0 -1
  374. package/dist/cjs/codama/devnet/instructions/closeRental.js +0 -260
  375. package/dist/cjs/codama/devnet/instructions/closeRental.js.map +0 -1
  376. package/dist/cjs/codama/devnet/instructions/createContract.js.map +0 -1
  377. package/dist/cjs/codama/devnet/instructions/index.js +0 -31
  378. package/dist/cjs/codama/devnet/instructions/index.js.map +0 -1
  379. package/dist/cjs/codama/devnet/instructions/payRental.js +0 -280
  380. package/dist/cjs/codama/devnet/instructions/payRental.js.map +0 -1
  381. package/dist/cjs/codama/devnet/instructions/resetRental.js.map +0 -1
  382. package/dist/cjs/codama/devnet/programs/index.js.map +0 -1
  383. package/dist/cjs/codama/devnet/programs/srsly.js.map +0 -1
  384. package/dist/cjs/codama/devnet/shared/index.js.map +0 -1
  385. package/dist/cjs/codama/devnet/types/clockData.js +0 -31
  386. package/dist/cjs/codama/devnet/types/clockData.js.map +0 -1
  387. package/dist/cjs/codama/devnet/types/equality.js.map +0 -1
  388. package/dist/cjs/codama/devnet/types/execContext.js.map +0 -1
  389. package/dist/cjs/codama/devnet/types/index.js.map +0 -1
  390. package/dist/cjs/codama/devnet/types/serializableAccount.js +0 -31
  391. package/dist/cjs/codama/devnet/types/serializableAccount.js.map +0 -1
  392. package/dist/cjs/codama/devnet/types/serializableInstruction.js +0 -32
  393. package/dist/cjs/codama/devnet/types/serializableInstruction.js.map +0 -1
  394. package/dist/cjs/codama/devnet/types/threadResponse.js +0 -38
  395. package/dist/cjs/codama/devnet/types/threadResponse.js.map +0 -1
  396. package/dist/cjs/codama/devnet/types/trigger.js.map +0 -1
  397. package/dist/cjs/codama/devnet/types/triggerContext.js.map +0 -1
  398. package/dist/cjs/codama/mainnet/accounts/contractState.js +0 -87
  399. package/dist/cjs/codama/mainnet/accounts/contractState.js.map +0 -1
  400. package/dist/cjs/codama/mainnet/accounts/fleet.js +0 -77
  401. package/dist/cjs/codama/mainnet/accounts/fleet.js.map +0 -1
  402. package/dist/cjs/codama/mainnet/accounts/index.js +0 -28
  403. package/dist/cjs/codama/mainnet/accounts/index.js.map +0 -1
  404. package/dist/cjs/codama/mainnet/accounts/rentalState.js +0 -87
  405. package/dist/cjs/codama/mainnet/accounts/rentalState.js.map +0 -1
  406. package/dist/cjs/codama/mainnet/accounts/thread.js.map +0 -1
  407. package/dist/cjs/codama/mainnet/constants.js +0 -32
  408. package/dist/cjs/codama/mainnet/constants.js.map +0 -1
  409. package/dist/cjs/codama/mainnet/errors/index.js +0 -25
  410. package/dist/cjs/codama/mainnet/errors/index.js.map +0 -1
  411. package/dist/cjs/codama/mainnet/errors/srsly.js +0 -74
  412. package/dist/cjs/codama/mainnet/errors/srsly.js.map +0 -1
  413. package/dist/cjs/codama/mainnet/index.js +0 -29
  414. package/dist/cjs/codama/mainnet/index.js.map +0 -1
  415. package/dist/cjs/codama/mainnet/instructions/acceptRental.js +0 -357
  416. package/dist/cjs/codama/mainnet/instructions/acceptRental.js.map +0 -1
  417. package/dist/cjs/codama/mainnet/instructions/cancelRental.js.map +0 -1
  418. package/dist/cjs/codama/mainnet/instructions/closeContract.js +0 -246
  419. package/dist/cjs/codama/mainnet/instructions/closeContract.js.map +0 -1
  420. package/dist/cjs/codama/mainnet/instructions/closeRental.js.map +0 -1
  421. package/dist/cjs/codama/mainnet/instructions/createContract.js +0 -261
  422. package/dist/cjs/codama/mainnet/instructions/createContract.js.map +0 -1
  423. package/dist/cjs/codama/mainnet/instructions/index.js.map +0 -1
  424. package/dist/cjs/codama/mainnet/instructions/payRental.js.map +0 -1
  425. package/dist/cjs/codama/mainnet/instructions/resetRental.js.map +0 -1
  426. package/dist/cjs/codama/mainnet/programs/index.js +0 -25
  427. package/dist/cjs/codama/mainnet/programs/index.js.map +0 -1
  428. package/dist/cjs/codama/mainnet/programs/srsly.js +0 -73
  429. package/dist/cjs/codama/mainnet/programs/srsly.js.map +0 -1
  430. package/dist/cjs/codama/mainnet/shared/index.js +0 -95
  431. package/dist/cjs/codama/mainnet/shared/index.js.map +0 -1
  432. package/dist/cjs/codama/mainnet/types/clockData.js +0 -31
  433. package/dist/cjs/codama/mainnet/types/clockData.js.map +0 -1
  434. package/dist/cjs/codama/mainnet/types/equality.js +0 -30
  435. package/dist/cjs/codama/mainnet/types/equality.js.map +0 -1
  436. package/dist/cjs/codama/mainnet/types/execContext.js +0 -38
  437. package/dist/cjs/codama/mainnet/types/execContext.js.map +0 -1
  438. package/dist/cjs/codama/mainnet/types/index.js +0 -32
  439. package/dist/cjs/codama/mainnet/types/index.js.map +0 -1
  440. package/dist/cjs/codama/mainnet/types/serializableAccount.js.map +0 -1
  441. package/dist/cjs/codama/mainnet/types/serializableInstruction.js.map +0 -1
  442. package/dist/cjs/codama/mainnet/types/threadResponse.js.map +0 -1
  443. package/dist/cjs/codama/mainnet/types/trigger.js +0 -90
  444. package/dist/cjs/codama/mainnet/types/trigger.js.map +0 -1
  445. package/dist/cjs/codama/mainnet/types/triggerContext.js +0 -49
  446. package/dist/cjs/codama/mainnet/types/triggerContext.js.map +0 -1
  447. package/dist/cjs/utils/profiles.js +0 -159
  448. package/dist/cjs/utils/profiles.js.map +0 -1
  449. package/dist/esm/codama/devnet/accounts/contractState.js +0 -75
  450. package/dist/esm/codama/devnet/accounts/contractState.js.map +0 -1
  451. package/dist/esm/codama/devnet/accounts/fleet.js +0 -64
  452. package/dist/esm/codama/devnet/accounts/fleet.js.map +0 -1
  453. package/dist/esm/codama/devnet/accounts/index.js.map +0 -1
  454. package/dist/esm/codama/devnet/accounts/rentalState.js +0 -74
  455. package/dist/esm/codama/devnet/accounts/rentalState.js.map +0 -1
  456. package/dist/esm/codama/devnet/accounts/thread.js +0 -77
  457. package/dist/esm/codama/devnet/accounts/thread.js.map +0 -1
  458. package/dist/esm/codama/devnet/constants.js +0 -29
  459. package/dist/esm/codama/devnet/constants.js.map +0 -1
  460. package/dist/esm/codama/devnet/errors/index.js.map +0 -1
  461. package/dist/esm/codama/devnet/errors/srsly.js +0 -69
  462. package/dist/esm/codama/devnet/errors/srsly.js.map +0 -1
  463. package/dist/esm/codama/devnet/index.js.map +0 -1
  464. package/dist/esm/codama/devnet/instructions/acceptRental.js.map +0 -1
  465. package/dist/esm/codama/devnet/instructions/cancelRental.js +0 -215
  466. package/dist/esm/codama/devnet/instructions/cancelRental.js.map +0 -1
  467. package/dist/esm/codama/devnet/instructions/closeContract.js +0 -236
  468. package/dist/esm/codama/devnet/instructions/closeContract.js.map +0 -1
  469. package/dist/esm/codama/devnet/instructions/closeRental.js.map +0 -1
  470. package/dist/esm/codama/devnet/instructions/createContract.js +0 -251
  471. package/dist/esm/codama/devnet/instructions/createContract.js.map +0 -1
  472. package/dist/esm/codama/devnet/instructions/index.js +0 -15
  473. package/dist/esm/codama/devnet/instructions/index.js.map +0 -1
  474. package/dist/esm/codama/devnet/instructions/payRental.js +0 -270
  475. package/dist/esm/codama/devnet/instructions/payRental.js.map +0 -1
  476. package/dist/esm/codama/devnet/instructions/resetRental.js.map +0 -1
  477. package/dist/esm/codama/devnet/programs/index.js.map +0 -1
  478. package/dist/esm/codama/devnet/programs/srsly.js.map +0 -1
  479. package/dist/esm/codama/devnet/shared/index.js.map +0 -1
  480. package/dist/esm/codama/devnet/types/clockData.js +0 -26
  481. package/dist/esm/codama/devnet/types/clockData.js.map +0 -1
  482. package/dist/esm/codama/devnet/types/equality.js.map +0 -1
  483. package/dist/esm/codama/devnet/types/execContext.js +0 -33
  484. package/dist/esm/codama/devnet/types/execContext.js.map +0 -1
  485. package/dist/esm/codama/devnet/types/index.js.map +0 -1
  486. package/dist/esm/codama/devnet/types/serializableAccount.js +0 -26
  487. package/dist/esm/codama/devnet/types/serializableAccount.js.map +0 -1
  488. package/dist/esm/codama/devnet/types/serializableInstruction.js +0 -27
  489. package/dist/esm/codama/devnet/types/serializableInstruction.js.map +0 -1
  490. package/dist/esm/codama/devnet/types/threadResponse.js +0 -33
  491. package/dist/esm/codama/devnet/types/threadResponse.js.map +0 -1
  492. package/dist/esm/codama/devnet/types/trigger.js.map +0 -1
  493. package/dist/esm/codama/devnet/types/triggerContext.js.map +0 -1
  494. package/dist/esm/codama/mainnet/accounts/contractState.js.map +0 -1
  495. package/dist/esm/codama/mainnet/accounts/fleet.js +0 -64
  496. package/dist/esm/codama/mainnet/accounts/fleet.js.map +0 -1
  497. package/dist/esm/codama/mainnet/accounts/index.js +0 -12
  498. package/dist/esm/codama/mainnet/accounts/index.js.map +0 -1
  499. package/dist/esm/codama/mainnet/accounts/rentalState.js +0 -74
  500. package/dist/esm/codama/mainnet/accounts/rentalState.js.map +0 -1
  501. package/dist/esm/codama/mainnet/accounts/thread.js.map +0 -1
  502. package/dist/esm/codama/mainnet/constants.js +0 -29
  503. package/dist/esm/codama/mainnet/constants.js.map +0 -1
  504. package/dist/esm/codama/mainnet/errors/index.js +0 -9
  505. package/dist/esm/codama/mainnet/errors/index.js.map +0 -1
  506. package/dist/esm/codama/mainnet/errors/srsly.js +0 -69
  507. package/dist/esm/codama/mainnet/errors/srsly.js.map +0 -1
  508. package/dist/esm/codama/mainnet/index.js +0 -13
  509. package/dist/esm/codama/mainnet/index.js.map +0 -1
  510. package/dist/esm/codama/mainnet/instructions/acceptRental.js +0 -347
  511. package/dist/esm/codama/mainnet/instructions/acceptRental.js.map +0 -1
  512. package/dist/esm/codama/mainnet/instructions/cancelRental.js.map +0 -1
  513. package/dist/esm/codama/mainnet/instructions/closeContract.js +0 -236
  514. package/dist/esm/codama/mainnet/instructions/closeContract.js.map +0 -1
  515. package/dist/esm/codama/mainnet/instructions/closeRental.js +0 -250
  516. package/dist/esm/codama/mainnet/instructions/closeRental.js.map +0 -1
  517. package/dist/esm/codama/mainnet/instructions/createContract.js.map +0 -1
  518. package/dist/esm/codama/mainnet/instructions/index.js.map +0 -1
  519. package/dist/esm/codama/mainnet/instructions/payRental.js.map +0 -1
  520. package/dist/esm/codama/mainnet/instructions/resetRental.js.map +0 -1
  521. package/dist/esm/codama/mainnet/programs/index.js +0 -9
  522. package/dist/esm/codama/mainnet/programs/index.js.map +0 -1
  523. package/dist/esm/codama/mainnet/programs/srsly.js +0 -68
  524. package/dist/esm/codama/mainnet/programs/srsly.js.map +0 -1
  525. package/dist/esm/codama/mainnet/shared/index.js +0 -87
  526. package/dist/esm/codama/mainnet/shared/index.js.map +0 -1
  527. package/dist/esm/codama/mainnet/types/clockData.js +0 -26
  528. package/dist/esm/codama/mainnet/types/clockData.js.map +0 -1
  529. package/dist/esm/codama/mainnet/types/equality.js +0 -24
  530. package/dist/esm/codama/mainnet/types/equality.js.map +0 -1
  531. package/dist/esm/codama/mainnet/types/execContext.js +0 -33
  532. package/dist/esm/codama/mainnet/types/execContext.js.map +0 -1
  533. package/dist/esm/codama/mainnet/types/index.js +0 -16
  534. package/dist/esm/codama/mainnet/types/index.js.map +0 -1
  535. package/dist/esm/codama/mainnet/types/serializableAccount.js +0 -26
  536. package/dist/esm/codama/mainnet/types/serializableAccount.js.map +0 -1
  537. package/dist/esm/codama/mainnet/types/serializableInstruction.js +0 -27
  538. package/dist/esm/codama/mainnet/types/serializableInstruction.js.map +0 -1
  539. package/dist/esm/codama/mainnet/types/threadResponse.js +0 -33
  540. package/dist/esm/codama/mainnet/types/threadResponse.js.map +0 -1
  541. package/dist/esm/codama/mainnet/types/trigger.js +0 -83
  542. package/dist/esm/codama/mainnet/types/trigger.js.map +0 -1
  543. package/dist/esm/codama/mainnet/types/triggerContext.js +0 -42
  544. package/dist/esm/codama/mainnet/types/triggerContext.js.map +0 -1
  545. package/dist/esm/utils/profiles.js +0 -152
  546. package/dist/esm/utils/profiles.js.map +0 -1
  547. package/dist/types/codama/devnet/accounts/contractState.d.ts +0 -51
  548. package/dist/types/codama/devnet/accounts/contractState.d.ts.map +0 -1
  549. package/dist/types/codama/devnet/accounts/fleet.d.ts +0 -38
  550. package/dist/types/codama/devnet/accounts/fleet.d.ts.map +0 -1
  551. package/dist/types/codama/devnet/accounts/index.d.ts.map +0 -1
  552. package/dist/types/codama/devnet/accounts/rentalState.d.ts +0 -48
  553. package/dist/types/codama/devnet/accounts/rentalState.d.ts.map +0 -1
  554. package/dist/types/codama/devnet/accounts/thread.d.ts +0 -74
  555. package/dist/types/codama/devnet/accounts/thread.d.ts.map +0 -1
  556. package/dist/types/codama/devnet/constants.d.ts +0 -33
  557. package/dist/types/codama/devnet/constants.d.ts.map +0 -1
  558. package/dist/types/codama/devnet/errors/index.d.ts.map +0 -1
  559. package/dist/types/codama/devnet/errors/srsly.d.ts +0 -50
  560. package/dist/types/codama/devnet/errors/srsly.d.ts.map +0 -1
  561. package/dist/types/codama/devnet/index.d.ts.map +0 -1
  562. package/dist/types/codama/devnet/instructions/acceptRental.d.ts +0 -131
  563. package/dist/types/codama/devnet/instructions/acceptRental.d.ts.map +0 -1
  564. package/dist/types/codama/devnet/instructions/cancelRental.d.ts +0 -71
  565. package/dist/types/codama/devnet/instructions/cancelRental.d.ts.map +0 -1
  566. package/dist/types/codama/devnet/instructions/closeContract.d.ts +0 -100
  567. package/dist/types/codama/devnet/instructions/closeContract.d.ts.map +0 -1
  568. package/dist/types/codama/devnet/instructions/closeRental.d.ts +0 -83
  569. package/dist/types/codama/devnet/instructions/closeRental.d.ts.map +0 -1
  570. package/dist/types/codama/devnet/instructions/createContract.d.ts +0 -108
  571. package/dist/types/codama/devnet/instructions/createContract.d.ts.map +0 -1
  572. package/dist/types/codama/devnet/instructions/index.d.ts.map +0 -1
  573. package/dist/types/codama/devnet/instructions/payRental.d.ts +0 -110
  574. package/dist/types/codama/devnet/instructions/payRental.d.ts.map +0 -1
  575. package/dist/types/codama/devnet/instructions/resetRental.d.ts +0 -71
  576. package/dist/types/codama/devnet/instructions/resetRental.d.ts.map +0 -1
  577. package/dist/types/codama/devnet/programs/index.d.ts.map +0 -1
  578. package/dist/types/codama/devnet/programs/srsly.d.ts +0 -47
  579. package/dist/types/codama/devnet/programs/srsly.d.ts.map +0 -1
  580. package/dist/types/codama/devnet/shared/index.d.ts.map +0 -1
  581. package/dist/types/codama/devnet/types/clockData.d.ts.map +0 -1
  582. package/dist/types/codama/devnet/types/equality.d.ts.map +0 -1
  583. package/dist/types/codama/devnet/types/execContext.d.ts.map +0 -1
  584. package/dist/types/codama/devnet/types/index.d.ts.map +0 -1
  585. package/dist/types/codama/devnet/types/serializableAccount.d.ts.map +0 -1
  586. package/dist/types/codama/devnet/types/serializableInstruction.d.ts +0 -30
  587. package/dist/types/codama/devnet/types/serializableInstruction.d.ts.map +0 -1
  588. package/dist/types/codama/devnet/types/threadResponse.d.ts.map +0 -1
  589. package/dist/types/codama/devnet/types/trigger.d.ts.map +0 -1
  590. package/dist/types/codama/devnet/types/triggerContext.d.ts.map +0 -1
  591. package/dist/types/codama/mainnet/accounts/contractState.d.ts +0 -51
  592. package/dist/types/codama/mainnet/accounts/contractState.d.ts.map +0 -1
  593. package/dist/types/codama/mainnet/accounts/fleet.d.ts +0 -38
  594. package/dist/types/codama/mainnet/accounts/fleet.d.ts.map +0 -1
  595. package/dist/types/codama/mainnet/accounts/index.d.ts +0 -12
  596. package/dist/types/codama/mainnet/accounts/index.d.ts.map +0 -1
  597. package/dist/types/codama/mainnet/accounts/rentalState.d.ts +0 -48
  598. package/dist/types/codama/mainnet/accounts/rentalState.d.ts.map +0 -1
  599. package/dist/types/codama/mainnet/accounts/thread.d.ts.map +0 -1
  600. package/dist/types/codama/mainnet/constants.d.ts +0 -33
  601. package/dist/types/codama/mainnet/constants.d.ts.map +0 -1
  602. package/dist/types/codama/mainnet/errors/index.d.ts +0 -9
  603. package/dist/types/codama/mainnet/errors/index.d.ts.map +0 -1
  604. package/dist/types/codama/mainnet/errors/srsly.d.ts +0 -50
  605. package/dist/types/codama/mainnet/errors/srsly.d.ts.map +0 -1
  606. package/dist/types/codama/mainnet/index.d.ts +0 -13
  607. package/dist/types/codama/mainnet/index.d.ts.map +0 -1
  608. package/dist/types/codama/mainnet/instructions/acceptRental.d.ts +0 -131
  609. package/dist/types/codama/mainnet/instructions/acceptRental.d.ts.map +0 -1
  610. package/dist/types/codama/mainnet/instructions/cancelRental.d.ts +0 -71
  611. package/dist/types/codama/mainnet/instructions/cancelRental.d.ts.map +0 -1
  612. package/dist/types/codama/mainnet/instructions/closeContract.d.ts +0 -100
  613. package/dist/types/codama/mainnet/instructions/closeContract.d.ts.map +0 -1
  614. package/dist/types/codama/mainnet/instructions/closeRental.d.ts +0 -83
  615. package/dist/types/codama/mainnet/instructions/closeRental.d.ts.map +0 -1
  616. package/dist/types/codama/mainnet/instructions/createContract.d.ts +0 -108
  617. package/dist/types/codama/mainnet/instructions/createContract.d.ts.map +0 -1
  618. package/dist/types/codama/mainnet/instructions/index.d.ts +0 -15
  619. package/dist/types/codama/mainnet/instructions/index.d.ts.map +0 -1
  620. package/dist/types/codama/mainnet/instructions/payRental.d.ts +0 -110
  621. package/dist/types/codama/mainnet/instructions/payRental.d.ts.map +0 -1
  622. package/dist/types/codama/mainnet/instructions/resetRental.d.ts +0 -71
  623. package/dist/types/codama/mainnet/instructions/resetRental.d.ts.map +0 -1
  624. package/dist/types/codama/mainnet/programs/index.d.ts +0 -9
  625. package/dist/types/codama/mainnet/programs/index.d.ts.map +0 -1
  626. package/dist/types/codama/mainnet/programs/srsly.d.ts.map +0 -1
  627. package/dist/types/codama/mainnet/shared/index.d.ts +0 -50
  628. package/dist/types/codama/mainnet/shared/index.d.ts.map +0 -1
  629. package/dist/types/codama/mainnet/types/clockData.d.ts +0 -29
  630. package/dist/types/codama/mainnet/types/clockData.d.ts.map +0 -1
  631. package/dist/types/codama/mainnet/types/equality.d.ts +0 -18
  632. package/dist/types/codama/mainnet/types/equality.d.ts.map +0 -1
  633. package/dist/types/codama/mainnet/types/execContext.d.ts +0 -48
  634. package/dist/types/codama/mainnet/types/execContext.d.ts.map +0 -1
  635. package/dist/types/codama/mainnet/types/index.d.ts +0 -16
  636. package/dist/types/codama/mainnet/types/index.d.ts.map +0 -1
  637. package/dist/types/codama/mainnet/types/serializableAccount.d.ts +0 -22
  638. package/dist/types/codama/mainnet/types/serializableAccount.d.ts.map +0 -1
  639. package/dist/types/codama/mainnet/types/serializableInstruction.d.ts.map +0 -1
  640. package/dist/types/codama/mainnet/types/threadResponse.d.ts +0 -42
  641. package/dist/types/codama/mainnet/types/threadResponse.d.ts.map +0 -1
  642. package/dist/types/codama/mainnet/types/trigger.d.ts +0 -98
  643. package/dist/types/codama/mainnet/types/trigger.d.ts.map +0 -1
  644. package/dist/types/codama/mainnet/types/triggerContext.d.ts +0 -75
  645. package/dist/types/codama/mainnet/types/triggerContext.d.ts.map +0 -1
  646. package/dist/types/utils/profiles.d.ts +0 -54
  647. package/dist/types/utils/profiles.d.ts.map +0 -1
  648. package/target/idl/srsly-devnet.json +0 -3275
  649. package/target/idl/srsly-mainnet.json +0 -3275
  650. package/target/types/srsly-devnet.ts +0 -1
  651. package/target/types/srsly-mainnet.ts +0 -1
  652. /package/dist/cjs/{codama/devnet → generated/codama}/errors/index.js +0 -0
  653. /package/dist/cjs/{codama/devnet → generated/codama}/index.js +0 -0
  654. /package/dist/cjs/{codama/devnet → generated/codama}/programs/index.js +0 -0
  655. /package/dist/cjs/{codama/devnet → generated/codama}/types/equality.js +0 -0
  656. /package/dist/cjs/{codama/devnet → generated/codama}/types/trigger.js +0 -0
  657. /package/dist/cjs/{codama/devnet → generated/codama}/types/triggerContext.js +0 -0
  658. /package/dist/esm/{codama/devnet → generated/codama}/errors/index.js +0 -0
  659. /package/dist/esm/{codama/devnet → generated/codama}/index.js +0 -0
  660. /package/dist/esm/{codama/devnet → generated/codama}/programs/index.js +0 -0
  661. /package/dist/esm/{codama/devnet → generated/codama}/types/equality.js +0 -0
  662. /package/dist/esm/{codama/devnet → generated/codama}/types/trigger.js +0 -0
  663. /package/dist/esm/{codama/devnet → generated/codama}/types/triggerContext.js +0 -0
  664. /package/dist/types/{codama/devnet → generated/codama}/errors/index.d.ts +0 -0
  665. /package/dist/types/{codama/devnet → generated/codama}/index.d.ts +0 -0
  666. /package/dist/types/{codama/devnet → generated/codama}/programs/index.d.ts +0 -0
  667. /package/dist/types/{codama/devnet → generated/codama}/types/trigger.d.ts +0 -0
  668. /package/dist/types/{codama/devnet → generated/codama}/types/triggerContext.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * @purpose Fluent instruction interface for format conversion between @solana/kit and @solana/web3.js
3
+ * @reviewed 2025-07-29
4
+ */
5
+ /**
6
+ * Fluent instruction interface for format conversion between @solana/kit and @solana/web3.js
7
+ */
8
+ import { getEffectiveSdkConfig } from './config';
9
+ /**
10
+ * Create a fluent instruction from a kit instruction using non-polluting design
11
+ * @param kitInstruction The base instruction in kit format
12
+ * @returns Fluent instruction with separate instruction property and conversion methods
13
+ */
14
+ export function createFluentInstruction(kitInstruction) {
15
+ function kit() {
16
+ return kitInstruction;
17
+ }
18
+ function web3js(PublicKey) {
19
+ const accounts = kitInstruction.accounts || [];
20
+ if (PublicKey) {
21
+ // Return instruction with PublicKey instances
22
+ return {
23
+ keys: accounts.map(account => ({
24
+ pubkey: new PublicKey(account.address),
25
+ isWritable: (account.role & 1) === 1, // Check if writable bit is set
26
+ isSigner: (account.role & 2) === 2, // Check if signer bit is set
27
+ })),
28
+ programId: new PublicKey(kitInstruction.programAddress),
29
+ data: kitInstruction.data,
30
+ };
31
+ }
32
+ else {
33
+ // Return instruction with string addresses
34
+ return {
35
+ keys: accounts.map(account => ({
36
+ pubkey: account.address,
37
+ isWritable: (account.role & 1) === 1, // Check if writable bit is set
38
+ isSigner: (account.role & 2) === 2, // Check if signer bit is set
39
+ })),
40
+ programId: kitInstruction.programAddress,
41
+ data: kitInstruction.data,
42
+ };
43
+ }
44
+ }
45
+ return {
46
+ instruction: kitInstruction, // Pure, unpolluted instruction data
47
+ kit,
48
+ web3js,
49
+ };
50
+ }
51
+ /**
52
+ * Create a fluent config selector that adds format conversion methods
53
+ * @deprecated Use createSmartFluentConfigSelector instead
54
+ * @param baseSelector The base SdkConfigSelector
55
+ * @returns FluentConfigSelector with additional format conversion methods
56
+ */
57
+ export function createFluentConfigSelector(baseSelector) {
58
+ async function web3js(PublicKey) {
59
+ const fluentInstruction = await baseSelector.build();
60
+ return fluentInstruction.web3js(PublicKey);
61
+ }
62
+ return {
63
+ // Override set to return FluentConfigSelector
64
+ set(options) {
65
+ const newBaseSelector = baseSelector.set(options);
66
+ return createFluentConfigSelector(newBaseSelector);
67
+ },
68
+ build: baseSelector.build,
69
+ then: baseSelector.then,
70
+ web3js,
71
+ };
72
+ }
73
+ /**
74
+ * Create a smart fluent config selector with library-aware return types
75
+ * @param baseSelector The base SdkConfigSelector
76
+ * @returns SmartFluentConfigSelector with smart return behavior
77
+ */
78
+ export function createSmartFluentConfigSelector(baseSelector) {
79
+ return {
80
+ set(options) {
81
+ const newBaseSelector = baseSelector.set(options);
82
+ return createSmartFluentConfigSelector(newBaseSelector);
83
+ },
84
+ build: baseSelector.build,
85
+ // The magic happens in then() - smart return based on config
86
+ then(onfulfilled, onrejected) {
87
+ const promise = (async () => {
88
+ const fluentInstruction = await baseSelector.build();
89
+ const effectiveConfig = getEffectiveSdkConfig(); // Get merged global + local config
90
+ // Smart return based on library preference
91
+ if (effectiveConfig.library === 'kit') {
92
+ return fluentInstruction.kit();
93
+ }
94
+ else if (effectiveConfig.library === 'web3js') {
95
+ if (effectiveConfig.PublicKey) {
96
+ return fluentInstruction.web3js(effectiveConfig.PublicKey);
97
+ }
98
+ else {
99
+ return fluentInstruction.web3js(); // String addresses
100
+ }
101
+ }
102
+ else {
103
+ // No preference set - return full FluentInstruction
104
+ return fluentInstruction;
105
+ }
106
+ })();
107
+ return promise.then(onfulfilled, onrejected);
108
+ },
109
+ // Explicit conversion methods (always available)
110
+ async kit() {
111
+ const fluentInstruction = await baseSelector.build();
112
+ return fluentInstruction.kit();
113
+ },
114
+ async web3js(PublicKey) {
115
+ const fluentInstruction = await baseSelector.build();
116
+ return fluentInstruction.web3js(PublicKey);
117
+ },
118
+ };
119
+ }
120
+ //# sourceMappingURL=instruction-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruction-converter.js","sourceRoot":"","sources":["../../../src/utils/instruction-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * @purpose Convert smart parameters to blockchain values (stardust, seconds, periods)
3
+ * @reviewed 2025-08-05
4
+ */
5
+ import { fetchConfigState } from './fetch-accounts';
6
+ import { calculatePaymentSchedule } from './cron';
7
+ import { normalizePaymentSchedule } from './payment-frequency';
8
+ /**
9
+ * Convert duration parameter to seconds.
10
+ *
11
+ * @param duration - Duration in various formats
12
+ * @returns Total seconds
13
+ *
14
+ * @example
15
+ * convertDurationToSeconds({ days: 7 }); // 604800
16
+ * convertDurationToSeconds({ hours: 24, minutes: 30 }); // 88200
17
+ * convertDurationToSeconds(3600); // 3600 (passthrough)
18
+ */
19
+ export async function convertDurationToSeconds(duration) {
20
+ if (typeof duration === 'number') {
21
+ return duration;
22
+ }
23
+ let seconds = 0;
24
+ if (duration.seconds)
25
+ seconds += duration.seconds;
26
+ if (duration.minutes)
27
+ seconds += duration.minutes * 60;
28
+ if (duration.hours)
29
+ seconds += duration.hours * 3600;
30
+ if (duration.days)
31
+ seconds += duration.days * 86400;
32
+ if (duration.weeks)
33
+ seconds += duration.weeks * 604800;
34
+ if (duration.months)
35
+ seconds += duration.months * 2678400; // 31 days
36
+ return seconds;
37
+ }
38
+ /**
39
+ * Convert duration parameter to payment periods based on frequency.
40
+ *
41
+ * @param duration - Duration in various formats
42
+ * @param frequency - Payment frequency (cron expression)
43
+ * @returns Number of payment periods
44
+ *
45
+ * @example
46
+ * convertDurationToPeriods({ days: 7 }, '@daily'); // 7 periods
47
+ * convertDurationToPeriods({ days: 7 }, '@hourly'); // 168 periods
48
+ * convertDurationToPeriods({ weeks: 2 }, '@weekly'); // 2 periods
49
+ */
50
+ /**
51
+ * Helper function to add duration to a date using proper date arithmetic.
52
+ * Handles month overflow correctly (e.g., Jan 31 + 1 month = Feb 28/29).
53
+ */
54
+ function addDurationToDate(startDate, duration) {
55
+ const result = new Date(startDate);
56
+ if (typeof duration === 'number') {
57
+ // Direct seconds
58
+ result.setUTCSeconds(result.getUTCSeconds() + duration);
59
+ }
60
+ else {
61
+ // Apply duration components in order (months before days for correct calculation)
62
+ if (duration.months)
63
+ result.setUTCMonth(result.getUTCMonth() + duration.months);
64
+ if (duration.weeks)
65
+ result.setUTCDate(result.getUTCDate() + duration.weeks * 7);
66
+ if (duration.days)
67
+ result.setUTCDate(result.getUTCDate() + duration.days);
68
+ if (duration.hours)
69
+ result.setUTCHours(result.getUTCHours() + duration.hours);
70
+ if (duration.minutes)
71
+ result.setUTCMinutes(result.getUTCMinutes() + duration.minutes);
72
+ if (duration.seconds)
73
+ result.setUTCSeconds(result.getUTCSeconds() + duration.seconds);
74
+ }
75
+ return result;
76
+ }
77
+ export async function convertDurationToPeriods(duration, frequency) {
78
+ // Normalize the frequency first
79
+ const normalizedFrequency = normalizePaymentSchedule(frequency);
80
+ // Get current time as start
81
+ const now = Math.floor(Date.now() / 1000);
82
+ const startDate = new Date(now * 1000);
83
+ // Calculate end date using proper date arithmetic
84
+ const endDate = addDurationToDate(startDate, duration);
85
+ const endTime = Math.floor(endDate.getTime() / 1000);
86
+ // Calculate the duration in seconds
87
+ const durationSeconds = endTime - now;
88
+ // Use calculatePaymentSchedule to count actual occurrences
89
+ const { totalPayments } = calculatePaymentSchedule(normalizedFrequency, now, durationSeconds, 1 // We only need the count, limit doesn't matter for totalPayments
90
+ );
91
+ return totalPayments;
92
+ }
93
+ /**
94
+ * Convert amount parameter to stardust units.
95
+ * IMPORTANT: Numbers are interpreted as ATLAS by default (v3 breaking change).
96
+ *
97
+ * @param amount - Amount in ATLAS or stardust
98
+ * @param config - Optional config state (will fetch if not provided)
99
+ * @returns Amount in stardust units
100
+ *
101
+ * @example
102
+ * convertAmountToStardust(1); // 100_000_000 stardust (1 ATLAS)
103
+ * convertAmountToStardust({ atlas: 1.5 }); // 150_000_000 stardust
104
+ * convertAmountToStardust({ stardust: 123456789 }); // 123456789 stardust
105
+ */
106
+ export async function convertAmountToStardust(amount, config) {
107
+ const cfg = config || await fetchConfigState();
108
+ const stardustPerAtlas = Number(cfg.stardustToAtlas);
109
+ // NUMBER = ATLAS (v3 breaking change from stardust)
110
+ if (typeof amount === 'number') {
111
+ return BigInt(Math.floor(amount * stardustPerAtlas));
112
+ }
113
+ if ('atlas' in amount) {
114
+ return BigInt(Math.floor(amount.atlas * stardustPerAtlas));
115
+ }
116
+ if ('stardust' in amount) {
117
+ return BigInt(amount.stardust);
118
+ }
119
+ throw new Error('Invalid amount parameter');
120
+ }
121
+ /**
122
+ * Convert percentage parameter to basis points (100 = 1%).
123
+ *
124
+ * @param percentage - Percentage in various formats
125
+ * @returns Basis points
126
+ *
127
+ * @example
128
+ * convertPercentageToBasisPoints({ percent: 10 }); // 1000
129
+ * convertPercentageToBasisPoints({ basisPoints: 1050 }); // 1050
130
+ * convertPercentageToBasisPoints(500); // 500 (5%)
131
+ */
132
+ export function convertPercentageToBasisPoints(percentage) {
133
+ if (typeof percentage === 'number') {
134
+ return percentage;
135
+ }
136
+ if ('basisPoints' in percentage) {
137
+ return percentage.basisPoints;
138
+ }
139
+ if ('percent' in percentage) {
140
+ // Convert percentage to basis points (10% = 1000 bps)
141
+ return Math.floor(percentage.percent * 100);
142
+ }
143
+ throw new Error('Invalid percentage parameter');
144
+ }
145
+ /**
146
+ * Format amount from stardust to ATLAS for display.
147
+ *
148
+ * @param stardust - Amount in stardust units
149
+ * @param config - Optional config state
150
+ * @returns Formatted ATLAS amount
151
+ *
152
+ * @example
153
+ * formatStardustToAtlas(100_000_000n); // "1"
154
+ * formatStardustToAtlas(150_000_000n); // "1.5"
155
+ * formatStardustToAtlas(123_456_789n); // "1.23456789"
156
+ */
157
+ export async function formatStardustToAtlas(stardust, config) {
158
+ const cfg = config || await fetchConfigState();
159
+ const stardustPerAtlas = Number(cfg.stardustToAtlas);
160
+ const atlas = Number(stardust) / stardustPerAtlas;
161
+ // Remove trailing zeros and unnecessary decimal point
162
+ return atlas.toFixed(8).replace(/\.?0+$/, '');
163
+ }
164
+ /**
165
+ * Validate duration against config limits.
166
+ *
167
+ * @param durationSeconds - Duration in seconds
168
+ * @param config - Optional config state
169
+ * @throws Error if duration is outside allowed range
170
+ */
171
+ export async function validateDurationLimits(durationSeconds, config) {
172
+ const cfg = config || await fetchConfigState();
173
+ if (durationSeconds < cfg.rentalDurationMinSeconds) {
174
+ const minDays = Number(cfg.rentalDurationMinSeconds) / 86400;
175
+ throw new Error(`Duration must be at least ${minDays} days (${cfg.rentalDurationMinSeconds} seconds)`);
176
+ }
177
+ if (durationSeconds > cfg.rentalDurationMaxSeconds) {
178
+ const maxDays = Number(cfg.rentalDurationMaxSeconds) / 86400;
179
+ throw new Error(`Duration cannot exceed ${maxDays} days (${cfg.rentalDurationMaxSeconds} seconds)`);
180
+ }
181
+ }
182
+ //# sourceMappingURL=param-converters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"param-converters.js","sourceRoot":"","sources":["../../../src/utils/param-converters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @purpose Payment frequency conversion utilities mirroring Rust implementation
3
+ * @reviewed 2025-07-29
4
+ */
5
+ import { PaymentFrequency } from '../types/payment-frequency';
6
+ import { PAYMENT_FREQUENCY_MAP, PAYMENT_FREQUENCY_CONSTANTS } from '../types/payment-frequency';
7
+ import { validateCronExpression, calculatePaymentSchedule } from './cron';
8
+ /**
9
+ * Payment frequency conversion utilities
10
+ * Mirrors the Rust implementation in programs/srsly/src/utils.rs
11
+ * Uses auto-generated constants and mappings from Rust source
12
+ */
13
+ // Auto-synced constants from Rust constants.rs
14
+ const { SECONDS_PER_DECASECOND, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK, SECONDS_PER_MONTH, } = PAYMENT_FREQUENCY_CONSTANTS;
15
+ /**
16
+ * Converts a PaymentFrequency enum value to seconds
17
+ * @deprecated Use calculateDurationForPeriods with cron expressions instead
18
+ * Kept for backwards compatibility only
19
+ */
20
+ export function paymentFrequencyToSeconds(frequency) {
21
+ switch (frequency) {
22
+ case PaymentFrequency.Decasecond:
23
+ return SECONDS_PER_DECASECOND;
24
+ case PaymentFrequency.Minute:
25
+ return SECONDS_PER_MINUTE;
26
+ case PaymentFrequency.Hourly:
27
+ return SECONDS_PER_HOUR;
28
+ case PaymentFrequency.Daily:
29
+ case PaymentFrequency.DailyOld:
30
+ return SECONDS_PER_DAY;
31
+ case PaymentFrequency.Weekly:
32
+ return SECONDS_PER_WEEK;
33
+ case PaymentFrequency.Monthly:
34
+ return SECONDS_PER_MONTH;
35
+ case PaymentFrequency.Custom:
36
+ throw new Error('Custom payment frequency does not have a fixed interval. Use cron expression to calculate.');
37
+ default:
38
+ throw new Error(`Unknown payment frequency: ${frequency}`);
39
+ }
40
+ }
41
+ /**
42
+ * Calculate duration in seconds for a given number of payment periods
43
+ * Uses cron parsing for accurate calculation with any schedule
44
+ * Mirrors Rust's calculate_duration_for_periods function
45
+ */
46
+ export function calculateDurationForPeriods(schedule, periods, fromTimestamp = Math.floor(Date.now() / 1000)) {
47
+ if (!validateCronExpression(schedule)) {
48
+ throw new Error(`Invalid payment schedule: ${schedule}`);
49
+ }
50
+ const { times } = calculatePaymentSchedule(schedule, fromTimestamp, 365 * 24 * 60 * 60, periods);
51
+ if (times.length < periods) {
52
+ throw new Error(`Could not calculate ${periods} payments within a year for schedule: ${schedule}`);
53
+ }
54
+ // Return duration from start to the Nth payment
55
+ return times[periods - 1] - fromTimestamp;
56
+ }
57
+ /**
58
+ * Converts a payment frequency string to seconds
59
+ * @deprecated Use calculateDurationForPeriods with the actual schedule string
60
+ * Kept for backwards compatibility only
61
+ */
62
+ export function paymentFrequencyStringToSeconds(frequencyString) {
63
+ // Strip @ prefix if present (contracts store as "@daily", "@hourly", etc.)
64
+ const normalizedFrequency = frequencyString.startsWith('@')
65
+ ? frequencyString.slice(1)
66
+ : frequencyString;
67
+ const frequency = PAYMENT_FREQUENCY_MAP[normalizedFrequency];
68
+ if (frequency === undefined) {
69
+ throw new Error(`Invalid payment frequency string: ${frequencyString} (normalized: ${normalizedFrequency})`);
70
+ }
71
+ return paymentFrequencyToSeconds(frequency);
72
+ }
73
+ /**
74
+ * Validates that a duration is a multiple of the payment frequency
75
+ * @deprecated No longer needed with period-based durations
76
+ * Periods are always aligned by definition
77
+ */
78
+ export function validateDurationAlignment(duration, frequencyString) {
79
+ // With period-based durations, alignment is automatic
80
+ // This function is kept for backwards compatibility only
81
+ return;
82
+ }
83
+ /**
84
+ * Normalizes payment schedule input to a cron expression.
85
+ * Now that cron-parser handles @ shortcuts natively, we just validate and normalize.
86
+ *
87
+ * @param input - Payment schedule (e.g., '@daily', 'daily', '0 0 * * *')
88
+ * @returns Normalized schedule string for the Rust program
89
+ */
90
+ export function normalizePaymentSchedule(input) {
91
+ // Common shortcuts without @ prefix (for backwards compatibility)
92
+ const shortcutsWithoutAt = ['hourly', 'daily', 'weekly', 'monthly', 'yearly', 'annually', 'decasecond', 'minute'];
93
+ // Add @ prefix if it's a known shortcut without @
94
+ const lowerInput = input.toLowerCase();
95
+ if (shortcutsWithoutAt.includes(lowerInput)) {
96
+ input = `@${lowerInput}`;
97
+ }
98
+ // Validate the expression
99
+ if (!validateCronExpression(input)) {
100
+ throw new Error(`Invalid payment schedule: ${input}`);
101
+ }
102
+ return input;
103
+ }
104
+ //# sourceMappingURL=payment-frequency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-frequency.js","sourceRoot":"","sources":["../../../src/utils/payment-frequency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * @purpose Fluent API for building and previewing payment schedules
3
+ * @reviewed 2025-08-05
4
+ */
5
+ import { paymentFrequencyToCron, calculatePaymentSchedule, validateCronExpression } from './cron';
6
+ import { normalizePaymentSchedule } from './payment-frequency';
7
+ import { validateRentalSchedule } from './schedule-validation';
8
+ /**
9
+ * Builder for payment schedules with validation and preview.
10
+ */
11
+ export class ScheduleBuilder {
12
+ schedule;
13
+ /**
14
+ * Create from PaymentFrequency enum or string.
15
+ */
16
+ static fromFrequency(frequency) {
17
+ const cron = typeof frequency === 'string'
18
+ ? normalizePaymentSchedule(frequency)
19
+ : paymentFrequencyToCron(frequency);
20
+ return new ScheduleBuilder(cron);
21
+ }
22
+ /**
23
+ * Create from custom cron expression.
24
+ */
25
+ static fromCron(expression) {
26
+ if (!validateCronExpression(expression)) {
27
+ throw new Error('Invalid cron expression: ' + expression);
28
+ }
29
+ return new ScheduleBuilder(expression);
30
+ }
31
+ /**
32
+ * Create schedule for common intervals.
33
+ */
34
+ static every(interval, value) {
35
+ let cron;
36
+ switch (interval) {
37
+ case 'minutes':
38
+ if (value === 1) {
39
+ cron = '0 * * * * *';
40
+ }
41
+ else if (60 % value === 0) {
42
+ cron = '0 */' + value + ' * * * *';
43
+ }
44
+ else {
45
+ throw new Error('Cannot create schedule for every ' + value + ' minutes');
46
+ }
47
+ break;
48
+ case 'hours':
49
+ if (value === 1) {
50
+ cron = '@hourly';
51
+ }
52
+ else if (24 % value === 0) {
53
+ cron = '0 0 */' + value + ' * * *';
54
+ }
55
+ else {
56
+ throw new Error('Cannot create schedule for every ' + value + ' hours');
57
+ }
58
+ break;
59
+ case 'days':
60
+ if (value === 1) {
61
+ cron = '@daily';
62
+ }
63
+ else if (value === 7) {
64
+ cron = '@weekly';
65
+ }
66
+ else {
67
+ cron = '0 0 0 */' + value + ' * *';
68
+ }
69
+ break;
70
+ }
71
+ return new ScheduleBuilder(cron);
72
+ }
73
+ constructor(schedule) {
74
+ this.schedule = schedule;
75
+ }
76
+ /**
77
+ * Preview payment schedule.
78
+ */
79
+ preview(startTime, duration, rate) {
80
+ const { times, totalPayments } = calculatePaymentSchedule(this.schedule, startTime, duration, 10);
81
+ const payments = times.map((time, index) => ({
82
+ time,
83
+ date: new Date(time * 1000),
84
+ paymentNumber: index + 1
85
+ }));
86
+ const preview = {
87
+ schedule: this.schedule,
88
+ payments,
89
+ totalCount: totalPayments,
90
+ firstPayment: payments[0]?.date,
91
+ lastPayment: times[times.length - 1]
92
+ ? new Date(times[times.length - 1] * 1000)
93
+ : undefined,
94
+ };
95
+ if (rate !== undefined && rate > 0) {
96
+ preview.amountPerPayment = rate;
97
+ preview.totalAmount = rate * totalPayments;
98
+ }
99
+ return preview;
100
+ }
101
+ /**
102
+ * Validate schedule against rental constraints.
103
+ */
104
+ validate(duration, minDuration, maxDuration) {
105
+ return validateRentalSchedule(this.schedule, duration, minDuration, maxDuration);
106
+ }
107
+ /**
108
+ * Get human-readable description.
109
+ */
110
+ describe() {
111
+ const descriptions = {
112
+ '@hourly': 'Every hour',
113
+ '@daily': 'Daily',
114
+ '@weekly': 'Weekly',
115
+ '@monthly': 'Monthly',
116
+ '*/10 * * * * *': 'Every 10 seconds',
117
+ '0 * * * * *': 'Every minute',
118
+ };
119
+ const desc = descriptions[this.schedule];
120
+ return desc ? desc + ' (' + this.schedule + ')' : this.schedule;
121
+ }
122
+ toString() {
123
+ return this.schedule;
124
+ }
125
+ getCronExpression() {
126
+ return this.schedule;
127
+ }
128
+ }
129
+ export function createSchedule(type, options) {
130
+ switch (type) {
131
+ case 'hourly':
132
+ case 'daily':
133
+ case 'weekly':
134
+ case 'monthly':
135
+ return ScheduleBuilder.fromFrequency(type);
136
+ case 'every':
137
+ if (options.minutes) {
138
+ return ScheduleBuilder.every('minutes', options.minutes);
139
+ }
140
+ else if (options.hours) {
141
+ return ScheduleBuilder.every('hours', options.hours);
142
+ }
143
+ else if (options.days) {
144
+ return ScheduleBuilder.every('days', options.days);
145
+ }
146
+ throw new Error('Invalid interval options');
147
+ case 'cron':
148
+ return ScheduleBuilder.fromCron(options);
149
+ default:
150
+ throw new Error('Unknown schedule type: ' + type);
151
+ }
152
+ }
153
+ //# sourceMappingURL=schedule-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-builder.js","sourceRoot":"","sources":["../../../src/utils/schedule-builder.ts"],"names":[],"mappings":"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"}