@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
package/dist/esm/index.js CHANGED
@@ -1,7 +1,215 @@
1
+ /**
2
+ * @purpose SRSLY SDK - Solana Rental System Library main entry point
3
+ * @reviewed 2025-07-29
4
+ *
5
+ * A comprehensive TypeScript SDK for interacting with the SRSLY Solana program,
6
+ * which facilitates fleet rentals in the Star Atlas ecosystem. This SDK provides
7
+ * a fluent, developer-friendly interface that works with both @solana/kit and
8
+ * @solana/web3.js libraries.
9
+ *
10
+ * ## Features
11
+ *
12
+ * - **Universal Compatibility**: Works with both @solana/kit and @solana/web3.js
13
+ * - **Fluent API**: Chainable methods for intuitive development experience
14
+ * - **String-Based Addresses**: Uses strings for all addresses to eliminate library conflicts
15
+ * - **Network Agnostic**: Supports mainnet, devnet, and custom RPC endpoints
16
+ * - **Type Safety**: Full TypeScript support with comprehensive type definitions
17
+ * - **Auto-Generated Types**: Types generated from Solana program IDL for accuracy
18
+ *
19
+ * ## Quick Start
20
+ *
21
+ * ```typescript
22
+ * import { createContract, acceptRental } from '@srsly/sdk';
23
+ *
24
+ * // Create a rental contract
25
+ * const instruction = await createContract({
26
+ * owner: wallet,
27
+ * fleet: "FleetAddress123...",
28
+ * ownerProfile: "ProfileAddr...",
29
+ * rate: 1000,
30
+ * durationMax: 7, // 7 payment periods (7 days for @daily)
31
+ * paymentsFreq: 'daily'
32
+ * });
33
+ *
34
+ * // Accept a rental
35
+ * const rentalInstruction = await acceptRental({
36
+ * borrower: borrowerWallet,
37
+ * contract: contractAddress,
38
+ * amount: 7000,
39
+ * duration: { days: 7 } // Smart parameter format
40
+ * });
41
+ * ```
42
+ *
43
+ * ## Architecture
44
+ *
45
+ * The SDK is organized into several main modules:
46
+ * - **Contract**: Functions for creating and managing rental contracts
47
+ * - **Rental**: Functions for rental operations (accept, cancel, close)
48
+ * - **Utils**: Helper functions for duration, payment frequency, and account management
49
+ * - **Types**: TypeScript type definitions and interfaces
50
+ *
51
+ * @packageDocumentation
52
+ */
1
53
  // Export main SDK functions
