@wuwei-labs/srsly 2.3.3-canary.36.16828734028.0 → 3.0.0-beta.1

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 (724) hide show
  1. package/README.md +126 -462
  2. package/dist/cjs/accounts/borrower.js +47 -0
  3. package/dist/cjs/accounts/borrower.js.map +1 -0
  4. package/dist/cjs/accounts/config.js +47 -0
  5. package/dist/cjs/accounts/config.js.map +1 -0
  6. package/dist/cjs/accounts/contract.js +47 -0
  7. package/dist/cjs/accounts/contract.js.map +1 -0
  8. package/dist/cjs/accounts/fleet.js +77 -0
  9. package/dist/cjs/accounts/fleet.js.map +1 -0
  10. package/dist/cjs/accounts/rental.js +47 -0
  11. package/dist/cjs/accounts/rental.js.map +1 -0
  12. package/dist/cjs/demos.js +124 -59
  13. package/dist/cjs/demos.js.map +1 -1
  14. package/dist/cjs/generated/codama/accounts/borrowerState.js +84 -0
  15. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -0
  16. package/dist/cjs/generated/codama/accounts/configState.js +37 -52
  17. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  18. package/dist/cjs/generated/codama/accounts/contractState.js +27 -51
  19. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  20. package/dist/cjs/generated/codama/accounts/index.js +5 -2
  21. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  22. package/dist/cjs/generated/codama/accounts/memberState.js +78 -0
  23. package/dist/cjs/generated/codama/accounts/memberState.js.map +1 -0
  24. package/dist/cjs/generated/codama/accounts/rentalState.js +23 -59
  25. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  26. package/dist/cjs/generated/codama/accounts/thread.js +45 -61
  27. package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
  28. package/dist/cjs/generated/codama/accounts/vaultState.js +82 -0
  29. package/dist/cjs/generated/codama/accounts/vaultState.js.map +1 -0
  30. package/dist/cjs/generated/codama/errors/index.js +2 -2
  31. package/dist/cjs/generated/codama/errors/srsly.js +158 -19
  32. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  33. package/dist/cjs/generated/codama/index.js +2 -2
  34. package/dist/cjs/generated/codama/instructions/acceptRental.js +107 -40
  35. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  36. package/dist/cjs/generated/codama/instructions/cancelRental.js +53 -56
  37. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
  38. package/dist/cjs/generated/codama/instructions/captureRental.js +129 -0
  39. package/dist/cjs/generated/codama/instructions/captureRental.js.map +1 -0
  40. package/dist/cjs/generated/codama/instructions/claimBorrower.js +222 -0
  41. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -0
  42. package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js +225 -0
  43. package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js.map +1 -0
  44. package/dist/cjs/generated/codama/instructions/claimContractPayments.js +230 -0
  45. package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +1 -0
  46. package/dist/cjs/generated/codama/instructions/closeBorrower.js +84 -0
  47. package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -0
  48. package/dist/cjs/generated/codama/instructions/closeContract.js +140 -31
  49. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
  50. package/dist/cjs/generated/codama/instructions/closeRental.js +31 -28
  51. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  52. package/dist/cjs/generated/codama/instructions/createConfig.js +212 -0
  53. package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -0
  54. package/dist/cjs/generated/codama/instructions/createContract.js +47 -45
  55. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  56. package/dist/cjs/generated/codama/instructions/deleteBorrower.js +126 -0
  57. package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -0
  58. package/dist/cjs/generated/codama/instructions/deleteConfig.js +193 -0
  59. package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -0
  60. package/dist/cjs/generated/codama/instructions/deleteContract.js +115 -0
  61. package/dist/cjs/generated/codama/instructions/deleteContract.js.map +1 -0
  62. package/dist/cjs/generated/codama/instructions/deleteRental.js +115 -0
  63. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -0
  64. package/dist/cjs/generated/codama/instructions/discountBorrower.js +118 -0
  65. package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +1 -0
  66. package/dist/cjs/generated/codama/instructions/index.js +15 -4
  67. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  68. package/dist/cjs/generated/codama/instructions/payRental.js +95 -68
  69. package/dist/cjs/generated/codama/instructions/payRental.js.map +1 -1
  70. package/dist/cjs/generated/codama/instructions/{resetRental.js → releaseRental.js} +79 -38
  71. package/dist/cjs/generated/codama/instructions/releaseRental.js.map +1 -0
  72. package/dist/cjs/generated/codama/instructions/reserveRental.js +255 -0
  73. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -0
  74. package/dist/cjs/generated/codama/instructions/{initializeConfig.js → updateBorrower.js} +45 -52
  75. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -0
  76. package/dist/cjs/generated/codama/instructions/updateConfig.js +41 -32
  77. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  78. package/dist/cjs/generated/codama/instructions/updateContract.js +134 -0
  79. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -0
  80. package/dist/cjs/generated/codama/programs/index.js +2 -2
  81. package/dist/cjs/generated/codama/programs/srsly.js +74 -18
  82. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  83. package/dist/cjs/generated/codama/shared/index.js +2 -2
  84. package/dist/cjs/generated/codama/shared/index.js.map +1 -1
  85. package/dist/cjs/generated/codama/types/capturedFlagData.js +31 -0
  86. package/dist/cjs/generated/codama/types/capturedFlagData.js.map +1 -0
  87. package/dist/cjs/generated/codama/types/index.js +7 -9
  88. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  89. package/dist/cjs/generated/codama/types/memberConfig.js +33 -0
  90. package/dist/cjs/generated/codama/types/memberConfig.js.map +1 -0
  91. package/dist/cjs/generated/codama/types/memberType.js +55 -0
  92. package/dist/cjs/generated/codama/types/memberType.js.map +1 -0
  93. package/dist/cjs/generated/codama/types/paymentFrequency.js +2 -2
  94. package/dist/cjs/generated/codama/types/schedule.js +65 -0
  95. package/dist/cjs/generated/codama/types/schedule.js.map +1 -0
  96. package/dist/cjs/generated/codama/types/signal.js +48 -0
  97. package/dist/cjs/generated/codama/types/signal.js.map +1 -0
  98. package/dist/cjs/generated/codama/types/trigger.js +36 -23
  99. package/dist/cjs/generated/codama/types/trigger.js.map +1 -1
  100. package/dist/cjs/index.js +172 -245
  101. package/dist/cjs/index.js.map +1 -1
  102. package/dist/cjs/instructions/acceptRental.js +153 -0
  103. package/dist/cjs/instructions/acceptRental.js.map +1 -0
  104. package/dist/cjs/instructions/cancelRental.js +100 -0
  105. package/dist/cjs/instructions/cancelRental.js.map +1 -0
  106. package/dist/cjs/instructions/captureRental.js +85 -0
  107. package/dist/cjs/instructions/captureRental.js.map +1 -0
  108. package/dist/cjs/instructions/claimBorrower.js +66 -0
  109. package/dist/cjs/instructions/claimBorrower.js.map +1 -0
  110. package/dist/cjs/instructions/claimBorrowerPayments.js +69 -0
  111. package/dist/cjs/instructions/claimBorrowerPayments.js.map +1 -0
  112. package/dist/cjs/instructions/claimContractPayments.js +79 -0
  113. package/dist/cjs/instructions/claimContractPayments.js.map +1 -0
  114. package/dist/cjs/instructions/closeBorrower.js +60 -0
  115. package/dist/cjs/instructions/closeBorrower.js.map +1 -0
  116. package/dist/cjs/instructions/closeContract.js +120 -0
  117. package/dist/cjs/instructions/closeContract.js.map +1 -0
  118. package/dist/cjs/instructions/closeRental.js +105 -0
  119. package/dist/cjs/instructions/closeRental.js.map +1 -0
  120. package/dist/cjs/instructions/createConfig.js +74 -0
  121. package/dist/cjs/instructions/createConfig.js.map +1 -0
  122. package/dist/cjs/instructions/createContract.js +131 -0
  123. package/dist/cjs/instructions/createContract.js.map +1 -0
  124. package/dist/cjs/instructions/deleteBorrower.js +60 -0
  125. package/dist/cjs/instructions/deleteBorrower.js.map +1 -0
  126. package/dist/cjs/instructions/deleteConfig.js +79 -0
  127. package/dist/cjs/instructions/deleteConfig.js.map +1 -0
  128. package/dist/cjs/instructions/deleteRental.js +75 -0
  129. package/dist/cjs/instructions/deleteRental.js.map +1 -0
  130. package/dist/cjs/instructions/discountBorrower.js +75 -0
  131. package/dist/cjs/instructions/discountBorrower.js.map +1 -0
  132. package/dist/cjs/instructions/releaseRental.js +132 -0
  133. package/dist/cjs/instructions/releaseRental.js.map +1 -0
  134. package/dist/cjs/instructions/reserveRental.js +135 -0
  135. package/dist/cjs/instructions/reserveRental.js.map +1 -0
  136. package/dist/cjs/instructions/updateBorrower.js +89 -0
  137. package/dist/cjs/instructions/updateBorrower.js.map +1 -0
  138. package/dist/cjs/instructions/updateConfig.js +103 -0
  139. package/dist/cjs/instructions/updateConfig.js.map +1 -0
  140. package/dist/cjs/instructions/updateContract.js +107 -0
  141. package/dist/cjs/instructions/updateContract.js.map +1 -0
  142. package/dist/cjs/package.json +30 -32
  143. package/dist/cjs/params/amount.js +125 -0
  144. package/dist/cjs/params/amount.js.map +1 -0
  145. package/dist/cjs/params/duration.js +120 -0
  146. package/dist/cjs/params/duration.js.map +1 -0
  147. package/dist/cjs/params/schedule.js +164 -0
  148. package/dist/cjs/params/schedule.js.map +1 -0
  149. package/dist/cjs/pda/constants.js +73 -0
  150. package/dist/cjs/pda/constants.js.map +1 -0
  151. package/dist/cjs/pda/index.js +73 -0
  152. package/dist/cjs/pda/index.js.map +1 -0
  153. package/dist/cjs/pda/sage.js +175 -0
  154. package/dist/cjs/pda/sage.js.map +1 -0
  155. package/dist/cjs/pda/slyvault.js +56 -0
  156. package/dist/cjs/pda/slyvault.js.map +1 -0
  157. package/dist/cjs/pda/srsly.js +120 -0
  158. package/dist/cjs/pda/srsly.js.map +1 -0
  159. package/dist/cjs/pda/thread.js +64 -0
  160. package/dist/cjs/pda/thread.js.map +1 -0
  161. package/dist/cjs/pda/token.js +62 -0
  162. package/dist/cjs/pda/token.js.map +1 -0
  163. package/dist/cjs/utils/addresses.js +90 -0
  164. package/dist/cjs/utils/addresses.js.map +1 -0
  165. package/dist/cjs/utils/config.js +100 -187
  166. package/dist/cjs/utils/config.js.map +1 -1
  167. package/dist/cjs/utils/index.js +32 -28
  168. package/dist/cjs/utils/index.js.map +1 -1
  169. package/dist/cjs/utils/instructions.js +79 -0
  170. package/dist/cjs/utils/instructions.js.map +1 -0
  171. package/dist/cjs/utils/signer.js +113 -94
  172. package/dist/cjs/utils/signer.js.map +1 -1
  173. package/dist/cjs/utils/web3js.js +76 -0
  174. package/dist/cjs/utils/web3js.js.map +1 -0
  175. package/dist/cjs/version.js +7 -0
  176. package/dist/cjs/version.js.map +1 -0
  177. package/dist/esm/accounts/borrower.js +44 -0
  178. package/dist/esm/accounts/borrower.js.map +1 -0
  179. package/dist/esm/accounts/config.js +44 -0
  180. package/dist/esm/accounts/config.js.map +1 -0
  181. package/dist/esm/accounts/contract.js +44 -0
  182. package/dist/esm/accounts/contract.js.map +1 -0
  183. package/dist/esm/accounts/fleet.js +74 -0
  184. package/dist/esm/accounts/fleet.js.map +1 -0
  185. package/dist/esm/accounts/rental.js +44 -0
  186. package/dist/esm/accounts/rental.js.map +1 -0
  187. package/dist/esm/demos.js +123 -18
  188. package/dist/esm/demos.js.map +1 -1
  189. package/dist/esm/generated/codama/accounts/borrowerState.js +72 -0
  190. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -0
  191. package/dist/esm/generated/codama/accounts/configState.js +38 -53
  192. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  193. package/dist/esm/generated/codama/accounts/contractState.js +28 -52
  194. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  195. package/dist/esm/generated/codama/accounts/index.js +5 -2
  196. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  197. package/dist/esm/generated/codama/accounts/memberState.js +66 -0
  198. package/dist/esm/generated/codama/accounts/memberState.js.map +1 -0
  199. package/dist/esm/generated/codama/accounts/rentalState.js +23 -60
  200. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  201. package/dist/esm/generated/codama/accounts/thread.js +47 -63
  202. package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
  203. package/dist/esm/generated/codama/accounts/vaultState.js +70 -0
  204. package/dist/esm/generated/codama/accounts/vaultState.js.map +1 -0
  205. package/dist/esm/generated/codama/errors/index.js +2 -2
  206. package/dist/esm/generated/codama/errors/srsly.js +156 -18
  207. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  208. package/dist/esm/generated/codama/index.js +2 -2
  209. package/dist/esm/generated/codama/instructions/acceptRental.js +107 -40
  210. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  211. package/dist/esm/generated/codama/instructions/cancelRental.js +54 -57
  212. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  213. package/dist/esm/generated/codama/instructions/captureRental.js +119 -0
  214. package/dist/esm/generated/codama/instructions/captureRental.js.map +1 -0
  215. package/dist/esm/generated/codama/instructions/claimBorrower.js +212 -0
  216. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -0
  217. package/dist/esm/generated/codama/instructions/claimContractPayments.js +220 -0
  218. package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +1 -0
  219. package/dist/esm/generated/codama/instructions/closeBorrower.js +75 -0
  220. package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -0
  221. package/dist/esm/generated/codama/instructions/closeContract.js +142 -33
  222. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  223. package/dist/esm/generated/codama/instructions/closeRental.js +31 -28
  224. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  225. package/dist/esm/generated/codama/instructions/createConfig.js +202 -0
  226. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -0
  227. package/dist/esm/generated/codama/instructions/createContract.js +48 -46
  228. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  229. package/dist/esm/generated/codama/instructions/deleteBorrower.js +116 -0
  230. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -0
  231. package/dist/esm/generated/codama/instructions/deleteConfig.js +183 -0
  232. package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -0
  233. package/dist/esm/generated/codama/instructions/deleteContract.js +105 -0
  234. package/dist/esm/generated/codama/instructions/deleteContract.js.map +1 -0
  235. package/dist/esm/generated/codama/instructions/deleteRental.js +105 -0
  236. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -0
  237. package/dist/esm/generated/codama/instructions/discountBorrower.js +108 -0
  238. package/dist/esm/generated/codama/instructions/discountBorrower.js.map +1 -0
  239. package/dist/esm/generated/codama/instructions/index.js +15 -4
  240. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  241. package/dist/esm/generated/codama/instructions/payRental.js +95 -68
  242. package/dist/esm/generated/codama/instructions/payRental.js.map +1 -1
  243. package/dist/esm/generated/codama/instructions/{resetRental.js → releaseRental.js} +73 -32
  244. package/dist/esm/generated/codama/instructions/releaseRental.js.map +1 -0
  245. package/dist/esm/generated/codama/instructions/reserveRental.js +245 -0
  246. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -0
  247. package/dist/esm/generated/codama/instructions/{initializeConfig.js → updateBorrower.js} +38 -45
  248. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -0
  249. package/dist/esm/generated/codama/instructions/updateConfig.js +42 -33
  250. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  251. package/dist/esm/generated/codama/instructions/updateContract.js +124 -0
  252. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -0
  253. package/dist/esm/generated/codama/programs/index.js +2 -2
  254. package/dist/esm/generated/codama/programs/srsly.js +74 -18
  255. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  256. package/dist/esm/generated/codama/shared/index.js +2 -2
  257. package/dist/esm/generated/codama/shared/index.js.map +1 -1
  258. package/dist/esm/generated/codama/types/capturedFlagData.js +26 -0
  259. package/dist/esm/generated/codama/types/capturedFlagData.js.map +1 -0
  260. package/dist/esm/generated/codama/types/index.js +7 -9
  261. package/dist/esm/generated/codama/types/index.js.map +1 -1
  262. package/dist/esm/generated/codama/types/memberConfig.js +28 -0
  263. package/dist/esm/generated/codama/types/memberConfig.js.map +1 -0
  264. package/dist/esm/generated/codama/types/memberType.js +48 -0
  265. package/dist/esm/generated/codama/types/memberType.js.map +1 -0
  266. package/dist/esm/generated/codama/types/paymentFrequency.js +2 -2
  267. package/dist/esm/generated/codama/types/schedule.js +58 -0
  268. package/dist/esm/generated/codama/types/schedule.js.map +1 -0
  269. package/dist/esm/generated/codama/types/signal.js +41 -0
  270. package/dist/esm/generated/codama/types/signal.js.map +1 -0
  271. package/dist/esm/generated/codama/types/trigger.js +37 -24
  272. package/dist/esm/generated/codama/types/trigger.js.map +1 -1
  273. package/dist/esm/index.js +78 -208
  274. package/dist/esm/index.js.map +1 -1
  275. package/dist/esm/instructions/acceptRental.js +150 -0
  276. package/dist/esm/instructions/acceptRental.js.map +1 -0
  277. package/dist/esm/instructions/cancelRental.js +97 -0
  278. package/dist/esm/instructions/cancelRental.js.map +1 -0
  279. package/dist/esm/instructions/captureRental.js +82 -0
  280. package/dist/esm/instructions/captureRental.js.map +1 -0
  281. package/dist/esm/instructions/claimBorrower.js +63 -0
  282. package/dist/esm/instructions/claimBorrower.js.map +1 -0
  283. package/dist/esm/instructions/claimContractPayments.js +76 -0
  284. package/dist/esm/instructions/claimContractPayments.js.map +1 -0
  285. package/dist/esm/instructions/closeBorrower.js +57 -0
  286. package/dist/esm/instructions/closeBorrower.js.map +1 -0
  287. package/dist/esm/instructions/closeContract.js +117 -0
  288. package/dist/esm/instructions/closeContract.js.map +1 -0
  289. package/dist/esm/instructions/closeRental.js +102 -0
  290. package/dist/esm/instructions/closeRental.js.map +1 -0
  291. package/dist/esm/instructions/createConfig.js +71 -0
  292. package/dist/esm/instructions/createConfig.js.map +1 -0
  293. package/dist/esm/instructions/createContract.js +128 -0
  294. package/dist/esm/instructions/createContract.js.map +1 -0
  295. package/dist/esm/instructions/deleteBorrower.js +57 -0
  296. package/dist/esm/instructions/deleteBorrower.js.map +1 -0
  297. package/dist/esm/instructions/deleteConfig.js +76 -0
  298. package/dist/esm/instructions/deleteConfig.js.map +1 -0
  299. package/dist/esm/instructions/deleteRental.js +72 -0
  300. package/dist/esm/instructions/deleteRental.js.map +1 -0
  301. package/dist/esm/instructions/discountBorrower.js +72 -0
  302. package/dist/esm/instructions/discountBorrower.js.map +1 -0
  303. package/dist/esm/instructions/releaseRental.js +129 -0
  304. package/dist/esm/instructions/releaseRental.js.map +1 -0
  305. package/dist/esm/instructions/reserveRental.js +132 -0
  306. package/dist/esm/instructions/reserveRental.js.map +1 -0
  307. package/dist/esm/instructions/updateBorrower.js +86 -0
  308. package/dist/esm/instructions/updateBorrower.js.map +1 -0
  309. package/dist/esm/instructions/updateConfig.js +100 -0
  310. package/dist/esm/instructions/updateConfig.js.map +1 -0
  311. package/dist/esm/instructions/updateContract.js +104 -0
  312. package/dist/esm/instructions/updateContract.js.map +1 -0
  313. package/dist/esm/package.json +30 -32
  314. package/dist/esm/params/amount.js +119 -0
  315. package/dist/esm/params/amount.js.map +1 -0
  316. package/dist/esm/params/duration.js +115 -0
  317. package/dist/esm/params/duration.js.map +1 -0
  318. package/dist/esm/params/schedule.js +157 -0
  319. package/dist/esm/params/schedule.js.map +1 -0
  320. package/dist/esm/pda/constants.js +67 -0
  321. package/dist/esm/pda/constants.js.map +1 -0
  322. package/dist/esm/pda/index.js +42 -0
  323. package/dist/esm/pda/index.js.map +1 -0
  324. package/dist/esm/pda/sage.js +168 -0
  325. package/dist/esm/pda/sage.js.map +1 -0
  326. package/dist/esm/pda/slyvault.js +53 -0
  327. package/dist/esm/pda/slyvault.js.map +1 -0
  328. package/dist/esm/pda/srsly.js +113 -0
  329. package/dist/esm/pda/srsly.js.map +1 -0
  330. package/dist/esm/pda/thread.js +61 -0
  331. package/dist/esm/pda/thread.js.map +1 -0
  332. package/dist/esm/pda/token.js +59 -0
  333. package/dist/esm/pda/token.js.map +1 -0
  334. package/dist/esm/utils/addresses.js +85 -0
  335. package/dist/esm/utils/addresses.js.map +1 -0
  336. package/dist/esm/utils/config.js +95 -149
  337. package/dist/esm/utils/config.js.map +1 -1
  338. package/dist/esm/utils/index.js +12 -14
  339. package/dist/esm/utils/index.js.map +1 -1
  340. package/dist/esm/utils/instructions.js +76 -0
  341. package/dist/esm/utils/instructions.js.map +1 -0
  342. package/dist/esm/utils/signer.js +109 -90
  343. package/dist/esm/utils/signer.js.map +1 -1
  344. package/dist/esm/utils/web3js.js +72 -0
  345. package/dist/esm/utils/web3js.js.map +1 -0
  346. package/dist/esm/version.js +4 -0
  347. package/dist/esm/version.js.map +1 -0
  348. package/dist/types/accounts/borrower.d.ts +34 -0
  349. package/dist/types/accounts/borrower.d.ts.map +1 -0
  350. package/dist/types/accounts/config.d.ts +31 -0
  351. package/dist/types/accounts/config.d.ts.map +1 -0
  352. package/dist/types/accounts/contract.d.ts +34 -0
  353. package/dist/types/accounts/contract.d.ts.map +1 -0
  354. package/dist/types/accounts/fleet.d.ts +49 -0
  355. package/dist/types/accounts/fleet.d.ts.map +1 -0
  356. package/dist/types/accounts/rental.d.ts +34 -0
  357. package/dist/types/accounts/rental.d.ts.map +1 -0
  358. package/dist/types/demos.d.ts +20 -52
  359. package/dist/types/demos.d.ts.map +1 -1
  360. package/dist/types/generated/codama/accounts/borrowerState.d.ts +94 -0
  361. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -0
  362. package/dist/types/generated/codama/accounts/configState.d.ts +65 -22
  363. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  364. package/dist/types/generated/codama/accounts/contractState.d.ts +62 -23
  365. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  366. package/dist/types/generated/codama/accounts/index.d.ts +5 -2
  367. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  368. package/dist/types/generated/codama/accounts/memberState.d.ts +58 -0
  369. package/dist/types/generated/codama/accounts/memberState.d.ts.map +1 -0
  370. package/dist/types/generated/codama/accounts/rentalState.d.ts +35 -39
  371. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  372. package/dist/types/generated/codama/accounts/thread.d.ts +44 -51
  373. package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
  374. package/dist/types/generated/codama/accounts/vaultState.d.ts +66 -0
  375. package/dist/types/generated/codama/accounts/vaultState.d.ts.map +1 -0
  376. package/dist/types/generated/codama/errors/index.d.ts +2 -2
  377. package/dist/types/generated/codama/errors/srsly.d.ts +111 -19
  378. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  379. package/dist/types/generated/codama/index.d.ts +2 -2
  380. package/dist/types/generated/codama/instructions/acceptRental.d.ts +60 -45
  381. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  382. package/dist/types/generated/codama/instructions/cancelRental.d.ts +37 -32
  383. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  384. package/dist/types/generated/codama/instructions/captureRental.d.ts +59 -0
  385. package/dist/types/generated/codama/instructions/captureRental.d.ts.map +1 -0
  386. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +90 -0
  387. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -0
  388. package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts +75 -0
  389. package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts.map +1 -0
  390. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +98 -0
  391. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +1 -0
  392. package/dist/types/generated/codama/instructions/closeBorrower.d.ts +43 -0
  393. package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -0
  394. package/dist/types/generated/codama/instructions/closeContract.d.ts +44 -28
  395. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  396. package/dist/types/generated/codama/instructions/closeRental.d.ts +38 -34
  397. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  398. package/dist/types/generated/codama/instructions/createConfig.d.ts +79 -0
  399. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -0
  400. package/dist/types/generated/codama/instructions/createContract.d.ts +38 -30
  401. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  402. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +55 -0
  403. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -0
  404. package/dist/types/generated/codama/instructions/deleteConfig.d.ts +75 -0
  405. package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -0
  406. package/dist/types/generated/codama/instructions/deleteContract.d.ts +55 -0
  407. package/dist/types/generated/codama/instructions/deleteContract.d.ts.map +1 -0
  408. package/dist/types/generated/codama/instructions/deleteRental.d.ts +55 -0
  409. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -0
  410. package/dist/types/generated/codama/instructions/discountBorrower.d.ts +56 -0
  411. package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +1 -0
  412. package/dist/types/generated/codama/instructions/index.d.ts +15 -4
  413. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  414. package/dist/types/generated/codama/instructions/payRental.d.ts +61 -46
  415. package/dist/types/generated/codama/instructions/payRental.d.ts.map +1 -1
  416. package/dist/types/generated/codama/instructions/releaseRental.d.ts +105 -0
  417. package/dist/types/generated/codama/instructions/releaseRental.d.ts.map +1 -0
  418. package/dist/types/generated/codama/instructions/reserveRental.d.ts +129 -0
  419. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -0
  420. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +62 -0
  421. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -0
  422. package/dist/types/generated/codama/instructions/updateConfig.d.ts +88 -28
  423. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  424. package/dist/types/generated/codama/instructions/updateContract.d.ts +88 -0
  425. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -0
  426. package/dist/types/generated/codama/programs/index.d.ts +2 -2
  427. package/dist/types/generated/codama/programs/srsly.d.ts +57 -21
  428. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  429. package/dist/types/generated/codama/shared/index.d.ts +2 -13
  430. package/dist/types/generated/codama/shared/index.d.ts.map +1 -1
  431. package/dist/types/generated/codama/types/capturedFlagData.d.ts +35 -0
  432. package/dist/types/generated/codama/types/capturedFlagData.d.ts.map +1 -0
  433. package/dist/types/generated/codama/types/index.d.ts +7 -9
  434. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  435. package/dist/types/generated/codama/types/memberConfig.d.ts +33 -0
  436. package/dist/types/generated/codama/types/memberConfig.d.ts.map +1 -0
  437. package/dist/types/generated/codama/types/memberType.d.ts +48 -0
  438. package/dist/types/generated/codama/types/memberType.d.ts.map +1 -0
  439. package/dist/types/generated/codama/types/paymentFrequency.d.ts +2 -2
  440. package/dist/types/generated/codama/types/schedule.d.ts +46 -0
  441. package/dist/types/generated/codama/types/schedule.d.ts.map +1 -0
  442. package/dist/types/generated/codama/types/signal.d.ts +56 -0
  443. package/dist/types/generated/codama/types/signal.d.ts.map +1 -0
  444. package/dist/types/generated/codama/types/trigger.d.ts +45 -34
  445. package/dist/types/generated/codama/types/trigger.d.ts.map +1 -1
  446. package/dist/types/index.d.ts +37 -207
  447. package/dist/types/index.d.ts.map +1 -1
  448. package/dist/types/instructions/acceptRental.d.ts +99 -0
  449. package/dist/types/instructions/acceptRental.d.ts.map +1 -0
  450. package/dist/types/instructions/cancelRental.d.ts +90 -0
  451. package/dist/types/instructions/cancelRental.d.ts.map +1 -0
  452. package/dist/types/instructions/captureRental.d.ts +58 -0
  453. package/dist/types/instructions/captureRental.d.ts.map +1 -0
  454. package/dist/types/instructions/claimBorrower.d.ts +53 -0
  455. package/dist/types/instructions/claimBorrower.d.ts.map +1 -0
  456. package/dist/types/instructions/claimBorrowerPayments.d.ts +59 -0
  457. package/dist/types/instructions/claimBorrowerPayments.d.ts.map +1 -0
  458. package/dist/types/instructions/claimContractPayments.d.ts +78 -0
  459. package/dist/types/instructions/claimContractPayments.d.ts.map +1 -0
  460. package/dist/types/instructions/closeBorrower.d.ts +45 -0
  461. package/dist/types/instructions/closeBorrower.d.ts.map +1 -0
  462. package/dist/types/instructions/closeContract.d.ts +91 -0
  463. package/dist/types/instructions/closeContract.d.ts.map +1 -0
  464. package/dist/types/instructions/closeRental.d.ts +62 -0
  465. package/dist/types/instructions/closeRental.d.ts.map +1 -0
  466. package/dist/types/instructions/createConfig.d.ts +62 -0
  467. package/dist/types/instructions/createConfig.d.ts.map +1 -0
  468. package/dist/types/instructions/createContract.d.ts +127 -0
  469. package/dist/types/instructions/createContract.d.ts.map +1 -0
  470. package/dist/types/instructions/deleteBorrower.d.ts +53 -0
  471. package/dist/types/instructions/deleteBorrower.d.ts.map +1 -0
  472. package/dist/types/instructions/deleteConfig.d.ts +64 -0
  473. package/dist/types/instructions/deleteConfig.d.ts.map +1 -0
  474. package/dist/types/instructions/deleteRental.d.ts +67 -0
  475. package/dist/types/instructions/deleteRental.d.ts.map +1 -0
  476. package/dist/types/instructions/discountBorrower.d.ts +64 -0
  477. package/dist/types/instructions/discountBorrower.d.ts.map +1 -0
  478. package/dist/types/instructions/releaseRental.d.ts +104 -0
  479. package/dist/types/instructions/releaseRental.d.ts.map +1 -0
  480. package/dist/types/instructions/reserveRental.d.ts +80 -0
  481. package/dist/types/instructions/reserveRental.d.ts.map +1 -0
  482. package/dist/types/instructions/updateBorrower.d.ts +81 -0
  483. package/dist/types/instructions/updateBorrower.d.ts.map +1 -0
  484. package/dist/types/instructions/updateConfig.d.ts +142 -0
  485. package/dist/types/instructions/updateConfig.d.ts.map +1 -0
  486. package/dist/types/instructions/updateContract.d.ts +113 -0
  487. package/dist/types/instructions/updateContract.d.ts.map +1 -0
  488. package/dist/types/params/amount.d.ts +70 -0
  489. package/dist/types/params/amount.d.ts.map +1 -0
  490. package/dist/types/params/duration.d.ts +65 -0
  491. package/dist/types/params/duration.d.ts.map +1 -0
  492. package/dist/types/params/schedule.d.ts +74 -0
  493. package/dist/types/params/schedule.d.ts.map +1 -0
  494. package/dist/types/pda/constants.d.ts +51 -0
  495. package/dist/types/pda/constants.d.ts.map +1 -0
  496. package/dist/types/pda/index.d.ts +36 -0
  497. package/dist/types/pda/index.d.ts.map +1 -0
  498. package/dist/types/pda/sage.d.ts +69 -0
  499. package/dist/types/pda/sage.d.ts.map +1 -0
  500. package/dist/types/pda/slyvault.d.ts +29 -0
  501. package/dist/types/pda/slyvault.d.ts.map +1 -0
  502. package/dist/types/pda/srsly.d.ts +40 -0
  503. package/dist/types/pda/srsly.d.ts.map +1 -0
  504. package/dist/types/pda/thread.d.ts +31 -0
  505. package/dist/types/pda/thread.d.ts.map +1 -0
  506. package/dist/types/pda/token.d.ts +29 -0
  507. package/dist/types/pda/token.d.ts.map +1 -0
  508. package/dist/types/utils/addresses.d.ts +75 -0
  509. package/dist/types/utils/addresses.d.ts.map +1 -0
  510. package/dist/types/utils/config.d.ts +103 -83
  511. package/dist/types/utils/config.d.ts.map +1 -1
  512. package/dist/types/utils/index.d.ts +7 -14
  513. package/dist/types/utils/index.d.ts.map +1 -1
  514. package/dist/types/utils/instructions.d.ts +52 -0
  515. package/dist/types/utils/instructions.d.ts.map +1 -0
  516. package/dist/types/utils/signer.d.ts +78 -39
  517. package/dist/types/utils/signer.d.ts.map +1 -1
  518. package/dist/types/utils/web3js.d.ts +85 -0
  519. package/dist/types/utils/web3js.d.ts.map +1 -0
  520. package/dist/types/version.d.ts +2 -0
  521. package/dist/types/version.d.ts.map +1 -0
  522. package/package.json +32 -47
  523. package/dist/cjs/config/index.js +0 -12
  524. package/dist/cjs/config/index.js.map +0 -1
  525. package/dist/cjs/config/initialize.js +0 -95
  526. package/dist/cjs/config/initialize.js.map +0 -1
  527. package/dist/cjs/config/update.js +0 -163
  528. package/dist/cjs/config/update.js.map +0 -1
  529. package/dist/cjs/contract/close.js +0 -159
  530. package/dist/cjs/contract/close.js.map +0 -1
  531. package/dist/cjs/contract/create.js +0 -259
  532. package/dist/cjs/contract/create.js.map +0 -1
  533. package/dist/cjs/contract/index.js +0 -68
  534. package/dist/cjs/contract/index.js.map +0 -1
  535. package/dist/cjs/generated/codama/instructions/initializeConfig.js.map +0 -1
  536. package/dist/cjs/generated/codama/instructions/resetRental.js.map +0 -1
  537. package/dist/cjs/generated/codama/types/clockData.js +0 -58
  538. package/dist/cjs/generated/codama/types/clockData.js.map +0 -1
  539. package/dist/cjs/generated/codama/types/equality.js +0 -30
  540. package/dist/cjs/generated/codama/types/equality.js.map +0 -1
  541. package/dist/cjs/generated/codama/types/execContext.js +0 -68
  542. package/dist/cjs/generated/codama/types/execContext.js.map +0 -1
  543. package/dist/cjs/generated/codama/types/serializableAccount.js +0 -58
  544. package/dist/cjs/generated/codama/types/serializableAccount.js.map +0 -1
  545. package/dist/cjs/generated/codama/types/serializableInstruction.js +0 -59
  546. package/dist/cjs/generated/codama/types/serializableInstruction.js.map +0 -1
  547. package/dist/cjs/generated/codama/types/threadResponse.js +0 -68
  548. package/dist/cjs/generated/codama/types/threadResponse.js.map +0 -1
  549. package/dist/cjs/generated/codama/types/triggerContext.js +0 -49
  550. package/dist/cjs/generated/codama/types/triggerContext.js.map +0 -1
  551. package/dist/cjs/idl/index.js +0 -27
  552. package/dist/cjs/idl/index.js.map +0 -1
  553. package/dist/cjs/idl/srsly-data.js +0 -3140
  554. package/dist/cjs/idl/srsly-data.js.map +0 -1
  555. package/dist/cjs/idl/srsly.json +0 -3104
  556. package/dist/cjs/rental/accept.js +0 -263
  557. package/dist/cjs/rental/accept.js.map +0 -1
  558. package/dist/cjs/rental/cancel.js +0 -184
  559. package/dist/cjs/rental/cancel.js.map +0 -1
  560. package/dist/cjs/rental/close.js +0 -184
  561. package/dist/cjs/rental/close.js.map +0 -1
  562. package/dist/cjs/rental/index.js +0 -105
  563. package/dist/cjs/rental/index.js.map +0 -1
  564. package/dist/cjs/rental/reset.js +0 -192
  565. package/dist/cjs/rental/reset.js.map +0 -1
  566. package/dist/cjs/types/payment-frequency.js +0 -87
  567. package/dist/cjs/types/payment-frequency.js.map +0 -1
  568. package/dist/cjs/types/srsly.js +0 -3
  569. package/dist/cjs/types/srsly.js.map +0 -1
  570. package/dist/cjs/utils/constants.js +0 -78
  571. package/dist/cjs/utils/constants.js.map +0 -1
  572. package/dist/cjs/utils/cron.js +0 -204
  573. package/dist/cjs/utils/cron.js.map +0 -1
  574. package/dist/cjs/utils/derive-pda.js +0 -415
  575. package/dist/cjs/utils/derive-pda.js.map +0 -1
  576. package/dist/cjs/utils/fetch-accounts.js +0 -241
  577. package/dist/cjs/utils/fetch-accounts.js.map +0 -1
  578. package/dist/cjs/utils/instruction-converter.js +0 -125
  579. package/dist/cjs/utils/instruction-converter.js.map +0 -1
  580. package/dist/cjs/utils/param-converters.js +0 -190
  581. package/dist/cjs/utils/param-converters.js.map +0 -1
  582. package/dist/cjs/utils/payment-frequency.js +0 -111
  583. package/dist/cjs/utils/payment-frequency.js.map +0 -1
  584. package/dist/cjs/utils/schedule-builder.js +0 -158
  585. package/dist/cjs/utils/schedule-builder.js.map +0 -1
  586. package/dist/cjs/utils/schedule-validation.js +0 -136
  587. package/dist/cjs/utils/schedule-validation.js.map +0 -1
  588. package/dist/cjs/utils/smart-params.js +0 -52
  589. package/dist/cjs/utils/smart-params.js.map +0 -1
  590. package/dist/esm/config/index.js +0 -7
  591. package/dist/esm/config/index.js.map +0 -1
  592. package/dist/esm/config/initialize.js +0 -92
  593. package/dist/esm/config/initialize.js.map +0 -1
  594. package/dist/esm/config/update.js +0 -159
  595. package/dist/esm/config/update.js.map +0 -1
  596. package/dist/esm/contract/close.js +0 -154
  597. package/dist/esm/contract/close.js.map +0 -1
  598. package/dist/esm/contract/create.js +0 -255
  599. package/dist/esm/contract/create.js.map +0 -1
  600. package/dist/esm/contract/index.js +0 -52
  601. package/dist/esm/contract/index.js.map +0 -1
  602. package/dist/esm/generated/codama/instructions/initializeConfig.js.map +0 -1
  603. package/dist/esm/generated/codama/instructions/resetRental.js.map +0 -1
  604. package/dist/esm/generated/codama/types/clockData.js +0 -53
  605. package/dist/esm/generated/codama/types/clockData.js.map +0 -1
  606. package/dist/esm/generated/codama/types/equality.js +0 -24
  607. package/dist/esm/generated/codama/types/equality.js.map +0 -1
  608. package/dist/esm/generated/codama/types/execContext.js +0 -63
  609. package/dist/esm/generated/codama/types/execContext.js.map +0 -1
  610. package/dist/esm/generated/codama/types/serializableAccount.js +0 -53
  611. package/dist/esm/generated/codama/types/serializableAccount.js.map +0 -1
  612. package/dist/esm/generated/codama/types/serializableInstruction.js +0 -54
  613. package/dist/esm/generated/codama/types/serializableInstruction.js.map +0 -1
  614. package/dist/esm/generated/codama/types/threadResponse.js +0 -63
  615. package/dist/esm/generated/codama/types/threadResponse.js.map +0 -1
  616. package/dist/esm/generated/codama/types/triggerContext.js +0 -42
  617. package/dist/esm/generated/codama/types/triggerContext.js.map +0 -1
  618. package/dist/esm/idl/index.js +0 -21
  619. package/dist/esm/idl/index.js.map +0 -1
  620. package/dist/esm/idl/srsly-data.js +0 -3137
  621. package/dist/esm/idl/srsly-data.js.map +0 -1
  622. package/dist/esm/idl/srsly.json +0 -3104
  623. package/dist/esm/rental/accept.js +0 -258
  624. package/dist/esm/rental/accept.js.map +0 -1
  625. package/dist/esm/rental/cancel.js +0 -179
  626. package/dist/esm/rental/cancel.js.map +0 -1
  627. package/dist/esm/rental/close.js +0 -179
  628. package/dist/esm/rental/close.js.map +0 -1
  629. package/dist/esm/rental/index.js +0 -89
  630. package/dist/esm/rental/index.js.map +0 -1
  631. package/dist/esm/rental/reset.js +0 -187
  632. package/dist/esm/rental/reset.js.map +0 -1
  633. package/dist/esm/types/payment-frequency.js +0 -83
  634. package/dist/esm/types/payment-frequency.js.map +0 -1
  635. package/dist/esm/types/srsly.js +0 -2
  636. package/dist/esm/types/srsly.js.map +0 -1
  637. package/dist/esm/utils/constants.js +0 -70
  638. package/dist/esm/utils/constants.js.map +0 -1
  639. package/dist/esm/utils/cron.js +0 -195
  640. package/dist/esm/utils/cron.js.map +0 -1
  641. package/dist/esm/utils/derive-pda.js +0 -402
  642. package/dist/esm/utils/derive-pda.js.map +0 -1
  643. package/dist/esm/utils/fetch-accounts.js +0 -233
  644. package/dist/esm/utils/fetch-accounts.js.map +0 -1
  645. package/dist/esm/utils/instruction-converter.js +0 -120
  646. package/dist/esm/utils/instruction-converter.js.map +0 -1
  647. package/dist/esm/utils/param-converters.js +0 -182
  648. package/dist/esm/utils/param-converters.js.map +0 -1
  649. package/dist/esm/utils/payment-frequency.js +0 -104
  650. package/dist/esm/utils/payment-frequency.js.map +0 -1
  651. package/dist/esm/utils/schedule-builder.js +0 -153
  652. package/dist/esm/utils/schedule-builder.js.map +0 -1
  653. package/dist/esm/utils/schedule-validation.js +0 -132
  654. package/dist/esm/utils/schedule-validation.js.map +0 -1
  655. package/dist/esm/utils/smart-params.js +0 -49
  656. package/dist/esm/utils/smart-params.js.map +0 -1
  657. package/dist/types/config/index.d.ts +0 -7
  658. package/dist/types/config/index.d.ts.map +0 -1
  659. package/dist/types/config/initialize.d.ts +0 -66
  660. package/dist/types/config/initialize.d.ts.map +0 -1
  661. package/dist/types/config/update.d.ts +0 -143
  662. package/dist/types/config/update.d.ts.map +0 -1
  663. package/dist/types/contract/close.d.ts +0 -124
  664. package/dist/types/contract/close.d.ts.map +0 -1
  665. package/dist/types/contract/create.d.ts +0 -150
  666. package/dist/types/contract/create.d.ts.map +0 -1
  667. package/dist/types/contract/index.d.ts +0 -52
  668. package/dist/types/contract/index.d.ts.map +0 -1
  669. package/dist/types/generated/codama/instructions/initializeConfig.d.ts +0 -60
  670. package/dist/types/generated/codama/instructions/initializeConfig.d.ts.map +0 -1
  671. package/dist/types/generated/codama/instructions/resetRental.d.ts +0 -79
  672. package/dist/types/generated/codama/instructions/resetRental.d.ts.map +0 -1
  673. package/dist/types/generated/codama/types/clockData.d.ts +0 -30
  674. package/dist/types/generated/codama/types/clockData.d.ts.map +0 -1
  675. package/dist/types/generated/codama/types/equality.d.ts +0 -18
  676. package/dist/types/generated/codama/types/equality.d.ts.map +0 -1
  677. package/dist/types/generated/codama/types/execContext.d.ts +0 -49
  678. package/dist/types/generated/codama/types/execContext.d.ts.map +0 -1
  679. package/dist/types/generated/codama/types/serializableAccount.d.ts +0 -23
  680. package/dist/types/generated/codama/types/serializableAccount.d.ts.map +0 -1
  681. package/dist/types/generated/codama/types/serializableInstruction.d.ts +0 -31
  682. package/dist/types/generated/codama/types/serializableInstruction.d.ts.map +0 -1
  683. package/dist/types/generated/codama/types/threadResponse.d.ts +0 -43
  684. package/dist/types/generated/codama/types/threadResponse.d.ts.map +0 -1
  685. package/dist/types/generated/codama/types/triggerContext.d.ts +0 -75
  686. package/dist/types/generated/codama/types/triggerContext.d.ts.map +0 -1
  687. package/dist/types/idl/index.d.ts +0 -21
  688. package/dist/types/idl/index.d.ts.map +0 -1
  689. package/dist/types/idl/srsly-data.d.ts +0 -1458
  690. package/dist/types/idl/srsly-data.d.ts.map +0 -1
  691. package/dist/types/rental/accept.d.ts +0 -196
  692. package/dist/types/rental/accept.d.ts.map +0 -1
  693. package/dist/types/rental/cancel.d.ts +0 -141
  694. package/dist/types/rental/cancel.d.ts.map +0 -1
  695. package/dist/types/rental/close.d.ts +0 -130
  696. package/dist/types/rental/close.d.ts.map +0 -1
  697. package/dist/types/rental/index.d.ts +0 -89
  698. package/dist/types/rental/index.d.ts.map +0 -1
  699. package/dist/types/rental/reset.d.ts +0 -166
  700. package/dist/types/rental/reset.d.ts.map +0 -1
  701. package/dist/types/types/payment-frequency.d.ts +0 -55
  702. package/dist/types/types/payment-frequency.d.ts.map +0 -1
  703. package/dist/types/types/srsly.d.ts +0 -3111
  704. package/dist/types/types/srsly.d.ts.map +0 -1
  705. package/dist/types/utils/constants.d.ts +0 -26
  706. package/dist/types/utils/constants.d.ts.map +0 -1
  707. package/dist/types/utils/cron.d.ts +0 -77
  708. package/dist/types/utils/cron.d.ts.map +0 -1
  709. package/dist/types/utils/derive-pda.d.ts +0 -213
  710. package/dist/types/utils/derive-pda.d.ts.map +0 -1
  711. package/dist/types/utils/fetch-accounts.d.ts +0 -158
  712. package/dist/types/utils/fetch-accounts.d.ts.map +0 -1
  713. package/dist/types/utils/instruction-converter.d.ts +0 -171
  714. package/dist/types/utils/instruction-converter.d.ts.map +0 -1
  715. package/dist/types/utils/param-converters.d.ts +0 -67
  716. package/dist/types/utils/param-converters.d.ts.map +0 -1
  717. package/dist/types/utils/payment-frequency.d.ts +0 -38
  718. package/dist/types/utils/payment-frequency.d.ts.map +0 -1
  719. package/dist/types/utils/schedule-builder.d.ts +0 -64
  720. package/dist/types/utils/schedule-builder.d.ts.map +0 -1
  721. package/dist/types/utils/schedule-validation.d.ts +0 -36
  722. package/dist/types/utils/schedule-validation.d.ts.map +0 -1
  723. package/dist/types/utils/smart-params.d.ts +0 -112
  724. package/dist/types/utils/smart-params.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amount.js","sourceRoot":"","sources":["../../../src/params/amount.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * @purpose Duration parameter conversion utilities
