@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
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ /**
3
+ * @purpose Cron expression utilities for payment scheduling with cron-parser library
4
+ * @reviewed 2025-08-05
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getNextCronOccurrence = getNextCronOccurrence;
8
+ exports.validateCronExpression = validateCronExpression;
9
+ exports.paymentFrequencyToCron = paymentFrequencyToCron;
10
+ exports.getActualPeriodDuration = getActualPeriodDuration;
11
+ exports.parseScheduleString = parseScheduleString;
12
+ exports.calculatePaymentSchedule = calculatePaymentSchedule;
13
+ exports.formatPaymentSchedulePreview = formatPaymentSchedulePreview;
14
+ const cron_parser_1 = require("cron-parser");
15
+ const payment_frequency_1 = require("../types/payment-frequency");
16
+ // Custom shortcuts for Star Atlas specific frequencies
17
+ const CUSTOM_SHORTCUTS = {
18
+ '@decasecond': '*/10 * * * * *',
19
+ '@minute': '0 * * * * *',
20
+ };
21
+ /**
22
+ * Calculate next payment time from a cron expression.
23
+ * Mirrors the Rust get_next_cron_occurrence function.
24
+ *
25
+ * @param schedule - Cron expression or shortcut (@daily, @hourly, etc)
26
+ * @param fromTimestamp - Unix timestamp to calculate from
27
+ * @returns Next occurrence as Unix timestamp
28
+ */
29
+ function getNextCronOccurrence(schedule, fromTimestamp) {
30
+ try {
31
+ // Handle custom shortcuts first
32
+ const expression = CUSTOM_SHORTCUTS[schedule] || schedule;
33
+ // Create date in UTC
34
+ const fromDate = new Date(fromTimestamp * 1000);
35
+ // Parse with seconds field support, explicitly in UTC
36
+ const options = {
37
+ currentDate: fromDate,
38
+ tz: 'UTC'
39
+ };
40
+ const interval = cron_parser_1.CronExpressionParser.parse(expression, options);
41
+ const next = interval.next();
42
+ return Math.floor(next.getTime() / 1000);
43
+ }
44
+ catch (error) {
45
+ throw new Error('Invalid cron schedule: ' + schedule + ' - ' + error.message);
46
+ }
47
+ }
48
+ /**
49
+ * Validate a cron expression.
50
+ *
51
+ * @param expression - Cron expression to validate
52
+ * @returns true if valid
53
+ */
54
+ function validateCronExpression(expression) {
55
+ try {
56
+ // Handle custom shortcuts
57
+ const cronExpression = CUSTOM_SHORTCUTS[expression] || expression;
58
+ cron_parser_1.CronExpressionParser.parse(cronExpression, { tz: 'UTC' });
59
+ return true;
60
+ }
61
+ catch {
62
+ return false;
63
+ }
64
+ }
65
+ /**
66
+ * Convert PaymentFrequency enum to cron expression.
67
+ *
68
+ * @param frequency - PaymentFrequency enum value
69
+ * @returns Cron expression string
70
+ */
71
+ function paymentFrequencyToCron(frequency) {
72
+ const cron = payment_frequency_1.PAYMENT_FREQUENCY_TO_CRON[frequency];
73
+ if (!cron) {
74
+ throw new Error('No cron expression mapping for frequency: ' + frequency);
75
+ }
76
+ return cron;
77
+ }
78
+ /**
79
+ * Get the actual period duration of a cron schedule.
80
+ * Uses the prev/next method to calculate the true recurring interval.
81
+ *
82
+ * @param schedule - Cron expression or shortcut (@daily, @hourly, etc)
83
+ * @param currentTime - Current Unix timestamp
84
+ * @returns Period duration in seconds
85
+ */
86
+ function getActualPeriodDuration(schedule, currentTime) {
87
+ try {
88
+ // Handle custom shortcuts first
89
+ const expression = CUSTOM_SHORTCUTS[schedule] || schedule;
90
+ // Create date in UTC
91
+ const options = {
92
+ currentDate: new Date(currentTime * 1000),
93
+ tz: 'UTC'
94
+ };
95
+ // Parse the cron expression
96
+ const interval = cron_parser_1.CronExpressionParser.parse(expression, options);
97
+ // Get the previous occurrence
98
+ const prev = interval.prev();
99
+ // Reset iterator to previous occurrence
100
+ interval.reset(prev);
101
+ // Get the next occurrence from that point
102
+ const next = interval.next();
103
+ // The difference is the actual period duration
104
+ return Math.floor((next.getTime() - prev.getTime()) / 1000);
105
+ }
106
+ catch (error) {
107
+ throw new Error('Failed to calculate period duration for schedule: ' + schedule + ' - ' + error.message);
108
+ }
109
+ }
110
+ /**
111
+ * Parse schedule string to determine type.
112
+ *
113
+ * @param schedule - Schedule string
114
+ * @returns Parsed schedule info
115
+ */
116
+ function parseScheduleString(schedule) {
117
+ // Check if it's a known frequency
118
+ const frequency = payment_frequency_1.CRON_TO_PAYMENT_FREQUENCY[schedule];
119
+ if (frequency !== undefined) {
120
+ return { type: 'enum', frequency, cron: schedule };
121
+ }
122
+ // Validate as custom cron
123
+ if (!validateCronExpression(schedule)) {
124
+ throw new Error('Invalid payment schedule: ' + schedule);
125
+ }
126
+ return { type: 'cron', cron: schedule };
127
+ }
128
+ /**
129
+ * Calculate payment schedule for a rental period.
130
+ *
131
+ * @param schedule - Cron expression
132
+ * @param startTime - Start Unix timestamp
133
+ * @param duration - Duration in seconds
134
+ * @param limit - Max payments to calculate
135
+ * @returns Payment times and total count
136
+ */
137
+ function calculatePaymentSchedule(schedule, startTime, duration, limit = 10) {
138
+ const times = [];
139
+ const endTime = startTime + duration;
140
+ try {
141
+ // Handle custom shortcuts
142
+ const expression = CUSTOM_SHORTCUTS[schedule] || schedule;
143
+ const options = {
144
+ currentDate: new Date(startTime * 1000),
145
+ endDate: new Date(endTime * 1000),
146
+ tz: 'UTC'
147
+ };
148
+ const interval = cron_parser_1.CronExpressionParser.parse(expression, options);
149
+ // Use take() to get the first N occurrences
150
+ const dates = interval.take(limit);
151
+ for (const date of dates) {
152
+ const nextTime = Math.floor(date.getTime() / 1000);
153
+ if (nextTime >= endTime)
154
+ break;
155
+ times.push(nextTime);
156
+ }
157
+ // Count total payments by iterating through all occurrences
158
+ let totalPayments = times.length;
159
+ if (times.length === limit) {
160
+ // Reset interval to continue counting
161
+ const countInterval = cron_parser_1.CronExpressionParser.parse(expression, {
162
+ currentDate: times.length > 0 ? new Date(times[times.length - 1] * 1000) : new Date(startTime * 1000),
163
+ endDate: new Date(endTime * 1000),
164
+ tz: 'UTC'
165
+ });
166
+ // Count remaining occurrences
167
+ try {
168
+ while (true) {
169
+ const next = countInterval.next();
170
+ if (Math.floor(next.getTime() / 1000) >= endTime)
171
+ break;
172
+ totalPayments++;
173
+ }
174
+ }
175
+ catch {
176
+ // Iterator exhausted
177
+ }
178
+ }
179
+ return { times, totalPayments };
180
+ }
181
+ catch (error) {
182
+ // If parsing fails, return empty schedule
183
+ return { times: [], totalPayments: 0 };
184
+ }
185
+ }
186
+ /**
187
+ * Format payment schedule preview.
188
+ *
189
+ * @param schedule - Cron expression
190
+ * @param startTime - Start Unix timestamp
191
+ * @param duration - Duration in seconds
192
+ * @returns Formatted preview
193
+ */
194
+ function formatPaymentSchedulePreview(schedule, startTime, duration) {
195
+ const { times, totalPayments } = calculatePaymentSchedule(schedule, startTime, duration, 5);
196
+ return {
197
+ schedule,
198
+ firstPayment: times[0] ? new Date(times[0] * 1000) : undefined,
199
+ lastPayment: times[times.length - 1] ? new Date(times[times.length - 1] * 1000) : undefined,
200
+ totalPayments,
201
+ samplePayments: times.map(t => new Date(t * 1000))
202
+ };
203
+ }
204
+ //# sourceMappingURL=cron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../../src/utils/cron.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAuBH,sDAsBC;AAQD,wDASC;AAQD,wDAMC;AAUD,0DA4BC;AAQD,kDAiBC;AAWD,4DAyDC;AAUD,oEAoBC;AA3OD,6CAAmD;AACnD,kEAIoC;AAEpC,uDAAuD;AACvD,MAAM,gBAAgB,GAA2B;IAC/C,aAAa,EAAE,gBAAgB;IAC/B,SAAS,EAAE,aAAa;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,QAAgB,EAAE,aAAqB;IAC3E,IAAI,CAAC;QACH,gCAAgC;QAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QAE1D,qBAAqB;QACrB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;QAEhD,sDAAsD;QACtD,MAAM,OAAO,GAAG;YACd,WAAW,EAAE,QAAQ;YACrB,EAAE,EAAE,KAAK;SACV,CAAC;QAEF,MAAM,QAAQ,GAAG,kCAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAG7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,UAAkB;IACvD,IAAI,CAAC;QACH,0BAA0B;QAC1B,MAAM,cAAc,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;QAClE,kCAAoB,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,SAA2B;IAChE,MAAM,IAAI,GAAG,6CAAyB,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,SAAS,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,QAAgB,EAAE,WAAmB;IAC3E,IAAI,CAAC;QACH,gCAAgC;QAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QAE1D,qBAAqB;QACrB,MAAM,OAAO,GAAG;YACd,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACzC,EAAE,EAAE,KAAK;SACV,CAAC;QAEF,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,kCAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEjE,8BAA8B;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE7B,wCAAwC;QACxC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAErB,0CAA0C;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE7B,+CAA+C;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3G,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,QAAgB;IAKlD,kCAAkC;IAClC,MAAM,SAAS,GAAG,6CAAyB,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACrD,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,wBAAwB,CACtC,QAAgB,EAChB,SAAiB,EACjB,QAAgB,EAChB,KAAK,GAAG,EAAE;IAEV,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IAErC,IAAI,CAAC;QACH,0BAA0B;QAC1B,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QAG1D,MAAM,OAAO,GAAG;YACd,WAAW,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACvC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,EAAE,EAAE,KAAK;SACV,CAAC;QAEF,MAAM,QAAQ,GAAG,kCAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEjE,4CAA4C;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACnD,IAAI,QAAQ,IAAI,OAAO;gBAAE,MAAM;YAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAED,4DAA4D;QAC5D,IAAI,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC3B,sCAAsC;YACtC,MAAM,aAAa,GAAG,kCAAoB,CAAC,KAAK,CAAC,UAAU,EAAE;gBAC3D,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACrG,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACjC,EAAE,EAAE,KAAK;aACV,CAAC,CAAC;YAEH,8BAA8B;YAC9B,IAAI,CAAC;gBACH,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;oBAClC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO;wBAAE,MAAM;oBACxD,aAAa,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qBAAqB;YACvB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0CAA0C;QAC1C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,4BAA4B,CAC1C,QAAgB,EAChB,SAAiB,EACjB,QAAgB;IAQhB,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE5F,OAAO;QACL,QAAQ;QACR,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9D,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3F,aAAa;QACb,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;KACnD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,415 @@
1
+ "use strict";
2
+ /**
3
+ * @purpose PDA derivation utilities for multi-program architecture with cross-program integration
4
+ * @reviewed 2025-07-29
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.deriveContract = deriveContract;
8
+ exports.deriveRentalThread = deriveRentalThread;
9
+ exports.deriveRental = deriveRental;
10
+ exports.deriveRentalAuthority = deriveRentalAuthority;
11
+ exports.deriveConfig = deriveConfig;
12
+ exports.deriveProfileFaction = deriveProfileFaction;
13
+ exports.deriveSagePlayerProfile = deriveSagePlayerProfile;
14
+ exports.deriveStarbase = deriveStarbase;
15
+ exports.deriveStarbasePlayer = deriveStarbasePlayer;
16
+ exports.deriveGameAccounts = deriveGameAccounts;
17
+ exports.deriveFeeTokenAccount = deriveFeeTokenAccount;
18
+ /**
19
+ * # PDA Derivation Utilities for Multi-Program Architecture
20
+ *
21
+ * The SRSLY rental system integrates with multiple Solana programs, each requiring
22
+ * PDAs to be derived using their specific program IDs for proper cross-program
23
+ * invocation (CPI) and account ownership.
24
+ *
25
+ * ## Program Responsibilities:
26
+ * - **SRSLY Program**: Contract, Rental State, Rental Authority PDAs
27
+ * - **Antegen Program**: Automated payment threads via scheduling
28
+ * - **Profile Program**: Star Atlas SAGE profiles and starbase management
29
+ * - **Player Faction Program**: Player faction enrollment in SAGE ecosystem
30
+ *
31
+ * ## Cross-Program Integration:
32
+ * Each program owns its respective PDAs and must be used for derivation to
33
+ * ensure proper account ownership and enable CPI calls between programs.
34
+ *
35
+ * @note Future Enhancement: Consider requesting codama to auto-generate PDA
36
+ * utilities alongside instruction code to reduce manual maintenance.
37
+ */
38
+ const kit_1 = require("@solana/kit");
39
+ const config_1 = require("./config");
40
+ const constants_1 = require("./constants");
41
+ const fetch_accounts_1 = require("./fetch-accounts");
42
+ /**
43
+ * Helper function to convert a string seed to a Uint8Array
44
+ * This is necessary for @solana/kit's getBytesEncoder().encode()
45
+ *
46
+ * @param seed The string seed to convert
47
+ * @returns A Uint8Array containing the UTF-8 encoded seed
48
+ */
49
+ function seedToBytes(seed) {
50
+ // Use TextEncoder for browser compatibility instead of Buffer
51
+ return new TextEncoder().encode(seed);
52
+ }
53
+ /**
54
+ * Derives the rental contract PDA using the SRSLY program ID
55
+ *
56
+ * Contract PDAs are derived from the fleet address and provide deterministic
57
+ * addresses for rental contracts without requiring a private key. The SDK
58
+ * automatically resolves the correct SRSLY program address for the current network
59
+ * unless a specific program ID is provided.
60
+ *
61
+ * @param fleet - The fleet address to create a contract for
62
+ * @param program - Optional SRSLY program ID (defaults to network-resolved address)
63
+ * @returns The contract PDA derived using SRSLY program ID
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * // Use network-resolved program address (recommended)
68
+ * const contractAddress = await deriveContract('FleetAddress123...');
69
+ *
70
+ * // Use specific program address
71
+ * const contractAddress = await deriveContract(
72
+ * 'FleetAddress123...',
73
+ * 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'
74
+ * );
75
+ * ```
76
+ */
77
+ async function deriveContract(fleet, program) {
78
+ // Use provided program ID or resolve from network configuration
79
+ if (!program) {
80
+ const addresses = (0, config_1.resolveProgramAddresses)((0, config_1.getEffectiveSdkConfig)());
81
+ program = addresses.srslyProgramAddress;
82
+ }
83
+ const [pda] = await (0, kit_1.getProgramDerivedAddress)({
84
+ programAddress: (0, constants_1.toAddress)(program),
85
+ seeds: [
86
+ // "rental_contract" seed - matches RENTAL_CONTRACT_SEED in Rust
87
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([114, 101, 110, 116, 97, 108, 95, 99, 111, 110, 116, 114, 97, 99, 116])),
88
+ // fleet address - convert string to Address
89
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(fleet)),
90
+ ],
91
+ });
92
+ return pda;
93
+ }
94
+ /**
95
+ * Derives the rental thread PDA using the Antegen program ID
96
+ *
97
+ * Thread accounts are managed by the Antegen program, so they must be derived
98
+ * using the Antegen program ID rather than the SRSLY program ID. The SDK
99
+ * automatically resolves the correct Antegen program address for the current network
100
+ * unless a specific program ID is provided.
101
+ *
102
+ * @param authority - The rental authority PDA (derived with SRSLY program)
103
+ * @param rental - The rental state PDA (derived with SRSLY program)
104
+ * @param program - Optional Antegen program ID (defaults to network-resolved address)
105
+ * @returns The rental thread PDA derived using Antegen program ID
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * // Use network-resolved program address (recommended)
110
+ * const threadPda = await deriveRentalThread(rentalAuthorityPda, rentalStatePda);
111
+ *
112
+ * // Use specific program address
113
+ * const threadPda = await deriveRentalThread(
114
+ * rentalAuthorityPda,
115
+ * rentalStatePda,
116
+ * 'AgThdyi1P5RkVeZD2rQahTvs8HePJoGFFxKtvok5s2J1'
117
+ * );
118
+ * ```
119
+ */
120
+ async function deriveRentalThread(rental, authority, program) {
121
+ // Use provided progam ID or resolve from network configuration
122
+ if (!authority) {
123
+ authority = await deriveRentalAuthority((0, constants_1.toAddress)(program));
124
+ }
125
+ // Use provided program ID or resolve from network configuration
126
+ if (!program) {
127
+ const addresses = (0, config_1.resolveProgramAddresses)((0, config_1.getEffectiveSdkConfig)());
128
+ program = addresses.antegenProgramAddress;
129
+ }
130
+ const [pda] = await (0, kit_1.getProgramDerivedAddress)({
131
+ programAddress: (0, constants_1.toAddress)(program),
132
+ seeds: [
133
+ // "thread" seed - matches THREAD_SEED in Rust
134
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([116, 104, 114, 101, 97, 100])),
135
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(rental)),
136
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(authority)),
137
+ ],
138
+ });
139
+ return pda;
140
+ }
141
+ /**
142
+ * Derives the rental state PDA using the SRSLY program ID
143
+ *
144
+ * The SDK automatically resolves the correct SRSLY program address for the current network
145
+ * unless a specific program ID is provided.
146
+ *
147
+ * @param contract - The rental contract address
148
+ * @param borrower - The borrower's public key
149
+ * @param program - Optional SRSLY program ID (defaults to network-resolved address)
150
+ * @returns The rental state PDA
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * // Use network-resolved program address (recommended)
155
+ * const rentalStateAddress = await deriveRentalState(contractAddress, borrowerAddress);
156
+ *
157
+ * // Use specific program address
158
+ * const rentalStateAddress = await deriveRentalState(
159
+ * contractAddress,
160
+ * borrowerAddress,
161
+ * 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'
162
+ * );
163
+ * ```
164
+ */
165
+ async function deriveRental(contract, borrower, program) {
166
+ // Use provided program ID or resolve from network configuration
167
+ if (!program) {
168
+ const addresses = (0, config_1.resolveProgramAddresses)((0, config_1.getEffectiveSdkConfig)());
169
+ program = addresses.srslyProgramAddress;
170
+ }
171
+ const [pda] = await (0, kit_1.getProgramDerivedAddress)({
172
+ programAddress: (0, constants_1.toAddress)(program),
173
+ seeds: [
174
+ // "rental_state" seed
175
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([114, 101, 110, 116, 97, 108, 95, 115, 116, 97, 116, 101])),
176
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(contract)),
177
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(borrower)),
178
+ ],
179
+ });
180
+ return pda;
181
+ }
182
+ /**
183
+ * Derives the rental authority PDA using the SRSLY program ID
184
+ *
185
+ * The SDK automatically resolves the correct SRSLY program address for the current network
186
+ * unless a specific program ID is provided.
187
+ *
188
+ * @param program - Optional SRSLY program ID (defaults to network-resolved address)
189
+ * @returns The rental authority PDA
190
+ *
191
+ * @example
192
+ * ```typescript
193
+ * // Use network-resolved program address (recommended)
194
+ * const rentalAuthorityAddress = await deriveRentalAuthority();
195
+ *
196
+ * // Use specific program address
197
+ * const rentalAuthorityAddress = await deriveRentalAuthority(
198
+ * 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'
199
+ * );
200
+ * ```
201
+ */
202
+ async function deriveRentalAuthority(program) {
203
+ // Use provided program ID or resolve from network configuration
204
+ if (!program) {
205
+ const addresses = (0, config_1.resolveProgramAddresses)((0, config_1.getEffectiveSdkConfig)());
206
+ program = addresses.srslyProgramAddress;
207
+ }
208
+ const [pda] = await (0, kit_1.getProgramDerivedAddress)({
209
+ programAddress: (0, constants_1.toAddress)(program),
210
+ seeds: [
211
+ // "rental_authority" seed
212
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([
213
+ 114, 101, 110, 116, 97, 108, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121,
214
+ ])),
215
+ ],
216
+ });
217
+ return pda;
218
+ }
219
+ /**
220
+ * Derives the config PDA using the SRSLY program ID
221
+ *
222
+ * The SDK automatically resolves the correct SRSLY program address for the current network
223
+ * unless a specific program ID is provided.
224
+ *
225
+ * @param program - Optional SRSLY program ID (defaults to network-resolved address)
226
+ * @returns The config PDA
227
+ *
228
+ * @example
229
+ * ```typescript
230
+ * // Use network-resolved program address (recommended)
231
+ * const configAddress = await deriveConfig();
232
+ *
233
+ * // Use specific program address
234
+ * const configAddress = await deriveConfig(
235
+ * 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'
236
+ * );
237
+ * ```
238
+ */
239
+ async function deriveConfig(program) {
240
+ // Use provided program ID or resolve from network configuration
241
+ if (!program) {
242
+ const addresses = (0, config_1.resolveProgramAddresses)((0, config_1.getEffectiveSdkConfig)());
243
+ program = addresses.srslyProgramAddress;
244
+ }
245
+ const [pda] = await (0, kit_1.getProgramDerivedAddress)({
246
+ programAddress: (0, constants_1.toAddress)(program),
247
+ seeds: [
248
+ // "config" seed - matches CONFIG_SEED in Rust
249
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([99, 111, 110, 102, 105, 103])),
250
+ ],
251
+ });
252
+ return pda;
253
+ }
254
+ /**
255
+ * Helper function to derive the borrower's profile faction account
256
+ *
257
+ * @param profile The borrower's profile address
258
+ * @returns Promise that resolves to the derived profile faction address
259
+ */
260
+ async function deriveProfileFaction(profile) {
261
+ const programAddress = await (0, constants_1.getProfileFactionProgramAddress)();
262
+ const [pda] = await (0, kit_1.getProgramDerivedAddress)({
263
+ programAddress,
264
+ seeds: [seedToBytes(constants_1.PROFILE_FACTION_SEED), (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(profile))],
265
+ });
266
+ return pda;
267
+ }
268
+ /**
269
+ * Helper function to derive the sage player profile
270
+ *
271
+ * @param borrowerProfile The borrower's profile address
272
+ * @param gameId The game ID from the fleet or contract state
273
+ * @returns Promise that resolves to the derived sage player profile address
274
+ */
275
+ async function deriveSagePlayerProfile(borrowerProfile, gameId) {
276
+ const programAddress = await (0, constants_1.getSageProgramAddress)();
277
+ const [pda] = await (0, kit_1.getProgramDerivedAddress)({
278
+ programAddress,
279
+ seeds: [
280
+ seedToBytes(constants_1.SAGE_PLAYER_PROFILE_SEED),
281
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(borrowerProfile)),
282
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(gameId)),
283
+ ],
284
+ });
285
+ return pda;
286
+ }
287
+ /**
288
+ * Helper function to derive the starbase address based on faction
289
+ *
290
+ * @param faction The faction (1/2/3 or 'mud'/'oni'/'ustur')
291
+ * @param gameId The game ID from the fleet or contract state
292
+ * @returns Promise that resolves to the derived starbase address
293
+ */
294
+ async function deriveStarbase(faction, gameId) {
295
+ const programAddress = await (0, constants_1.getSageProgramAddress)();
296
+ // Convert faction to string representation if it's a number
297
+ const factionName = typeof faction === 'number' ? constants_1.FACTION_MAPPING[faction] : faction;
298
+ // Validate faction
299
+ if (!factionName || !constants_1.FACTION_SPECIFIC_CSS[factionName]) {
300
+ throw new Error(`Unsupported faction: ${faction}`);
301
+ }
302
+ // Get coordinates for the faction
303
+ const coords = constants_1.FACTION_SPECIFIC_CSS[factionName];
304
+ // Convert coordinates to bytes (little-endian, two's complement)
305
+ const xCoord = new DataView(new ArrayBuffer(8));
306
+ const yCoord = new DataView(new ArrayBuffer(8));
307
+ xCoord.setBigInt64(0, BigInt(coords.x), true);
308
+ yCoord.setBigInt64(0, BigInt(coords.y), true);
309
+ // Create Uint8Array from DataView
310
+ const xBytes = new Uint8Array(xCoord.buffer);
311
+ const yBytes = new Uint8Array(yCoord.buffer);
312
+ const [pda] = await (0, kit_1.getProgramDerivedAddress)({
313
+ programAddress,
314
+ seeds: [
315
+ seedToBytes(constants_1.STARBASE_SEED),
316
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(gameId)),
317
+ (0, kit_1.getBytesEncoder)().encode(xBytes),
318
+ (0, kit_1.getBytesEncoder)().encode(yBytes),
319
+ ],
320
+ });
321
+ return pda;
322
+ }
323
+ /**
324
+ * Helper function to derive the starbase player address
325
+ *
326
+ * @param sagePlayerProfile The sage player profile address
327
+ * @param starbase The starbase address
328
+ * @param starbaseSeqId The starbase sequence ID (defaults to 0)
329
+ * @returns Promise that resolves to the derived starbase player address
330
+ */
331
+ async function deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId = 0) {
332
+ // Get network-specific SAGE program address
333
+ const programAddress = await (0, constants_1.getSageProgramAddress)();
334
+ // Convert sequence ID to bytes (little-endian uint16)
335
+ const seqIdView = new DataView(new ArrayBuffer(2));
336
+ seqIdView.setUint16(0, starbaseSeqId, true);
337
+ const seqIdBytes = new Uint8Array(seqIdView.buffer);
338
+ const [pda] = await (0, kit_1.getProgramDerivedAddress)({
339
+ programAddress,
340
+ seeds: [
341
+ seedToBytes(constants_1.STARBASE_PLAYER_SEED),
342
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(starbase)),
343
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(sagePlayerProfile)),
344
+ (0, kit_1.getBytesEncoder)().encode(seqIdBytes),
345
+ ],
346
+ });
347
+ return pda;
348
+ }
349
+ /**
350
+ * Derives all three accounts needed: profileFaction, starbase, and starbasePlayer
351
+ *
352
+ * @param profile The borrower's profile address
353
+ * @param faction The faction (1/2/3 or 'mud'/'oni'/'ustur')
354
+ * @param starbaseSeqId The starbase sequence ID (defaults to 0)
355
+ * @param gameId The game ID from the fleet or contract state
356
+ * @returns Promise that resolves to the three derived addresses
357
+ */
358
+ async function deriveGameAccounts(profile, faction, starbaseSeqId = 0, gameId) {
359
+ // Derive the three accounts in parallel
360
+ const [profileFaction, sagePlayerProfile, starbase] = await Promise.all([
361
+ deriveProfileFaction(profile),
362
+ deriveSagePlayerProfile(profile, gameId),
363
+ deriveStarbase(faction, gameId),
364
+ ]);
365
+ // Derive starbasePlayer using the results from above
366
+ const starbasePlayer = await deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId);
367
+ return {
368
+ profileFaction,
369
+ starbase,
370
+ starbasePlayer,
371
+ };
372
+ }
373
+ /**
374
+ * Derives the fee token account PDA using the Associated Token Program
375
+ *
376
+ * This account holds the collected service fees in ATLAS tokens. It's an associated
377
+ * token account derived from the config's fees_account and the ATLAS mint address.
378
+ * Both values are retrieved from the ConfigState account.
379
+ *
380
+ * @param configState - Optional ConfigState account data. If not provided, will fetch it automatically
381
+ * @returns The fee token account PDA
382
+ *
383
+ * @example
384
+ * ```typescript
385
+ * // Auto-fetch config state (recommended for one-off use)
386
+ * const feeTokenAccount = await deriveFeeTokenAccount();
387
+ *
388
+ * // Use already-fetched config state (recommended when you already have it)
389
+ * const configState = await fetchConfigState();
390
+ * const feeTokenAccount = await deriveFeeTokenAccount(configState);
391
+ * ```
392
+ */
393
+ async function deriveFeeTokenAccount(configState) {
394
+ // Use provided configState or fetch it
395
+ if (!configState) {
396
+ const configPda = await deriveConfig();
397
+ configState = await (0, fetch_accounts_1.fetchConfigState)(configPda);
398
+ }
399
+ // Extract mint and fees account from ConfigState
400
+ const mint = configState.atlasMint;
401
+ const feesAccount = configState.feesAccount;
402
+ // Associated Token Program ID (standard SPL token program)
403
+ const ASSOCIATED_TOKEN_PROGRAM_ID = (0, constants_1.toAddress)('ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL');
404
+ const TOKEN_PROGRAM_ID = (0, constants_1.toAddress)('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA');
405
+ const [pda] = await (0, kit_1.getProgramDerivedAddress)({
406
+ programAddress: ASSOCIATED_TOKEN_PROGRAM_ID,
407
+ seeds: [
408
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(feesAccount)),
409
+ (0, kit_1.getAddressEncoder)().encode(TOKEN_PROGRAM_ID),
410
+ (0, kit_1.getAddressEncoder)().encode((0, constants_1.toAddress)(mint)),
411
+ ],
412
+ });
413
+ return pda;
414
+ }
415
+ //# sourceMappingURL=derive-pda.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive-pda.js","sourceRoot":"","sources":["../../../src/utils/derive-pda.ts"],"names":[],"mappings":"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"}