2
- export * from "./contract";
3
- export * from "./rental";
4
- export * from "./utils";
5
- // Export PaymentFrequency from utils since it's not in codama
6
- export { PaymentFrequency } from "./utils/constants";
54
+ export * from './contract';
55
+ export * from './rental';
56
+ // Export config instruction functions
57
+ export * from './config';
58
+ // Export config functions with public-facing names from utils
59
+ export { setSdkConfig as setConfig, getSdkConfig as getConfig, clearSdkConfig as clearConfig, resolveProgramAddresses, } from './utils/config';
60
+ export * from './utils';
61
+ /**
62
+ * Account fetch functions that work with any RPC endpoint.
63
+ *
64
+ * These functions accept RPC URL strings and return account data,
65
+ * making it easy to fetch program state from any network.
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * const contract = await fetchContractState(
70
+ * "https://api.mainnet-beta.solana.com",
71
+ * contractAddress
72
+ * );
73
+ *
74
+ * // Fetch SAGE fleet data using manual struct parsing
75
+ * const fleet = await fetchFleetState(fleetAddress);
76
+ * ```
77
+ */
78
+ export { fetchContractState, fetchRentalState, fetchConfigState, fetchFleetState, fetchMultipleContractStates, fetchMultipleRentalStates, } from './utils/fetch-accounts';
79
+ /**
80
+ * Payment frequency enum generated from the Rust program.
81
+ *
82
+ * This enum mirrors the Rust PaymentFrequency type and provides
83
+ * type-safe payment frequency values for contract creation.
84
+ */
85
+ export { PaymentFrequency } from './types/payment-frequency';
86
+ /**
87
+ * Payment frequency types and validation utilities.
88
+ *
89
+ * These exports provide string-based payment frequency handling,
90
+ * validation functions, and mapping between different representations.
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * if (isValidPaymentFrequency('daily')) {
95
+ * const frequency = getPaymentFrequencyFromString('daily');
96
+ * }
97
+ * ```
98
+ */
99
+ export { VALID_PAYMENT_FREQUENCIES, PAYMENT_FREQUENCY_MAP, PAYMENT_FREQUENCY_CONSTANTS, PAYMENT_FREQUENCY_TO_CRON, CRON_TO_PAYMENT_FREQUENCY, getPaymentFrequencyFromString, isValidPaymentFrequency, } from './types/payment-frequency';
100
+ /**
101
+ * Payment frequency utilities that mirror the Rust program implementation.
102
+ *
103
+ * These functions provide conversion between payment frequencies and time durations,
104
+ * ensuring consistency with the on-chain program logic.
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * const seconds = paymentFrequencyStringToSeconds('weekly');
109
+ * validateDurationAlignment(duration, 'daily');
110
+ * ```
111
+ */
112
+ export { paymentFrequencyToSeconds, paymentFrequencyStringToSeconds, validateDurationAlignment, normalizePaymentSchedule, } from './utils/payment-frequency';
113
+ /**
114
+ * Cron expression utilities for advanced payment scheduling.
115
+ *
116
+ * These functions provide cron expression parsing, validation, and scheduling
117
+ * capabilities using the croner library, mirroring the Rust implementation.
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * // Validate a cron expression
122
+ * if (validateCronExpression("0 9 * * MON-FRI")) {
123
+ * // Calculate next payment time
124
+ * const nextPayment = getNextCronOccurrence("@daily", Date.now() / 1000);
125
+ * }
126
+ *
127
+ * // Preview payment schedule
128
+ * const schedule = calculatePaymentSchedule("@hourly", startTime, duration);
129
+ * console.log(`${schedule.totalPayments} payments will occur`);
130
+ * ```
131
+ */
132
+ export { getNextCronOccurrence, validateCronExpression, paymentFrequencyToCron, parseScheduleString, calculatePaymentSchedule, formatPaymentSchedulePreview, } from './utils/cron';
133
+ /**
134
+ * Schedule validation utilities for rental contracts.
135
+ *
136
+ * These functions validate payment schedules against contract constraints
137
+ * and provide detailed feedback on potential issues.
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * const validation = validateRentalSchedule(
142
+ * "@daily",
143
+ * { days: 7 }, // Smart parameter format
144
+ * { days: 1 }, // Smart parameter format
145
+ * { days: 30 } // Smart parameter format
146
+ * );
147
+ *
148
+ * if (validation.valid) {
149
+ * console.log(`${validation.paymentCount} payments scheduled`);
150
+ * }
151
+ * ```
152
+ */
153
+ export { validateRentalSchedule, validateFrequencyForDuration, } from './utils/schedule-validation';
154
+ /**
155
+ * Schedule builder for creating and previewing payment schedules.
156
+ *
157
+ * Provides a fluent API for building payment schedules with validation
158
+ * and preview capabilities.
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * // From standard frequency
163
+ * const schedule = ScheduleBuilder
164
+ * .fromFrequency("daily")
165
+ * .preview(Date.now() / 1000, { days: 7 });
166
+ *
167
+ * // Custom cron expression
168
+ * const custom = ScheduleBuilder
169
+ * .fromCron("0 12 * * MON")
170
+ * .validate({ days: 30 }, { days: 1 }, { days: 90 });
171
+ *
172
+ * // Common intervals
173
+ * const every3Hours = ScheduleBuilder
174
+ * .every('hours', 3)
175
+ * .preview(Date.now() / 1000, { days: 1 });
176
+ * ```
177
+ */
178
+ export { ScheduleBuilder, createSchedule, } from './utils/schedule-builder';
179
+ /**
180
+ * Duration helper functions (DEPRECATED)
181
+ *
182
+ * Duration helper functions have been deprecated in favor of smart parameters.
183
+ * Use the smart parameter format instead for better type safety and clarity.
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * // Old approach (deprecated):
188
+ * // const rentalDuration = days(7);
189
+ *
190
+ * // New approach with smart parameters:
191
+ * const rentalDuration = { days: 7 };
192
+ * const paymentPeriod = { hours: 6 };
193
+ * const longRental = { weeks: 2 };
194
+ * ```
195
+ */
196
+ /**
197
+ * SRSLY Program IDL
198
+ *
199
+ * Export the complete IDL for the SRSLY program, useful for:
200
+ * - Building custom decoders
201
+ * - Generating client code
202
+ * - Inspecting program structure
203
+ * - Version-aware deserialization
204
+ */
205
+ export { IDL } from './idl';
206
+ /**
207
+ * Legacy versioned decoders are now deprecated.
208
+ *
209
+ * Use the native Codama lazy decoder instead:
210
+ * - Replace: fetchMaybeRentalStateVersioned(rpc, address)
211
+ * - With: fetchMaybeRentalState(rpc, address, { lazy: true })
212
+ *
213
+ * The lazy decoder is available in all generated account fetch functions.
214
+ */
7
215
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAuBxB,8DAA8D;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,4BAA4B;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AAEzB,sCAAsC;AACtC,cAAc,UAAU,CAAC;AAEzB,8DAA8D;AAC9D,OAAO,EACL,YAAY,IAAI,SAAS,EACzB,YAAY,IAAI,SAAS,EACzB,cAAc,IAAI,WAAW,EAC7B,uBAAuB,GAMxB,MAAM,gBAAgB,CAAC;AAExB,cAAc,SAAS,CAAC;AA0BxB;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,GAE1B,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,OAAO,EAEL,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;GAWG;AACH,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,sBAAsB,EACtB,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EACL,eAAe,EACf,cAAc,GAGf,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;GAQG;AACH,OAAO,EAAE,GAAG,EAAuB,MAAM,OAAO,CAAC;AAEjD;;;;;;;;GAQG"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wuwei-labs/srsly",
3
- "version": "2.0.0-beta.9",
3
+ "version": "2.3.2",
4
4
  "description": "",