3
+ *
4
+ * Converts user-friendly duration formats to seconds for use with Solana programs.
5
+ */
6
+ /**
7
+ * Time unit conversion constants
8
+ */
9
+ const SECONDS_PER_MINUTE = 60;
10
+ const SECONDS_PER_HOUR = 3600;
11
+ const SECONDS_PER_DAY = 86400;
12
+ const SECONDS_PER_WEEK = 604800;
13
+ const SECONDS_PER_MONTH = 2678400; // 31 days
14
+ /**
15
+ * Convert duration parameter to seconds
16
+ *
17
+ * @param duration - Duration in any supported format
18
+ * @returns Duration in seconds
19
+ * @throws Error if duration is invalid or negative
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * convertDuration(3600) // 3600 seconds
24
+ * convertDuration({ hours: 1 }) // 3600 seconds
25
+ * convertDuration({ days: 7 }) // 604800 seconds
26
+ * convertDuration({ weeks: 2 }) // 1209600 seconds
27
+ * ```
28
+ */
29
+ export function convertDuration(duration) {
30
+ // Handle plain number (seconds)
31
+ if (typeof duration === 'number') {
32
+ if (duration < 0) {
33
+ throw new Error(`Duration must be positive, got ${duration}`);
34
+ }
35
+ return Math.floor(duration);
36
+ }
37
+ // Handle object format
38
+ if (typeof duration === 'object' && duration !== null) {
39
+ if ('seconds' in duration && duration.seconds !== undefined) {
40
+ return Math.floor(duration.seconds);
41
+ }
42
+ if ('minutes' in duration && duration.minutes !== undefined) {
43
+ return Math.floor(duration.minutes * SECONDS_PER_MINUTE);
44
+ }
45
+ if ('hours' in duration && duration.hours !== undefined) {
46
+ return Math.floor(duration.hours * SECONDS_PER_HOUR);
47
+ }
48
+ if ('days' in duration && duration.days !== undefined) {
49
+ return Math.floor(duration.days * SECONDS_PER_DAY);
50
+ }
51
+ if ('weeks' in duration && duration.weeks !== undefined) {
52
+ return Math.floor(duration.weeks * SECONDS_PER_WEEK);
53
+ }
54
+ if ('months' in duration && duration.months !== undefined) {
55
+ return Math.floor(duration.months * SECONDS_PER_MONTH);
56
+ }
57
+ }
58
+ throw new Error(`Invalid duration format. Expected number or object with time unit. ` +
59
+ `Got: ${JSON.stringify(duration)}`);
60
+ }
61
+ /**
62
+ * Validate duration limits
63
+ *
64
+ * Ensures duration is within reasonable bounds for rental contracts.
65
+ *
66
+ * @param durationSeconds - Duration in seconds
67
+ * @param min - Minimum allowed duration (default: 1 hour)
68
+ * @param max - Maximum allowed duration (default: 1 year)
69
+ * @throws Error if duration is out of bounds
70
+ */
71
+ export function validateDuration(durationSeconds, min = SECONDS_PER_HOUR, max = SECONDS_PER_DAY * 365) {
72
+ if (durationSeconds < min) {
73
+ throw new Error(`Duration too short: ${durationSeconds}s. Minimum: ${min}s (${formatDuration(min)})`);
74
+ }
75
+ if (durationSeconds > max) {
76
+ throw new Error(`Duration too long: ${durationSeconds}s. Maximum: ${max}s (${formatDuration(max)})`);
77
+ }
78
+ }
79
+ /**
80
+ * Format duration in seconds to human-readable string
81
+ *
82
+ * @param seconds - Duration in seconds
83
+ * @returns Human-readable duration string
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * formatDuration(3600) // "1 hour"
88
+ * formatDuration(86400) // "1 day"
89
+ * formatDuration(7200) // "2 hours"
90
+ * ```
91
+ */
92
+ export function formatDuration(seconds) {
93
+ if (seconds >= SECONDS_PER_MONTH) {
94
+ const months = Math.floor(seconds / SECONDS_PER_MONTH);
95
+ return `${months} month${months > 1 ? 's' : ''}`;
96
+ }
97
+ if (seconds >= SECONDS_PER_WEEK) {
98
+ const weeks = Math.floor(seconds / SECONDS_PER_WEEK);
99
+ return `${weeks} week${weeks > 1 ? 's' : ''}`;
100
+ }
101
+ if (seconds >= SECONDS_PER_DAY) {
102
+ const days = Math.floor(seconds / SECONDS_PER_DAY);
103
+ return `${days} day${days > 1 ? 's' : ''}`;
104
+ }
105
+ if (seconds >= SECONDS_PER_HOUR) {
106
+ const hours = Math.floor(seconds / SECONDS_PER_HOUR);
107
+ return `${hours} hour${hours > 1 ? 's' : ''}`;
108
+ }
109
+ if (seconds >= SECONDS_PER_MINUTE) {
110
+ const minutes = Math.floor(seconds / SECONDS_PER_MINUTE);
111
+ return `${minutes} minute${minutes > 1 ? 's' : ''}`;
112
+ }
113
+ return `${seconds} second${seconds !== 1 ? 's' : ''}`;
114
+ }
115
+ //# sourceMappingURL=duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/params/duration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * @purpose Payment schedule parameter conversion utilities
3
+ *
4
+ * Converts user-friendly schedule formats to strings for use with Solana programs.
5
+ * Supports common shortcuts and cron expressions.
6
+ */
7
+ /**
8
+ * Common schedule shortcuts
9
+ */
10
+ export const SCHEDULE_SHORTCUTS = [
11
+ '@hourly',
12
+ '@daily',
13
+ '@weekly',
14
+ '@monthly',
15
+ '@yearly',
16
+ '@annually',
17
+ '@decasecond',
18
+ '@minute',
19
+ 'hourly',
20
+ 'daily',
21
+ 'weekly',
22
+ 'monthly',
23
+ 'yearly',
24
+ 'annually',
25
+ 'decasecond',
26
+ 'minute'
27
+ ];
28
+ /**
29
+ * Mapping of shortcuts without @ prefix to their @ equivalents
30
+ */
31
+ const SHORTCUT_TO_AT_PREFIX = {
32
+ 'hourly': '@hourly',
33
+ 'daily': '@daily',
34
+ 'weekly': '@weekly',
35
+ 'monthly': '@monthly',
36
+ 'yearly': '@yearly',
37
+ 'annually': '@annually',
38
+ 'decasecond': '@decasecond',
39
+ 'minute': '@minute'
40
+ };
41
+ /**
42
+ * Basic cron expression validation pattern
43
+ *
44
+ * Supports:
45
+ * - Standard 5-field cron: "0 * * * *"
46
+ * - Extended 6-field cron with seconds: "0 0 * * * *"
47
+ * - @shortcuts: "@hourly", "@daily", etc.
48
+ */
49
+ const CRON_PATTERN = /^(@\w+|[\d\*\/\-,]+(\s+[\d\*\/\-,]+){4,5})$/;
50
+ /**
51
+ * Normalize payment schedule input to program-compatible format
52
+ *
53
+ * @param schedule - Payment schedule string
54
+ * @returns Normalized schedule string for Solana program
55
+ * @throws Error if schedule format is invalid
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * normalizeSchedule('daily') // '@daily'
60
+ * normalizeSchedule('@hourly') // '@hourly'
61
+ * normalizeSchedule('0 * * * *') // '0 * * * *'
62
+ * normalizeSchedule('0 0 * * * *') // '0 0 * * * *' (with seconds)
63
+ * ```
64
+ */
65
+ export function normalizeSchedule(schedule) {
66
+ if (!schedule || typeof schedule !== 'string') {
67
+ throw new Error(`Invalid schedule format. Expected string, got: ${typeof schedule}`);
68
+ }
69
+ // Trim whitespace
70
+ const trimmed = schedule.trim();
71
+ if (!trimmed) {
72
+ throw new Error('Schedule cannot be empty');
73
+ }
74
+ // If it already has @ prefix, validate and return
75
+ if (trimmed.startsWith('@')) {
76
+ if (!validateScheduleFormat(trimmed)) {
77
+ throw new Error(`Invalid schedule shortcut: ${trimmed}`);
78
+ }
79
+ return trimmed.toLowerCase();
80
+ }
81
+ // Check if it's a known shortcut without @ prefix
82
+ const lowerTrimmed = trimmed.toLowerCase();
83
+ if (lowerTrimmed in SHORTCUT_TO_AT_PREFIX) {
84
+ return SHORTCUT_TO_AT_PREFIX[lowerTrimmed];
85
+ }
86
+ // Otherwise treat as cron expression - validate and return as-is
87
+ if (!validateScheduleFormat(trimmed)) {
88
+ throw new Error(`Invalid schedule format. Expected @shortcut or cron expression. ` +
89
+ `Valid shortcuts: ${Object.keys(SHORTCUT_TO_AT_PREFIX).join(', ')}. ` +
90
+ `Got: "${trimmed}"`);
91
+ }
92
+ return trimmed;
93
+ }
94
+ /**
95
+ * Validate schedule format
96
+ *
97
+ * Checks if a schedule string is either:
98
+ * - A valid @shortcut
99
+ * - A valid cron expression (5 or 6 fields)
100
+ *
101
+ * @param schedule - Schedule string to validate
102
+ * @returns True if valid, false otherwise
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * validateScheduleFormat('@daily') // true
107
+ * validateScheduleFormat('0 * * * *') // true
108
+ * validateScheduleFormat('invalid') // false
109
+ * ```
110
+ */
111
+ export function validateScheduleFormat(schedule) {
112
+ if (!schedule || typeof schedule !== 'string') {
113
+ return false;
114
+ }
115
+ const trimmed = schedule.trim();
116
+ // Check if it's a @shortcut
117
+ if (trimmed.startsWith('@')) {
118
+ const shortcut = trimmed.toLowerCase();
119
+ return SCHEDULE_SHORTCUTS.includes(shortcut);
120
+ }
121
+ // Check if it matches cron pattern
122
+ return CRON_PATTERN.test(trimmed);
123
+ }
124
+ /**
125
+ * Convert schedule string to human-readable description
126
+ *
127
+ * @param schedule - Normalized schedule string
128
+ * @returns Human-readable description
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * formatSchedule('@daily') // "Daily"
133
+ * formatSchedule('@hourly') // "Hourly"
134
+ * formatSchedule('0 * * * *') // "Custom: 0 * * * *"
135
+ * ```
136
+ */
137
+ export function formatSchedule(schedule) {
138
+ const trimmed = schedule.trim().toLowerCase();
139
+ // Handle @shortcuts
140
+ if (trimmed.startsWith('@')) {
141
+ const shortcut = trimmed.slice(1); // Remove @
142
+ return shortcut.charAt(0).toUpperCase() + shortcut.slice(1);
143
+ }
144
+ // Handle cron expressions
145
+ return `Custom: ${trimmed}`;
146
+ }
147
+ /**
148
+ * Check if a schedule is a known shortcut
149
+ *
150
+ * @param schedule - Schedule string to check
151
+ * @returns True if it's a shortcut (with or without @)
152
+ */
153
+ export function isScheduleShortcut(schedule) {
154
+ const lower = schedule.toLowerCase();
155
+ return SCHEDULE_SHORTCUTS.includes(lower);
156
+ }
157
+ //# sourceMappingURL=schedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../../src/params/schedule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,WAAW;IACX,aAAa;IACb,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,QAAQ;CACA,CAAC;AAEX;;GAEG;AACH,MAAM,qBAAqB,GAA2B;IACpD,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE,aAAa;IAC3B,QAAQ,EAAE,SAAS;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,6CAA6C,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAuB;IACvD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,kDAAkD,OAAO,QAAQ,EAAE,CACpE,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,kDAAkD;IAClD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,kDAAkD;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,YAAY,IAAI,qBAAqB,EAAE,CAAC;QAC1C,OAAO,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,iEAAiE;IACjE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,kEAAkE;YAClE,oBAAoB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACrE,SAAS,OAAO,GAAG,CACpB,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEhC,4BAA4B;IAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,kBAAkB,CAAC,QAAQ,CAAC,QAAe,CAAC,CAAC;IACtD,CAAC;IAED,mCAAmC;IACnC,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9C,oBAAoB;IACpB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;QAC9C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,0BAA0B;IAC1B,OAAO,WAAW,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,kBAAkB,CAAC,QAAQ,CAAC,KAAY,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Constants used for PDA derivation across SRSLY, SAGE, and Thread programs
3
+ * @module pda/constants
4
+ */
5
+ /**
6
+ * Faction-specific coordinates for starbase derivation in SAGE
7
+ * These coordinates are used to derive starbase PDAs
8
+ */
9
+ export const FACTION_COORDINATES = {
10
+ mud: { x: 0, y: -39 },
11
+ oni: { x: -40, y: 30 },
12
+ ustur: { x: 40, y: 30 },
13
+ };
14
+ /**
15
+ * Mapping of numeric faction IDs to faction names
16
+ */
17
+ export const FACTION_MAPPING = {
18
+ 1: 'mud',
19
+ 2: 'oni',
20
+ 3: 'ustur',
21
+ };
22
+ /**
23
+ * Seed constants for SAGE program PDA derivation
24
+ */
25
+ export const STARBASE_SEED = 'Starbase';
26
+ export const STARBASE_PLAYER_SEED = 'starbase_player';
27
+ export const SAGE_PLAYER_PROFILE_SEED = 'sage_player_profile';
28
+ export const PROFILE_FACTION_SEED = 'player_faction';
29
+ /**
30
+ * Seed constants for SRSLY program PDA derivation
31
+ */
32
+ export const CONTRACT_SEED = 'rental_contract';
33
+ export const RENTAL_SEED = 'rental_state';
34
+ export const RENTAL_AUTHORITY_SEED = 'rental_authority';
35
+ export const BORROWER_STATE_SEED = 'borrower_state';
36
+ export const CONFIG_SEED = 'config';
37
+ /**
38
+ * Seed constants for Thread program (Antegen) PDA derivation
39
+ */
40
+ export const THREAD_SEED = 'thread';
41
+ /**
42
+ * Type guard to check if a value is a valid faction name
43
+ */
44
+ export function isValidFactionName(faction) {
45
+ return faction === 'mud' || faction === 'oni' || faction === 'ustur';
46
+ }
47
+ /**
48
+ * Get faction name from numeric faction ID
49
+ */
50
+ export function getFactionName(factionId) {
51
+ const name = FACTION_MAPPING[factionId];
52
+ if (!name) {
53
+ throw new Error(`Invalid faction ID: ${factionId}. Expected 1 (mud), 2 (oni), or 3 (ustur)`);
54
+ }
55
+ return name;
56
+ }
57
+ /**
58
+ * Get faction coordinates by name
59
+ */
60
+ export function getFactionCoordinates(faction) {
61
+ const coords = FACTION_COORDINATES[faction.toLowerCase()];
62
+ if (!coords) {
63
+ throw new Error(`Invalid faction: ${faction}. Expected 'mud', 'oni', or 'ustur'`);
64
+ }
65
+ return coords;
66
+ }
67
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/pda/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA6C;IAC3E,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACrB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;IACtB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,OAAO;CACX,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AACtD,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAC/C,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,OAAO,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,2CAA2C,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,oBAAoB,OAAO,qCAAqC,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * PDA (Program Derived Address) derivation utilities
3
+ *
4
+ * This module provides helper functions for deriving PDAs across multiple Solana programs:
5
+ * - SRSLY: Contract, rental, borrower state, and config PDAs
6
+ * - SAGE: Player profiles, starbase, and faction PDAs
7
+ * - Antegen: Thread PDAs for automated payments
8
+ * - Token: Associated Token Account (ATA) derivation
9
+ *
10
+ * @module pda
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { deriveContract, deriveGameAccounts, deriveRentalThread } from '@srsly/sdk/pda';
15
+ *
16
+ * // Derive SRSLY contract
17
+ * const contract = await deriveContract(fleetAddress);
18
+ *
19
+ * // Derive all SAGE accounts at once
20
+ * const { profileFaction, starbase, starbasePlayer } = await deriveGameAccounts(
21
+ * playerProfile,
22
+ * 'mud',
23
+ * gameId
24
+ * );
25
+ *
26
+ * // Derive thread for automated payments
27
+ * const thread = await deriveRentalThread(rentalState, rentalAuthority);
28
+ * ```
29
+ */
30
+ // Export constants
31
+ export { FACTION_COORDINATES, FACTION_MAPPING, STARBASE_SEED, STARBASE_PLAYER_SEED, SAGE_PLAYER_PROFILE_SEED, PROFILE_FACTION_SEED, CONTRACT_SEED, RENTAL_SEED, RENTAL_AUTHORITY_SEED, BORROWER_STATE_SEED, CONFIG_SEED, THREAD_SEED, isValidFactionName, getFactionName, getFactionCoordinates, } from './constants';
32
+ // Export SRSLY program PDAs
33
+ export { deriveContract, deriveRental, deriveRentalAuthority, deriveBorrowerState, deriveConfig, } from './srsly';
34
+ // Export SAGE program PDAs
35
+ export { deriveProfileFaction, deriveSagePlayerProfile, deriveStarbase, deriveStarbasePlayer, deriveGameAccounts, } from './sage';
36
+ // Export Antegen thread PDAs
37
+ export { deriveRentalThread } from './thread';
38
+ // Export token account utilities
39
+ export { deriveAssociatedTokenAccount } from './token';
40
+ // Export Slyvault PDAs
41
+ export { deriveSlyvaultVault } from './slyvault';
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pda/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,4BAA4B;AAC5B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,GACb,MAAM,SAAS,CAAC;AAEjB,2BAA2B;AAC3B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,QAAQ,CAAC;AAEhB,6BAA6B;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,iCAAiC;AACjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD,uBAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * PDA derivation functions for SAGE and Profile Faction programs
3
+ * @module pda/sage
4
+ */
5
+ import { address, getProgramDerivedAddress, getAddressEncoder } from '@solana/kit';
6
+ import { getAddresses } from '../utils/config';
7
+ import { PROFILE_FACTION_SEED, SAGE_PLAYER_PROFILE_SEED, STARBASE_SEED, STARBASE_PLAYER_SEED, getFactionCoordinates, getFactionName, } from './constants';
8
+ /**
9
+ * Address encoder for PDA seeds
10
+ */
11
+ const addressEncoder = getAddressEncoder();
12
+ /**
13
+ * Text encoder for string seeds
14
+ */
15
+ const textEncoder = new TextEncoder();
16
+ /**
17
+ * Derive the profile faction PDA from a profile address
18
+ * @param profile - The player profile public key
19
+ * @param programAddress - Optional Profile Faction program address (defaults to network-specific address)
20
+ * @returns The derived profile faction PDA
21
+ */
22
+ export async function deriveProfileFaction(profile, programAddress) {
23
+ const profileAddress = address(typeof profile === 'string' ? profile : profile);
24
+ const program = programAddress
25
+ ? address(typeof programAddress === 'string' ? programAddress : programAddress)
26
+ : address(getAddresses().profileFaction);
27
+ // Encode seeds to bytes
28
+ const profileFactionSeedBytes = textEncoder.encode(PROFILE_FACTION_SEED);
29
+ const profileBytes = addressEncoder.encode(profileAddress);
30
+ const [pda] = await getProgramDerivedAddress({
31
+ programAddress: program,
32
+ seeds: [profileFactionSeedBytes, profileBytes],
33
+ });
34
+ return pda;
35
+ }
36
+ /**
37
+ * Derive the SAGE player profile PDA
38
+ * @param profile - The player profile public key
39
+ * @param gameId - The game ID public key
40
+ * @param programAddress - Optional SAGE program address (defaults to network-specific address)
41
+ * @returns The derived SAGE player profile PDA
42
+ */
43
+ export async function deriveSagePlayerProfile(profile, gameId, programAddress) {
44
+ const profileAddress = address(typeof profile === 'string' ? profile : profile);
45
+ const gameIdAddress = address(typeof gameId === 'string' ? gameId : gameId);
46
+ const program = programAddress
47
+ ? address(typeof programAddress === 'string' ? programAddress : programAddress)
48
+ : address(getAddresses().sage);
49
+ // Encode seeds to bytes
50
+ const sagePlayerProfileSeedBytes = textEncoder.encode(SAGE_PLAYER_PROFILE_SEED);
51
+ const profileBytes = addressEncoder.encode(profileAddress);
52
+ const gameIdBytes = addressEncoder.encode(gameIdAddress);
53
+ const [pda] = await getProgramDerivedAddress({
54
+ programAddress: program,
55
+ seeds: [sagePlayerProfileSeedBytes, profileBytes, gameIdBytes],
56
+ });
57
+ return pda;
58
+ }
59
+ /**
60
+ * Derive the starbase PDA from faction and game ID
61
+ * @param faction - Faction name ('mud', 'oni', 'ustur') or faction ID (1, 2, 3)
62
+ * @param gameId - The game ID public key
63
+ * @param programAddress - Optional SAGE program address (defaults to network-specific address)
64
+ * @returns The derived starbase PDA
65
+ */
66
+ export async function deriveStarbase(faction, gameId, programAddress) {
67
+ const factionName = typeof faction === 'number' ? getFactionName(faction) : faction;
68
+ const coords = getFactionCoordinates(factionName);
69
+ const gameIdAddress = address(typeof gameId === 'string' ? gameId : gameId);
70
+ const program = programAddress
71
+ ? address(typeof programAddress === 'string' ? programAddress : programAddress)
72
+ : address(getAddresses().sage);
73
+ // Encode string and address seeds to bytes
74
+ const starbaseSeedBytes = textEncoder.encode(STARBASE_SEED);
75
+ const gameIdBytes = addressEncoder.encode(gameIdAddress);
76
+ // Convert coordinates to little-endian bytes
77
+ const xBuffer = new ArrayBuffer(8);
78
+ const xView = new DataView(xBuffer);
79
+ xView.setBigInt64(0, BigInt(coords.x), true); // true = little endian
80
+ const yBuffer = new ArrayBuffer(8);
81
+ const yView = new DataView(yBuffer);
82
+ yView.setBigInt64(0, BigInt(coords.y), true); // true = little endian
83
+ const [pda] = await getProgramDerivedAddress({
84
+ programAddress: program,
85
+ seeds: [
86
+ starbaseSeedBytes,
87
+ gameIdBytes,
88
+ new Uint8Array(xBuffer),
89
+ new Uint8Array(yBuffer),
90
+ ],
91
+ });
92
+ return pda;
93
+ }
94
+ /**
95
+ * Derive the starbase player PDA
96
+ * @param sagePlayerProfile - The SAGE player profile public key
97
+ * @param starbase - The starbase public key
98
+ * @param starbaseSeqId - Optional starbase sequence ID (defaults to 0)
99
+ * @param programAddress - Optional SAGE program address (defaults to network-specific address)
100
+ * @returns The derived starbase player PDA
101
+ */
102
+ export async function deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId = 0, programAddress) {
103
+ const profileAddress = address(typeof sagePlayerProfile === 'string' ? sagePlayerProfile : sagePlayerProfile);
104
+ const starbaseAddress = address(typeof starbase === 'string' ? starbase : starbase);
105
+ const program = programAddress
106
+ ? address(typeof programAddress === 'string' ? programAddress : programAddress)
107
+ : address(getAddresses().sage);
108
+ // Encode string and address seeds to bytes
109
+ const starbasePlayerSeedBytes = textEncoder.encode(STARBASE_PLAYER_SEED);
110
+ const profileBytes = addressEncoder.encode(profileAddress);
111
+ const starbaseBytes = addressEncoder.encode(starbaseAddress);
112
+ // Convert sequence ID to little-endian u16 bytes
113
+ const seqBuffer = new ArrayBuffer(2);
114
+ const seqView = new DataView(seqBuffer);
115
+ seqView.setUint16(0, starbaseSeqId, true); // true = little endian
116
+ const [pda] = await getProgramDerivedAddress({
117
+ programAddress: program,
118
+ seeds: [
119
+ starbasePlayerSeedBytes,
120
+ profileBytes,
121
+ starbaseBytes,
122
+ new Uint8Array(seqBuffer),
123
+ ],
124
+ });
125
+ return pda;
126
+ }
127
+ /**
128
+ * Derive all SAGE game accounts at once (convenience function)
129
+ *
130
+ * This is a helper that derives all three SAGE-related accounts needed for most operations:
131
+ * - Profile faction (from Profile Faction program)
132
+ * - SAGE player profile (from SAGE program)
133
+ * - Starbase (from SAGE program using faction coordinates)
134
+ * - Starbase player (from SAGE program)
135
+ *
136
+ * @param profile - The player profile public key
137
+ * @param faction - Faction name ('mud', 'oni', 'ustur') or faction ID (1, 2, 3)
138
+ * @param gameId - The game ID public key
139
+ * @param starbaseSeqId - Optional starbase sequence ID (defaults to 0)
140
+ * @returns Object containing all derived SAGE accounts
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * const accounts = await deriveGameAccounts(
145
+ * playerProfile,
146
+ * 'mud',
147
+ * gameId
148
+ * );
149
+ * // Returns: { profileFaction, sagePlayerProfile, starbase, starbasePlayer }
150
+ * ```
151
+ */
152
+ export async function deriveGameAccounts(profile, faction, gameId, starbaseSeqId = 0) {
153
+ // Derive all accounts
154
+ const [profileFaction, sagePlayerProfile, starbase] = await Promise.all([
155
+ deriveProfileFaction(profile),
156
+ deriveSagePlayerProfile(profile, gameId),
157
+ deriveStarbase(faction, gameId),
158
+ ]);
159
+ // Derive starbase player (depends on sagePlayerProfile and starbase)
160
+ const starbasePlayer = await deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId);
161
+ return {
162
+ profileFaction,
163
+ sagePlayerProfile,
164
+ starbase,
165
+ starbasePlayer,
166
+ };
167
+ }
168
+ //# sourceMappingURL=sage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sage.js","sourceRoot":"","sources":["../../../src/pda/sage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Slyvault PDA derivation utilities
3
+ * @module pda/slyvault
4
+ */
5
+ import { address, getProgramDerivedAddress, getAddressEncoder } from '@solana/kit';
6
+ import { deriveAssociatedTokenAccount } from './token';
7
+ /**
8
+ * Slyvault program address
9
+ */
10
+ const SLYVAULT_PROGRAM = 'VLTm3X1xUXhMYjjEgvwhb6p1ekBvrnYTdVcbHR9Vask';
11
+ /**
12
+ * Slyvault vault seed constant
13
+ */
14
+ const VAULT_SEED = 'vault';
15
+ const addressEncoder = getAddressEncoder();
16
+ const textEncoder = new TextEncoder();
17
+ /**
18
+ * Derive slyvault vault PDA and its associated token account
19
+ * Vault is created with a specific creator (typically the SRSLY program)
20
+ *
21
+ * @param creator - The creator address (typically SRSLY program)
22
+ * @param mint - The token mint address
23
+ * @param slyvaultProgramAddress - Optional slyvault program address (defaults to mainnet)
24
+ * @returns Object containing vault PDA and its token account
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { deriveSlyvaultVault } from './slyvault';
29
+ *
30
+ * const { vault, vaultTokenAccount } = await deriveSlyvaultVault(
31
+ * srslyProgramAddress,
32
+ * atlasMintAddress
33
+ * );
34
+ * ```
35
+ */
36
+ export async function deriveSlyvaultVault(creator, mint, slyvaultProgramAddress) {
37
+ const creatorAddress = address(creator);
38
+ const mintAddress = address(mint);
39
+ const slyvaultProgram = slyvaultProgramAddress ? address(slyvaultProgramAddress) : address(SLYVAULT_PROGRAM);
40
+ // Encode all seeds to bytes (Uint8Array)
41
+ const vaultSeedBytes = textEncoder.encode(VAULT_SEED);
42
+ const creatorBytes = addressEncoder.encode(creatorAddress);
43
+ const mintBytes = addressEncoder.encode(mintAddress);
44
+ // Derive vault PDA: ["vault", creator, mint]
45
+ const [vault] = await getProgramDerivedAddress({
46
+ programAddress: slyvaultProgram,
47
+ seeds: [vaultSeedBytes, creatorBytes, mintBytes],
48
+ });
49
+ // Derive vault's associated token account
50
+ const vaultTokenAccount = await deriveAssociatedTokenAccount(vault, mintAddress);
51
+ return { vault, vaultTokenAccount };
52
+ }
53
+ //# sourceMappingURL=slyvault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slyvault.js","sourceRoot":"","sources":["../../../src/pda/slyvault.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD;;GAEG;AACH,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAEvE;;GAEG;AACH,MAAM,UAAU,GAAG,OAAO,CAAC;AAE3B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAC3C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAyB,EACzB,IAAsB,EACtB,sBAAyC;IAEzC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,eAAe,GAAG,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7G,yCAAyC;IACzC,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAErD,6CAA6C;IAC7C,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC7C,cAAc,EAAE,eAAe;QAC/B,KAAK,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,SAAS,CAAC;KACjD,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAEjF,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;AACtC,CAAC"}