5
5
  "source": "./src/index.ts",
6
6
  "sideEffects": false,
@@ -11,10 +11,8 @@
11
11
  "dist/cjs",
12
12
  "dist/esm",
13
13
  "dist/types",
14
- "target/idl/srsly-mainnet.json",
15
- "target/idl/srsly-devnet.json",
16
- "target/types/srsly-mainnet.ts",
17
- "target/types/srsly-devnet.ts"
14
+ "target/idl/srsly.json",
15
+ "target/types/srsly.ts"
18
16
  ],
19
17
  "keywords": [
20
18
  "SRSLY",
@@ -23,42 +21,43 @@
23
21
  "sdk"
24
22
  ],
25
23
  "scripts": {
26
- "package": "pnpm run clean && pnpm build && pnpm run package:cjs && pnpm run package:esm",
24
+ "build": "pnpm run generate && pnpm run package",
25
+ "build:quick": "pnpm run generate && pnpm run package",
26
+ "package": "pnpm run package:cjs && pnpm run package:esm",
27
27
  "package:cjs": "tsc -p tsconfig.cjs.json && tsconfig-to-dual-package tsconfig.cjs.json",
28
28
  "package:esm": "tsc -p tsconfig.esm.json && tsconfig-to-dual-package tsconfig.esm.json",
29
- "clean": "rm -rf dist && cargo clean && pnpm install",
30
29
  "generate": "node generate.mjs",
31
- "build": "pnpm build:mainnet && pnpm build:devnet",
32
- "build:mainnet": "anchor build -- --features mainnet && NETWORK=mainnet pnpm run generate",
33
- "build:devnet": "NETWORK=devnet anchor build && pnpm run generate",
30
+ "dev": "vitest",
31
+ "pretest": "pnpm run build:quick",
32
+ "test": "vitest run",
33
+ "test:coverage": "vitest run --coverage",
34
+ "clean": "rm -rf dist target && cargo clean",
34
35
  "docs": "typedoc",
35
- "test": "vitest",
36
- "test:manual": "node tests/test-complete-idl.js && node tests/test-cjs.js && node tests/test-webpack-sim.js",
37
- "test:cjs": "node tests/test-cjs.js",
38
- "test:webpack": "node tests/test-webpack-sim.js",
39
- "test:npm-install": "node tests/test-npm-install.js",
40
- "test:pnpm-install": "node tests/test-pnpm-install.js",
41
- "test:package-managers": "node tests/test-npm-install.js && node tests/test-pnpm-install.js",
42
- "test:idl": "node tests/test-idl-types.js"
36
+ "format": "prettier --write \"src/**/*.{ts,js,json}\" --ignore-path .prettierignore",
37
+ "format:check": "prettier --check \"src/**/*.{ts,js,json}\" --ignore-path .prettierignore",
38
+ "lint": "pnpm run format:check"
43
39
  },
44
40
  "author": "",
45
41
  "license": "ISC",
46
- "packageManager": "pnpm@10.6.5",
42
+ "packageManager": "pnpm@10.13.1",
43
+ "dependencies": {
44
+ "@solana/kit": "^2.1.1",
45
+ "cron-parser": "^5.3.0"
46
+ },
47
+ "optionalDependencies": {
48
+ "@srsly/program": "workspace:*"
49
+ },
47
50
  "devDependencies": {
48
51
  "@codama/nodes-from-anchor": "^1.1.13",
49
- "@codama/renderers": "^1.0.21",
50
- "@types/bn.js": "^5.1.6",
52
+ "@wuwei-labs/renderers-js": "^1.4.2",
53
+ "@types/node": "^24.0.3",
51
54
  "codama": "^1.2.13",
52
- "ts-node": "^10.9.2",
55
+ "nodemon": "^3.0.2",
53
56
  "tsconfig-to-dual-package": "^1.2.0",
54
- "typedoc": "^0.28.3",
55
- "typescript": "^5.8.3",
56
- "vitest": "^3.1.2"
57
- },
58
- "dependencies": {
59
- "@coral-xyz/anchor": "^0.31.1",
60
- "@solana/kit": "^2.1.0",
61
- "@solana/web3.js": "^1.98.2"
57
+ "typedoc": "^0.27.6",
58
+ "typescript": "^5.9.2",
59
+ "vitest": "^3.2.4",
60
+ "webpack": "^5.99.9"
62
61
  },
63
62
  "type": "module"
64
63
  }
@@ -1,86 +1,258 @@
1
- import { getCachedNetworkModule, createConfigSelector } from '../utils/config';
2
- import { getSageGameId, ATLAS_TO_STARDUST } from '../utils/constants';
3
- import { deriveGameAccounts, } from '../utils';
4
1
  /**
5
- * Internal function to accept a rental instruction with configuration options
2
+ * @purpose Rental contract acceptance with payment calculation and SAGE integration
3
+ * @reviewed 2025-07-29
4
+ */
5
+ import { getModule, createSdkConfigSelector, resolveProgramAddresses, getSdkConfig, } from '../utils/config';
6
+ import { toAddress } from '../utils/constants';
7
+ import { deriveGameAccounts } from '../utils';
8
+ import { createFluentInstruction, createSmartFluentConfigSelector, } from '../utils/instruction-converter';
9
+ import { fetchContractState, fetchFleetState, fetchConfigState } from '../utils/fetch-accounts';
10
+ import { getActualPeriodDuration } from '../utils/cron';
11
+ import { deriveRentalThread, deriveRental, deriveRentalAuthority, deriveFeeTokenAccount } from '../utils/derive-pda';
12
+ import { createTransactionSigner } from '../utils/signer';
13
+ import { convertDurationToSeconds } from '../utils/param-converters';
14
+ /**
15
+ * Internal function to accept a rental instruction with configuration options.
16
+ *
17
+ * This function handles the core logic of creating a rental acceptance instruction,
18
+ * including contract state fetching, payment calculation, account derivation, and
19
+ * instruction generation. It automatically validates contract constraints and
20
+ * calculates the required payment amount.
21
+ *
22
+ * @internal
23
+ * @param params - The rental acceptance parameters
24
+ * @param config - Optional configuration for network and program settings
25
+ * @returns Promise resolving to a fluent instruction object
26
+ * @throws Error when contract is not found, duration constraints are violated, or account derivation fails
6
27
  */
7
28
  async function _acceptRental(params, config) {
8
- const { borrower, borrowerProfile, borrowerFaction, fleet, contract, gameId, rate, duration, referralTokenAccount, } = params;
9
- // Get the actual game ID to use (param override, config override, or network default)
10
- const actualGameId = gameId || await getSageGameId(config);
11
- // Calculate the total amount from rate and duration
12
- // Convert ATLAS to stardust (smallest unit): 1 ATLAS = 100,000,000 stardust
13
- const amount = BigInt(rate) * BigInt(duration) * BigInt(ATLAS_TO_STARDUST);
14
- // Derive the three accounts we need
15
- const { profileFaction, starbase, starbasePlayer } = await deriveGameAccounts(borrowerProfile, borrowerFaction, actualGameId, 0, // starbaseSeqId
16
- config);
17
- // Let codama derive the rest (rentalThread, rentalState, rentalAuthority, etc.)
29
+ let { borrowerProfile, borrowerFaction, contract, duration } = params;
30
+ // Get the resolved addresses from config (including network-specific addresses)
31
+ const globalConfig = getSdkConfig();
32
+ const effectiveConfig = { ...globalConfig, ...config };
33
+ const resolvedAddresses = resolveProgramAddresses(effectiveConfig);
34
+ // Fetch contract state to get payment frequency and validate parameters
35
+ const contractState = await fetchContractState(contract);
36
+ const configState = await fetchConfigState();
37
+ // Extract data from contract state
38
+ const rate = contractState.rate; // Keep as bigint
39
+ const fleet = contractState.fleet;
40
+ // Resolve faction - use provided faction or fetch from fleet
41
+ if (!borrowerFaction) {
42
+ const fleetState = await fetchFleetState(fleet);
43
+ borrowerFaction = fleetState.faction;
44
+ }
45
+ // Convert duration to seconds using smart parameter converter
46
+ const durationSeconds = await convertDurationToSeconds(duration);
47
+ // Get the actual period duration using prev/next method
48
+ const currentTime = Math.floor(Date.now() / 1000);
49
+ // Normalize the payment frequency for JavaScript cron-parser
50
+ const normalizedFreq = contractState.paymentsFeq.startsWith('@')
51
+ ? {
52
+ '@hourly': '0 * * * *',
53
+ '@daily': '0 0 * * *',
54
+ '@weekly': '0 0 * * 0',
55
+ '@monthly': '0 0 1 * *',
56
+ '@decasecond': '*/10 * * * * *',
57
+ '@minute': '0 * * * * *',
58
+ }[contractState.paymentsFeq] || contractState.paymentsFeq
59
+ : contractState.paymentsFeq;
60
+ // Get actual period duration (not time-to-first-payment)
61
+ const actualPeriodDuration = getActualPeriodDuration(normalizedFreq, currentTime);
62
+ // Calculate proportional amount using integer math
63
+ // amount = rate * duration / period * stardust_to_atlas
64
+ const amount = rate
65
+ * BigInt(durationSeconds)
66
+ / BigInt(actualPeriodDuration)
67
+ * configState.stardustToAtlas;
68
+ // Derive the fee_token_account from config state
69
+ const feeTokenAccount = await deriveFeeTokenAccount(configState);
70
+ // Manually derive ALL game accounts - they all use different program addresses than main SAGE program
71
+ const { profileFaction, starbase, starbasePlayer } = await deriveGameAccounts(toAddress(borrowerProfile), borrowerFaction, 0, // starbaseSeqId
72
+ contractState.gameId);
73
+ // Handle borrower using smart signer handler for universal compatibility
74
+ const borrower = createTransactionSigner(params.borrower);
75
+ // Manually derive PDAs with correct program IDs
76
+ const rentalStatePda = await deriveRental(toAddress(contract), borrower.address, // Use TransactionSigner.address for PDA derivation
77
+ resolvedAddresses.srslyProgramAddress);
78
+ const rentalAuthorityPda = await deriveRentalAuthority(resolvedAddresses.srslyProgramAddress);
79
+ const rentalThreadPda = await deriveRentalThread(rentalAuthorityPda, rentalStatePda, resolvedAddresses.antegenProgramAddress);
18
80
  const input = {
19
- borrower,
20
- borrowerProfile,
21
- borrowerProfileFaction: profileFaction,
22
- fleet,
23
- contract,
24
- gameId: actualGameId,
25
- starbase,
26
- starbasePlayer,
81
+ borrower: borrower,
82
+ borrowerProfile: toAddress(borrowerProfile),
83
+ borrowerProfileFaction: toAddress(profileFaction),
84
+ fleet: toAddress(fleet),
85
+ contract: toAddress(contract),
86
+ gameId: contractState.gameId,
87
+ starbase: toAddress(starbase),
88
+ starbasePlayer: toAddress(starbasePlayer),
89
+ // Override PDAs with correctly derived addresses
90
+ rentalState: rentalStatePda,
91
+ rentalAuthority: rentalAuthorityPda,
92
+ rentalThread: rentalThreadPda,
27
93
  amount,
28
- duration,
29
- referralTokenAccount,
94
+ duration: durationSeconds,
95
+ feeTokenAccount,
96
+ mint: resolvedAddresses.atlasMint,
97
+ sageProgram: resolvedAddresses.sageProgramAddress,
98
+ antegenProgram: resolvedAddresses.antegenProgramAddress,
30
99
  };
31
- // Dynamically import network-specific codama functions
32
- const codamaModule = await getCachedNetworkModule('instructions', config?.network);
33
- const { getAcceptRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
34
- return getAcceptRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
100
+ // Get network-specific codama functions from centralized config
101
+ const instructionsModule = getModule('instructions');
102
+ const { getAcceptRentalInstructionAsync } = instructionsModule;
103
+ const rawInstruction = await getAcceptRentalInstructionAsync(input, {
104
+ programAddress: resolvedAddresses.srslyProgramAddress,
105
+ });
106
+ return createFluentInstruction(rawInstruction);
35
107
  }
36
108
  /**
37
- * Creates an instruction to accept a rental with fluent configuration.
109
+ * Creates an instruction to accept a rental contract with fluent configuration.
110
+ *
111
+ * This function allows a borrower to accept an existing rental contract, automatically
112
+ * calculating the required payment amount based on the contract's rate and payment frequency.
113
+ * The SDK fetches contract details, validates duration constraints, and derives all
114
+ * necessary accounts for the rental operation.
115
+ *
116
+ * ## Features
117
+ *
118
+ * - **Automatic Payment Calculation**: Fetches contract state and calculates exact payment amount
119
+ * - **Automatic Faction Resolution**: Optionally fetches faction from fleet account if not provided
120
+ * - **Duration Validation**: Ensures rental duration meets contract constraints
121
+ * - **Account Derivation**: Automatically derives all required game accounts
122
+ * - **SAGE Integration**: Sets up fleet ownership transfer in the Star Atlas ecosystem
123
+ * - **Clockwork Integration**: Configures automated payment scheduling
124
+ * - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
125
+ *
126
+ * ## Process
127
+ *
128
+ * 1. **Fetch Contract**: Retrieves contract state from the blockchain
129
+ * 2. **Validate Duration**: Checks that rental duration meets contract constraints
130
+ * 3. **Calculate Payment**: Computes payment amount using contract rate and payment frequency
131
+ * 4. **Derive Accounts**: Generates required game accounts (starbase, faction, etc.)
132
+ * 5. **Create Instruction**: Builds the rental acceptance instruction
133
+ * 6. **Setup Threading**: Configures automated payment processing
134
+ *
135
+ * ## Payment Calculation
136
+ *
137
+ * The payment amount is calculated using the formula:
138
+ * ```text
139
+ * payment = rate × payment_periods × stardust_to_atlas_conversion
140
+ * ```
141
+ *
142
+ * Where:
143
+ * - `rate`: Contract's rental rate per payment period
144
+ * - `payment_periods`: Duration divided by payment frequency interval
145
+ * - `stardust_to_atlas_conversion`: Network-specific conversion factor
146
+ *
147
+ * ## Requirements
148
+ *
149
+ * - Contract must exist and be active
150
+ * - Duration must be within contract's min/max limits
151
+ * - Duration must be multiple of payment frequency
152
+ * - Borrower must have sufficient ATLAS tokens for payment
38
153
  *
39
154
  * @example
40
155
  * ```typescript
41
- * // Use devnet defaults
42
- * const ix = await acceptRental({
156
+ * import { acceptRental } from '@srsly/sdk';
157
+ *
158
+ * // Using smart duration parameters (recommended)
159
+ * const instruction = await acceptRental({
160
+ * borrower: wallet, // Wallet object for signing
161
+ * borrowerProfile: "ProfileAddr...", // Borrower's Star Atlas profile
162
+ * contract: "ContractAddr...", // Contract to accept
163
+ * duration: { days: 7 } // 7 days rental duration
164
+ * // borrowerFaction auto-resolved from fleet account
165
+ * });
166
+ *
167
+ * // Different duration formats
168
+ * const hourlyRental = await acceptRental({
43
169
  * borrower: wallet,
44
- * borrowerProfile: profileAddress,
45
- * borrowerFaction: 1, // 1 = mud, 2 = oni, 3 = ustur
46
- * fleet: fleetAddress,
47
- * contract: contractAddress,
48
- * rate: 1000, // ATLAS tokens
49
- * duration: 86400 // 1 day in seconds (total: 1000 * 86400 * 100M stardust)
170
+ * borrowerProfile: "ProfileAddr...",
171
+ * contract: "ContractAddr...",
172
+ * duration: { hours: 12 } // 12 hours
50
173
  * });
51
174
  *
52
- * // With referral (referrer gets 5% of platform fees)
53
- * const ix = await acceptRental({
175
+ * const weeklyRental = await acceptRental({
54
176
  * borrower: wallet,
55
- * borrowerProfile: profileAddress,
56
- * borrowerFaction: 1,
57
- * fleet: fleetAddress,
58
- * contract: contractAddress,
59
- * rate: 1000,
60
- * duration: 86400,
61
- * referralTokenAccount: referrerTokenAddress
177
+ * borrowerProfile: "ProfileAddr...",
178
+ * contract: "ContractAddr...",
179
+ * duration: { weeks: 2 } // 2 weeks
62
180
  * });
63
181
  *
64
- * // Use mainnet configuration
65
- * const ix = await acceptRental(params).set({ network: 'mainnet' });
182
+ * const monthlyRental = await acceptRental({
183
+ * borrower: wallet,
184
+ * borrowerProfile: "ProfileAddr...",
185
+ * contract: "ContractAddr...",
186
+ * duration: { months: 1 } // 1 month
187
+ * });
66
188
  *
67
- * // Override specific constants
68
- * const ix = await acceptRental(params).set({
69
- * network: 'mainnet',
70
- * gameId: 'custom-game-id...'
189
+ * // Backwards compatible - raw seconds
190
+ * const legacyRental = await acceptRental({
191
+ * borrower: wallet,
192
+ * borrowerProfile: "ProfileAddr...",
193
+ * contract: "ContractAddr...",
194
+ * duration: 604800 // 7 days in seconds
71
195
  * });
196
+ *
197
+ * // Manual faction specification (optional)
198
+ * const manualInstruction = await acceptRental({
199
+ * borrower: wallet.publicKey.toString(), // Address string for browser
200
+ * borrowerProfile: "ProfileAddr...", // Borrower's Star Atlas profile
201
+ * borrowerFaction: 'mud', // Optional: 'mud', 'oni', or 'ustur'
202
+ * contract: "ContractAddr...", // Contract to accept
203
+ * duration: { days: 7 } // 7 days rental duration
204
+ * });
205
+ *
206
+ * // Configure for mainnet
207
+ * const mainnetInstruction = await acceptRental({
208
+ * borrower: wallet, // Wallet object (CLI style)
209
+ * borrowerProfile: "ProfileAddr...",
210
+ * borrowerFaction: 1, // Can use numbers: 1=mud, 2=oni, 3=ustur
211
+ * contract: "ContractAddr...",
212
+ * duration: { days: 7 }
213
+ * }).set({ programs: 'mainnet' });
214
+ *
215
+ * // Use with your preferred Solana library
216
+ * const transaction = new Transaction().add(mainnetInstruction);
217
+ * await sendAndConfirmTransaction(connection, transaction, [wallet]);
72
218
  * ```
73
219
  *
74
- * @param params The simplified parameters for accepting a rental
75
- * @returns A ConfigSelector that can be configured with .set() or awaited directly
220
+ * @param params - The rental acceptance parameters including borrower, contract, and duration
221
+ * @returns A SmartFluentConfigSelector that can be configured with .set() or awaited directly
222
+ * @throws Error when contract is not found, duration constraints are violated, or payment calculation fails
76
223
  */
77
224
  export function acceptRental(params) {
78
- return createConfigSelector((config) => _acceptRental(params, config));
225
+ const baseSelector = createSdkConfigSelector(config => _acceptRental(params, config));
226
+ return createSmartFluentConfigSelector(baseSelector);
79
227
  }
228
+ /**
229
+ * Low-level function to create a rental acceptance instruction with raw input parameters.
230
+ *
231
+ * This function provides direct access to the underlying codama-generated instruction
232
+ * builder. It's primarily used internally by the SDK but can be used for advanced
233
+ * use cases where full control over instruction parameters is needed.
234
+ *
235
+ * @internal
236
+ * @param input - Raw instruction input parameters as expected by codama
237
+ * @param options - Optional instruction options including program address
238
+ * @returns A SdkConfigSelector for the raw instruction
239
+ */
80
240
  export function getAcceptRentalInstructionAsync(input, options) {
81
- return createConfigSelector(async (config) => {
82
- const codamaModule = await getCachedNetworkModule('instructions', config?.network);
83
- return codamaModule.getAcceptRentalInstructionAsync(input, options);
241
+ return createSdkConfigSelector(async () => {
242
+ const instructionsModule = getModule('instructions');
243
+ return instructionsModule.getAcceptRentalInstructionAsync(input, options);
84
244
  });
85
245
  }
246
+ // Demo export for documentation site
247
+ export const acceptRentalDemo = {
248
+ tabName: 'accept',
249
+ description: 'Accept a rental offer from an existing contract',
250
+ imports: `import { acceptRental } from '@wuwei-labs/srsly';`,
251
+ instruction: `const instruction = await acceptRental({
252
+ borrower: {{signerType}}.publicKey?.toBase58(),
253
+ borrowerProfile: "BORROWER_PROFILE_ADDRESS",
254
+ contract: "CONTRACT_ADDRESS",
255
+ duration: { days: 7 }
256
+ });`,
257
+ };
86
258
  //# sourceMappingURL=accept.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAA2C,MAAM,iBAAiB,CAAC;AACxH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAMtE,OAAO,EACL,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAuDlB;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,MAAsB;IAEtB,MAAM,EACJ,QAAQ,EACR,eAAe,EACf,eAAe,EACf,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,oBAAoB,GACrB,GAAG,MAAM,CAAC;IAEX,sFAAsF;IACtF,MAAM,YAAY,GAAG,MAAM,IAAI,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAE3D,oDAAoD;IACpD,4EAA4E;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE3E,oCAAoC;IACpC,MAAM,EACJ,cAAc,EACd,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,kBAAkB,CAC1B,eAAe,EACf,eAAe,EACf,YAA+B,EAC/B,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,gFAAgF;IAChF,MAAM,KAAK,GAAoC;QAC7C,QAAQ;QACR,eAAe;QACf,sBAAsB,EAAE,cAAc;QACtC,KAAK;QACL,QAAQ;QACR,MAAM,EAAE,YAAY;QACpB,QAAQ;QACR,cAAc;QACd,MAAM;QACN,QAAQ;QACR,oBAAoB;KACrB,CAAC;IAEF,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnF,MAAM,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,GAAG,YAAY,CAAC;IAEhF,OAAO,+BAA+B,CACpC,KAAY,EACZ,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,UAAU,YAAY,CAC1B,MAA0B;IAE1B,OAAO,oBAAoB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACnF,OAAO,YAAY,CAAC,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"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"}