@sly-rentals/core 0.1.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 (801) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +235 -0
  3. package/dist/api.json +50992 -0
  4. package/dist/cjs/accounts/borrower.js +120 -0
  5. package/dist/cjs/accounts/borrower.js.map +1 -0
  6. package/dist/cjs/accounts/config.js +97 -0
  7. package/dist/cjs/accounts/config.js.map +1 -0
  8. package/dist/cjs/accounts/contract.js +107 -0
  9. package/dist/cjs/accounts/contract.js.map +1 -0
  10. package/dist/cjs/accounts/fleet.js +47 -0
  11. package/dist/cjs/accounts/fleet.js.map +1 -0
  12. package/dist/cjs/accounts/index.js +24 -0
  13. package/dist/cjs/accounts/index.js.map +1 -0
  14. package/dist/cjs/accounts/member.js +16 -0
  15. package/dist/cjs/accounts/member.js.map +1 -0
  16. package/dist/cjs/accounts/rental.js +108 -0
  17. package/dist/cjs/accounts/rental.js.map +1 -0
  18. package/dist/cjs/accounts/thread.js +222 -0
  19. package/dist/cjs/accounts/thread.js.map +1 -0
  20. package/dist/cjs/audit/audit.js +398 -0
  21. package/dist/cjs/audit/audit.js.map +1 -0
  22. package/dist/cjs/audit/events.js +273 -0
  23. package/dist/cjs/audit/events.js.map +1 -0
  24. package/dist/cjs/audit/index.js +8 -0
  25. package/dist/cjs/audit/index.js.map +1 -0
  26. package/dist/cjs/audit/types.js +3 -0
  27. package/dist/cjs/audit/types.js.map +1 -0
  28. package/dist/cjs/cost/constants.js +34 -0
  29. package/dist/cjs/cost/constants.js.map +1 -0
  30. package/dist/cjs/cost/estimate.js +123 -0
  31. package/dist/cjs/cost/estimate.js.map +1 -0
  32. package/dist/cjs/cost/estimate.test.js +145 -0
  33. package/dist/cjs/cost/estimate.test.js.map +1 -0
  34. package/dist/cjs/cost/index.js +20 -0
  35. package/dist/cjs/cost/index.js.map +1 -0
  36. package/dist/cjs/cost/sizes.js +21 -0
  37. package/dist/cjs/cost/sizes.js.map +1 -0
  38. package/dist/cjs/generated/codama/accounts/borrowerState.js +80 -0
  39. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -0
  40. package/dist/cjs/generated/codama/accounts/configState.js +114 -0
  41. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -0
  42. package/dist/cjs/generated/codama/accounts/contractState.js +115 -0
  43. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -0
  44. package/dist/cjs/generated/codama/accounts/index.js +28 -0
  45. package/dist/cjs/generated/codama/accounts/index.js.map +1 -0
  46. package/dist/cjs/generated/codama/accounts/rentalState.js +105 -0
  47. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -0
  48. package/dist/cjs/generated/codama/errors/index.js +25 -0
  49. package/dist/cjs/generated/codama/errors/index.js.map +1 -0
  50. package/dist/cjs/generated/codama/errors/srsly.js +312 -0
  51. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -0
  52. package/dist/cjs/generated/codama/index.js +29 -0
  53. package/dist/cjs/generated/codama/index.js.map +1 -0
  54. package/dist/cjs/generated/codama/instructions/acceptRental.js +375 -0
  55. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -0
  56. package/dist/cjs/generated/codama/instructions/cancelRental.js +261 -0
  57. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -0
  58. package/dist/cjs/generated/codama/instructions/claimBorrower.js +217 -0
  59. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -0
  60. package/dist/cjs/generated/codama/instructions/claimContract.js +195 -0
  61. package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
  62. package/dist/cjs/generated/codama/instructions/closeBorrower.js +169 -0
  63. package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -0
  64. package/dist/cjs/generated/codama/instructions/closeContract.js +286 -0
  65. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -0
  66. package/dist/cjs/generated/codama/instructions/closeContractThread.js +164 -0
  67. package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
  68. package/dist/cjs/generated/codama/instructions/closeRental.js +332 -0
  69. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -0
  70. package/dist/cjs/generated/codama/instructions/createBorrower.js +188 -0
  71. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  72. package/dist/cjs/generated/codama/instructions/createConfig.js +236 -0
  73. package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -0
  74. package/dist/cjs/generated/codama/instructions/createContract.js +281 -0
  75. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -0
  76. package/dist/cjs/generated/codama/instructions/createContractThread.js +309 -0
  77. package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
  78. package/dist/cjs/generated/codama/instructions/deleteBorrower.js +109 -0
  79. package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -0
  80. package/dist/cjs/generated/codama/instructions/deleteConfig.js +187 -0
  81. package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -0
  82. package/dist/cjs/generated/codama/instructions/deleteContract.js +109 -0
  83. package/dist/cjs/generated/codama/instructions/deleteContract.js.map +1 -0
  84. package/dist/cjs/generated/codama/instructions/deleteContractThread.js +170 -0
  85. package/dist/cjs/generated/codama/instructions/deleteContractThread.js.map +1 -0
  86. package/dist/cjs/generated/codama/instructions/deleteRental.js +109 -0
  87. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -0
  88. package/dist/cjs/generated/codama/instructions/index.js +49 -0
  89. package/dist/cjs/generated/codama/instructions/index.js.map +1 -0
  90. package/dist/cjs/generated/codama/instructions/invalidateRental.js +150 -0
  91. package/dist/cjs/generated/codama/instructions/invalidateRental.js.map +1 -0
  92. package/dist/cjs/generated/codama/instructions/processContract.js +213 -0
  93. package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
  94. package/dist/cjs/generated/codama/instructions/releaseRental.js +148 -0
  95. package/dist/cjs/generated/codama/instructions/releaseRental.js.map +1 -0
  96. package/dist/cjs/generated/codama/instructions/reserveRental.js +323 -0
  97. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -0
  98. package/dist/cjs/generated/codama/instructions/setDelegate.js +74 -0
  99. package/dist/cjs/generated/codama/instructions/setDelegate.js.map +1 -0
  100. package/dist/cjs/generated/codama/instructions/updateConfig.js +132 -0
  101. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -0
  102. package/dist/cjs/generated/codama/instructions/updateContract.js +126 -0
  103. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -0
  104. package/dist/cjs/generated/codama/instructions/updateContractThread.js +168 -0
  105. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  106. package/dist/cjs/generated/codama/programs/index.js +25 -0
  107. package/dist/cjs/generated/codama/programs/index.js.map +1 -0
  108. package/dist/cjs/generated/codama/programs/srsly.js +145 -0
  109. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -0
  110. package/dist/cjs/generated/codama/shared/index.js +88 -0
  111. package/dist/cjs/generated/codama/shared/index.js.map +1 -0
  112. package/dist/cjs/generated/codama/types/cargoStats.js +43 -0
  113. package/dist/cjs/generated/codama/types/cargoStats.js.map +1 -0
  114. package/dist/cjs/generated/codama/types/combatStats.js +49 -0
  115. package/dist/cjs/generated/codama/types/combatStats.js.map +1 -0
  116. package/dist/cjs/generated/codama/types/feesPaid.js +33 -0
  117. package/dist/cjs/generated/codama/types/feesPaid.js.map +1 -0
  118. package/dist/cjs/generated/codama/types/fleet.js +74 -0
  119. package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
  120. package/dist/cjs/generated/codama/types/index.js +43 -0
  121. package/dist/cjs/generated/codama/types/index.js.map +1 -0
  122. package/dist/cjs/generated/codama/types/miscStats.js +47 -0
  123. package/dist/cjs/generated/codama/types/miscStats.js.map +1 -0
  124. package/dist/cjs/generated/codama/types/movementStats.js +39 -0
  125. package/dist/cjs/generated/codama/types/movementStats.js.map +1 -0
  126. package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js +23 -0
  127. package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js.map +1 -0
  128. package/dist/cjs/generated/codama/types/ownerPaid.js +31 -0
  129. package/dist/cjs/generated/codama/types/ownerPaid.js.map +1 -0
  130. package/dist/cjs/generated/codama/types/rentalAccepted.js +43 -0
  131. package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -0
  132. package/dist/cjs/generated/codama/types/rentalCancelled.js +39 -0
  133. package/dist/cjs/generated/codama/types/rentalCancelled.js.map +1 -0
  134. package/dist/cjs/generated/codama/types/rentalClosed.js +37 -0
  135. package/dist/cjs/generated/codama/types/rentalClosed.js.map +1 -0
  136. package/dist/cjs/generated/codama/types/rentalSettled.js +35 -0
  137. package/dist/cjs/generated/codama/types/rentalSettled.js.map +1 -0
  138. package/dist/cjs/generated/codama/types/rentalStatus.js +32 -0
  139. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -0
  140. package/dist/cjs/generated/codama/types/schedule.js +63 -0
  141. package/dist/cjs/generated/codama/types/schedule.js.map +1 -0
  142. package/dist/cjs/generated/codama/types/shipCounts.js +45 -0
  143. package/dist/cjs/generated/codama/types/shipCounts.js.map +1 -0
  144. package/dist/cjs/generated/codama/types/shipStats.js +34 -0
  145. package/dist/cjs/generated/codama/types/shipStats.js.map +1 -0
  146. package/dist/cjs/generated/codama/types/signal.js +60 -0
  147. package/dist/cjs/generated/codama/types/signal.js.map +1 -0
  148. package/dist/cjs/generated/codama/types/thread.js +62 -0
  149. package/dist/cjs/generated/codama/types/thread.js.map +1 -0
  150. package/dist/cjs/generated/codama/types/trigger.js +101 -0
  151. package/dist/cjs/generated/codama/types/trigger.js.map +1 -0
  152. package/dist/cjs/idl/srsly.json +4747 -0
  153. package/dist/cjs/index.js +28 -0
  154. package/dist/cjs/index.js.map +1 -0
  155. package/dist/cjs/instructions/acceptRental.js +245 -0
  156. package/dist/cjs/instructions/acceptRental.js.map +1 -0
  157. package/dist/cjs/instructions/approveAffiliate.js +11 -0
  158. package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
  159. package/dist/cjs/instructions/cancelRental.js +101 -0
  160. package/dist/cjs/instructions/cancelRental.js.map +1 -0
  161. package/dist/cjs/instructions/claimBorrower.js +88 -0
  162. package/dist/cjs/instructions/claimBorrower.js.map +1 -0
  163. package/dist/cjs/instructions/claimContract.js +54 -0
  164. package/dist/cjs/instructions/claimContract.js.map +1 -0
  165. package/dist/cjs/instructions/closeBorrower.js +51 -0
  166. package/dist/cjs/instructions/closeBorrower.js.map +1 -0
  167. package/dist/cjs/instructions/closeContract.js +235 -0
  168. package/dist/cjs/instructions/closeContract.js.map +1 -0
  169. package/dist/cjs/instructions/closeContractThread.js +61 -0
  170. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  171. package/dist/cjs/instructions/closeRental.js +136 -0
  172. package/dist/cjs/instructions/closeRental.js.map +1 -0
  173. package/dist/cjs/instructions/createAffiliate.js +68 -0
  174. package/dist/cjs/instructions/createAffiliate.js.map +1 -0
  175. package/dist/cjs/instructions/createBorrower.js +44 -0
  176. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  177. package/dist/cjs/instructions/createConfig.js +81 -0
  178. package/dist/cjs/instructions/createConfig.js.map +1 -0
  179. package/dist/cjs/instructions/createContract.js +146 -0
  180. package/dist/cjs/instructions/createContract.js.map +1 -0
  181. package/dist/cjs/instructions/createContractThread.js +98 -0
  182. package/dist/cjs/instructions/createContractThread.js.map +1 -0
  183. package/dist/cjs/instructions/deleteBorrower.js +57 -0
  184. package/dist/cjs/instructions/deleteBorrower.js.map +1 -0
  185. package/dist/cjs/instructions/deleteConfig.js +77 -0
  186. package/dist/cjs/instructions/deleteConfig.js.map +1 -0
  187. package/dist/cjs/instructions/deleteContract.js +76 -0
  188. package/dist/cjs/instructions/deleteContract.js.map +1 -0
  189. package/dist/cjs/instructions/deleteContractThread.js +62 -0
  190. package/dist/cjs/instructions/deleteContractThread.js.map +1 -0
  191. package/dist/cjs/instructions/deleteRental.js +73 -0
  192. package/dist/cjs/instructions/deleteRental.js.map +1 -0
  193. package/dist/cjs/instructions/index.js +49 -0
  194. package/dist/cjs/instructions/index.js.map +1 -0
  195. package/dist/cjs/instructions/invalidateRental.js +87 -0
  196. package/dist/cjs/instructions/invalidateRental.js.map +1 -0
  197. package/dist/cjs/instructions/releaseRental.js +87 -0
  198. package/dist/cjs/instructions/releaseRental.js.map +1 -0
  199. package/dist/cjs/instructions/removeAffiliate.js +11 -0
  200. package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
  201. package/dist/cjs/instructions/reserveRental.js +174 -0
  202. package/dist/cjs/instructions/reserveRental.js.map +1 -0
  203. package/dist/cjs/instructions/setDelegate.js +67 -0
  204. package/dist/cjs/instructions/setDelegate.js.map +1 -0
  205. package/dist/cjs/instructions/updateAffiliate.js +55 -0
  206. package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
  207. package/dist/cjs/instructions/updateConfig.js +94 -0
  208. package/dist/cjs/instructions/updateConfig.js.map +1 -0
  209. package/dist/cjs/instructions/updateContract.js +98 -0
  210. package/dist/cjs/instructions/updateContract.js.map +1 -0
  211. package/dist/cjs/instructions/updateContractThread.js +56 -0
  212. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  213. package/dist/cjs/kit/index.js +69 -0
  214. package/dist/cjs/kit/index.js.map +1 -0
  215. package/dist/cjs/legacy/index.js +121 -0
  216. package/dist/cjs/legacy/index.js.map +1 -0
  217. package/dist/cjs/package.json +78 -0
  218. package/dist/cjs/params/amount.js +126 -0
  219. package/dist/cjs/params/amount.js.map +1 -0
  220. package/dist/cjs/params/duration.js +120 -0
  221. package/dist/cjs/params/duration.js.map +1 -0
  222. package/dist/cjs/params/index.js +21 -0
  223. package/dist/cjs/params/index.js.map +1 -0
  224. package/dist/cjs/params/schedule.js +164 -0
  225. package/dist/cjs/params/schedule.js.map +1 -0
  226. package/dist/cjs/params/sol.js +76 -0
  227. package/dist/cjs/params/sol.js.map +1 -0
  228. package/dist/cjs/pda/constants.js +78 -0
  229. package/dist/cjs/pda/constants.js.map +1 -0
  230. package/dist/cjs/pda/index.js +64 -0
  231. package/dist/cjs/pda/index.js.map +1 -0
  232. package/dist/cjs/pda/lookupTable.js +58 -0
  233. package/dist/cjs/pda/lookupTable.js.map +1 -0
  234. package/dist/cjs/pda/sage.js +160 -0
  235. package/dist/cjs/pda/sage.js.map +1 -0
  236. package/dist/cjs/pda/slyvault.js +12 -0
  237. package/dist/cjs/pda/slyvault.js.map +1 -0
  238. package/dist/cjs/pda/srsly.js +130 -0
  239. package/dist/cjs/pda/srsly.js.map +1 -0
  240. package/dist/cjs/pda/thread.js +74 -0
  241. package/dist/cjs/pda/thread.js.map +1 -0
  242. package/dist/cjs/pda/token.js +63 -0
  243. package/dist/cjs/pda/token.js.map +1 -0
  244. package/dist/cjs/utils/addresses.js +131 -0
  245. package/dist/cjs/utils/addresses.js.map +1 -0
  246. package/dist/cjs/utils/bidMath.js +150 -0
  247. package/dist/cjs/utils/bidMath.js.map +1 -0
  248. package/dist/cjs/utils/config.js +212 -0
  249. package/dist/cjs/utils/config.js.map +1 -0
  250. package/dist/cjs/utils/discountAuth.js +78 -0
  251. package/dist/cjs/utils/discountAuth.js.map +1 -0
  252. package/dist/cjs/utils/index.js +68 -0
  253. package/dist/cjs/utils/index.js.map +1 -0
  254. package/dist/cjs/utils/instructionResult.js +76 -0
  255. package/dist/cjs/utils/instructionResult.js.map +1 -0
  256. package/dist/cjs/utils/instructions.js +74 -0
  257. package/dist/cjs/utils/instructions.js.map +1 -0
  258. package/dist/cjs/utils/lookupTable.js +141 -0
  259. package/dist/cjs/utils/lookupTable.js.map +1 -0
  260. package/dist/cjs/utils/rental.js +49 -0
  261. package/dist/cjs/utils/rental.js.map +1 -0
  262. package/dist/cjs/utils/rpc.js +57 -0
  263. package/dist/cjs/utils/rpc.js.map +1 -0
  264. package/dist/cjs/utils/signer.js +155 -0
  265. package/dist/cjs/utils/signer.js.map +1 -0
  266. package/dist/cjs/utils/web3js.js +76 -0
  267. package/dist/cjs/utils/web3js.js.map +1 -0
  268. package/dist/cjs/version.js +7 -0
  269. package/dist/cjs/version.js.map +1 -0
  270. package/dist/esm/accounts/borrower.js +116 -0
  271. package/dist/esm/accounts/borrower.js.map +1 -0
  272. package/dist/esm/accounts/config.js +93 -0
  273. package/dist/esm/accounts/config.js.map +1 -0
  274. package/dist/esm/accounts/contract.js +103 -0
  275. package/dist/esm/accounts/contract.js.map +1 -0
  276. package/dist/esm/accounts/fleet.js +44 -0
  277. package/dist/esm/accounts/fleet.js.map +1 -0
  278. package/dist/esm/accounts/index.js +8 -0
  279. package/dist/esm/accounts/index.js.map +1 -0
  280. package/dist/esm/accounts/member.js +9 -0
  281. package/dist/esm/accounts/member.js.map +1 -0
  282. package/dist/esm/accounts/rental.js +104 -0
  283. package/dist/esm/accounts/rental.js.map +1 -0
  284. package/dist/esm/accounts/thread.js +216 -0
  285. package/dist/esm/accounts/thread.js.map +1 -0
  286. package/dist/esm/audit/audit.js +395 -0
  287. package/dist/esm/audit/audit.js.map +1 -0
  288. package/dist/esm/audit/events.js +267 -0
  289. package/dist/esm/audit/events.js.map +1 -0
  290. package/dist/esm/audit/index.js +3 -0
  291. package/dist/esm/audit/index.js.map +1 -0
  292. package/dist/esm/audit/types.js +2 -0
  293. package/dist/esm/audit/types.js.map +1 -0
  294. package/dist/esm/cost/constants.js +31 -0
  295. package/dist/esm/cost/constants.js.map +1 -0
  296. package/dist/esm/cost/estimate.js +117 -0
  297. package/dist/esm/cost/estimate.js.map +1 -0
  298. package/dist/esm/cost/estimate.test.js +143 -0
  299. package/dist/esm/cost/estimate.test.js.map +1 -0
  300. package/dist/esm/cost/index.js +4 -0
  301. package/dist/esm/cost/index.js.map +1 -0
  302. package/dist/esm/cost/sizes.js +18 -0
  303. package/dist/esm/cost/sizes.js.map +1 -0
  304. package/dist/esm/generated/codama/accounts/borrowerState.js +68 -0
  305. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -0
  306. package/dist/esm/generated/codama/accounts/configState.js +101 -0
  307. package/dist/esm/generated/codama/accounts/configState.js.map +1 -0
  308. package/dist/esm/generated/codama/accounts/contractState.js +103 -0
  309. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -0
  310. package/dist/esm/generated/codama/accounts/index.js +12 -0
  311. package/dist/esm/generated/codama/accounts/index.js.map +1 -0
  312. package/dist/esm/generated/codama/accounts/rentalState.js +93 -0
  313. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -0
  314. package/dist/esm/generated/codama/errors/index.js +9 -0
  315. package/dist/esm/generated/codama/errors/index.js.map +1 -0
  316. package/dist/esm/generated/codama/errors/srsly.js +306 -0
  317. package/dist/esm/generated/codama/errors/srsly.js.map +1 -0
  318. package/dist/esm/generated/codama/index.js +13 -0
  319. package/dist/esm/generated/codama/index.js.map +1 -0
  320. package/dist/esm/generated/codama/instructions/acceptRental.js +365 -0
  321. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -0
  322. package/dist/esm/generated/codama/instructions/cancelRental.js +251 -0
  323. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -0
  324. package/dist/esm/generated/codama/instructions/claimBorrower.js +207 -0
  325. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -0
  326. package/dist/esm/generated/codama/instructions/claimContract.js +185 -0
  327. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  328. package/dist/esm/generated/codama/instructions/closeBorrower.js +159 -0
  329. package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -0
  330. package/dist/esm/generated/codama/instructions/closeContract.js +276 -0
  331. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -0
  332. package/dist/esm/generated/codama/instructions/closeContractThread.js +154 -0
  333. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  334. package/dist/esm/generated/codama/instructions/closeRental.js +322 -0
  335. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -0
  336. package/dist/esm/generated/codama/instructions/createBorrower.js +178 -0
  337. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  338. package/dist/esm/generated/codama/instructions/createConfig.js +226 -0
  339. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -0
  340. package/dist/esm/generated/codama/instructions/createContract.js +271 -0
  341. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -0
  342. package/dist/esm/generated/codama/instructions/createContractThread.js +299 -0
  343. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  344. package/dist/esm/generated/codama/instructions/deleteBorrower.js +99 -0
  345. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -0
  346. package/dist/esm/generated/codama/instructions/deleteConfig.js +177 -0
  347. package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -0
  348. package/dist/esm/generated/codama/instructions/deleteContract.js +99 -0
  349. package/dist/esm/generated/codama/instructions/deleteContract.js.map +1 -0
  350. package/dist/esm/generated/codama/instructions/deleteContractThread.js +160 -0
  351. package/dist/esm/generated/codama/instructions/deleteContractThread.js.map +1 -0
  352. package/dist/esm/generated/codama/instructions/deleteRental.js +99 -0
  353. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -0
  354. package/dist/esm/generated/codama/instructions/index.js +33 -0
  355. package/dist/esm/generated/codama/instructions/index.js.map +1 -0
  356. package/dist/esm/generated/codama/instructions/invalidateRental.js +140 -0
  357. package/dist/esm/generated/codama/instructions/invalidateRental.js.map +1 -0
  358. package/dist/esm/generated/codama/instructions/processContract.js +203 -0
  359. package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
  360. package/dist/esm/generated/codama/instructions/releaseRental.js +138 -0
  361. package/dist/esm/generated/codama/instructions/releaseRental.js.map +1 -0
  362. package/dist/esm/generated/codama/instructions/reserveRental.js +313 -0
  363. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -0
  364. package/dist/esm/generated/codama/instructions/setDelegate.js +65 -0
  365. package/dist/esm/generated/codama/instructions/setDelegate.js.map +1 -0
  366. package/dist/esm/generated/codama/instructions/updateConfig.js +122 -0
  367. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -0
  368. package/dist/esm/generated/codama/instructions/updateContract.js +116 -0
  369. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -0
  370. package/dist/esm/generated/codama/instructions/updateContractThread.js +158 -0
  371. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  372. package/dist/esm/generated/codama/programs/index.js +9 -0
  373. package/dist/esm/generated/codama/programs/index.js.map +1 -0
  374. package/dist/esm/generated/codama/programs/srsly.js +140 -0
  375. package/dist/esm/generated/codama/programs/srsly.js.map +1 -0
  376. package/dist/esm/generated/codama/shared/index.js +80 -0
  377. package/dist/esm/generated/codama/shared/index.js.map +1 -0
  378. package/dist/esm/generated/codama/types/cargoStats.js +38 -0
  379. package/dist/esm/generated/codama/types/cargoStats.js.map +1 -0
  380. package/dist/esm/generated/codama/types/combatStats.js +44 -0
  381. package/dist/esm/generated/codama/types/combatStats.js.map +1 -0
  382. package/dist/esm/generated/codama/types/feesPaid.js +28 -0
  383. package/dist/esm/generated/codama/types/feesPaid.js.map +1 -0
  384. package/dist/esm/generated/codama/types/fleet.js +69 -0
  385. package/dist/esm/generated/codama/types/fleet.js.map +1 -0
  386. package/dist/esm/generated/codama/types/index.js +27 -0
  387. package/dist/esm/generated/codama/types/index.js.map +1 -0
  388. package/dist/esm/generated/codama/types/miscStats.js +42 -0
  389. package/dist/esm/generated/codama/types/miscStats.js.map +1 -0
  390. package/dist/esm/generated/codama/types/movementStats.js +34 -0
  391. package/dist/esm/generated/codama/types/movementStats.js.map +1 -0
  392. package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js +18 -0
  393. package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js.map +1 -0
  394. package/dist/esm/generated/codama/types/ownerPaid.js +26 -0
  395. package/dist/esm/generated/codama/types/ownerPaid.js.map +1 -0
  396. package/dist/esm/generated/codama/types/rentalAccepted.js +38 -0
  397. package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -0
  398. package/dist/esm/generated/codama/types/rentalCancelled.js +34 -0
  399. package/dist/esm/generated/codama/types/rentalCancelled.js.map +1 -0
  400. package/dist/esm/generated/codama/types/rentalClosed.js +32 -0
  401. package/dist/esm/generated/codama/types/rentalClosed.js.map +1 -0
  402. package/dist/esm/generated/codama/types/rentalSettled.js +30 -0
  403. package/dist/esm/generated/codama/types/rentalSettled.js.map +1 -0
  404. package/dist/esm/generated/codama/types/rentalStatus.js +26 -0
  405. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -0
  406. package/dist/esm/generated/codama/types/schedule.js +56 -0
  407. package/dist/esm/generated/codama/types/schedule.js.map +1 -0
  408. package/dist/esm/generated/codama/types/shipCounts.js +40 -0
  409. package/dist/esm/generated/codama/types/shipCounts.js.map +1 -0
  410. package/dist/esm/generated/codama/types/shipStats.js +29 -0
  411. package/dist/esm/generated/codama/types/shipStats.js.map +1 -0
  412. package/dist/esm/generated/codama/types/signal.js +53 -0
  413. package/dist/esm/generated/codama/types/signal.js.map +1 -0
  414. package/dist/esm/generated/codama/types/thread.js +57 -0
  415. package/dist/esm/generated/codama/types/thread.js.map +1 -0
  416. package/dist/esm/generated/codama/types/trigger.js +94 -0
  417. package/dist/esm/generated/codama/types/trigger.js.map +1 -0
  418. package/dist/esm/idl/srsly.json +4747 -0
  419. package/dist/esm/index.js +12 -0
  420. package/dist/esm/index.js.map +1 -0
  421. package/dist/esm/instructions/acceptRental.js +242 -0
  422. package/dist/esm/instructions/acceptRental.js.map +1 -0
  423. package/dist/esm/instructions/approveAffiliate.js +7 -0
  424. package/dist/esm/instructions/approveAffiliate.js.map +1 -0
  425. package/dist/esm/instructions/cancelRental.js +98 -0
  426. package/dist/esm/instructions/cancelRental.js.map +1 -0
  427. package/dist/esm/instructions/claimBorrower.js +85 -0
  428. package/dist/esm/instructions/claimBorrower.js.map +1 -0
  429. package/dist/esm/instructions/claimContract.js +51 -0
  430. package/dist/esm/instructions/claimContract.js.map +1 -0
  431. package/dist/esm/instructions/closeBorrower.js +48 -0
  432. package/dist/esm/instructions/closeBorrower.js.map +1 -0
  433. package/dist/esm/instructions/closeContract.js +199 -0
  434. package/dist/esm/instructions/closeContract.js.map +1 -0
  435. package/dist/esm/instructions/closeContractThread.js +58 -0
  436. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  437. package/dist/esm/instructions/closeRental.js +133 -0
  438. package/dist/esm/instructions/closeRental.js.map +1 -0
  439. package/dist/esm/instructions/createAffiliate.js +65 -0
  440. package/dist/esm/instructions/createAffiliate.js.map +1 -0
  441. package/dist/esm/instructions/createBorrower.js +41 -0
  442. package/dist/esm/instructions/createBorrower.js.map +1 -0
  443. package/dist/esm/instructions/createConfig.js +78 -0
  444. package/dist/esm/instructions/createConfig.js.map +1 -0
  445. package/dist/esm/instructions/createContract.js +143 -0
  446. package/dist/esm/instructions/createContract.js.map +1 -0
  447. package/dist/esm/instructions/createContractThread.js +95 -0
  448. package/dist/esm/instructions/createContractThread.js.map +1 -0
  449. package/dist/esm/instructions/deleteBorrower.js +54 -0
  450. package/dist/esm/instructions/deleteBorrower.js.map +1 -0
  451. package/dist/esm/instructions/deleteConfig.js +74 -0
  452. package/dist/esm/instructions/deleteConfig.js.map +1 -0
  453. package/dist/esm/instructions/deleteContract.js +73 -0
  454. package/dist/esm/instructions/deleteContract.js.map +1 -0
  455. package/dist/esm/instructions/deleteContractThread.js +59 -0
  456. package/dist/esm/instructions/deleteContractThread.js.map +1 -0
  457. package/dist/esm/instructions/deleteRental.js +70 -0
  458. package/dist/esm/instructions/deleteRental.js.map +1 -0
  459. package/dist/esm/instructions/index.js +33 -0
  460. package/dist/esm/instructions/index.js.map +1 -0
  461. package/dist/esm/instructions/invalidateRental.js +84 -0
  462. package/dist/esm/instructions/invalidateRental.js.map +1 -0
  463. package/dist/esm/instructions/releaseRental.js +84 -0
  464. package/dist/esm/instructions/releaseRental.js.map +1 -0
  465. package/dist/esm/instructions/removeAffiliate.js +7 -0
  466. package/dist/esm/instructions/removeAffiliate.js.map +1 -0
  467. package/dist/esm/instructions/reserveRental.js +171 -0
  468. package/dist/esm/instructions/reserveRental.js.map +1 -0
  469. package/dist/esm/instructions/setDelegate.js +64 -0
  470. package/dist/esm/instructions/setDelegate.js.map +1 -0
  471. package/dist/esm/instructions/updateAffiliate.js +52 -0
  472. package/dist/esm/instructions/updateAffiliate.js.map +1 -0
  473. package/dist/esm/instructions/updateConfig.js +91 -0
  474. package/dist/esm/instructions/updateConfig.js.map +1 -0
  475. package/dist/esm/instructions/updateContract.js +95 -0
  476. package/dist/esm/instructions/updateContract.js.map +1 -0
  477. package/dist/esm/instructions/updateContractThread.js +53 -0
  478. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  479. package/dist/esm/kit/index.js +28 -0
  480. package/dist/esm/kit/index.js.map +1 -0
  481. package/dist/esm/legacy/index.js +81 -0
  482. package/dist/esm/legacy/index.js.map +1 -0
  483. package/dist/esm/package.json +78 -0
  484. package/dist/esm/params/amount.js +120 -0
  485. package/dist/esm/params/amount.js.map +1 -0
  486. package/dist/esm/params/duration.js +115 -0
  487. package/dist/esm/params/duration.js.map +1 -0
  488. package/dist/esm/params/index.js +5 -0
  489. package/dist/esm/params/index.js.map +1 -0
  490. package/dist/esm/params/schedule.js +157 -0
  491. package/dist/esm/params/schedule.js.map +1 -0
  492. package/dist/esm/params/sol.js +73 -0
  493. package/dist/esm/params/sol.js.map +1 -0
  494. package/dist/esm/pda/constants.js +72 -0
  495. package/dist/esm/pda/constants.js.map +1 -0
  496. package/dist/esm/pda/index.js +26 -0
  497. package/dist/esm/pda/index.js.map +1 -0
  498. package/dist/esm/pda/lookupTable.js +55 -0
  499. package/dist/esm/pda/lookupTable.js.map +1 -0
  500. package/dist/esm/pda/sage.js +153 -0
  501. package/dist/esm/pda/sage.js.map +1 -0
  502. package/dist/esm/pda/slyvault.js +8 -0
  503. package/dist/esm/pda/slyvault.js.map +1 -0
  504. package/dist/esm/pda/srsly.js +122 -0
  505. package/dist/esm/pda/srsly.js.map +1 -0
  506. package/dist/esm/pda/thread.js +70 -0
  507. package/dist/esm/pda/thread.js.map +1 -0
  508. package/dist/esm/pda/token.js +60 -0
  509. package/dist/esm/pda/token.js.map +1 -0
  510. package/dist/esm/utils/addresses.js +125 -0
  511. package/dist/esm/utils/addresses.js.map +1 -0
  512. package/dist/esm/utils/bidMath.js +146 -0
  513. package/dist/esm/utils/bidMath.js.map +1 -0
  514. package/dist/esm/utils/config.js +200 -0
  515. package/dist/esm/utils/config.js.map +1 -0
  516. package/dist/esm/utils/discountAuth.js +73 -0
  517. package/dist/esm/utils/discountAuth.js.map +1 -0
  518. package/dist/esm/utils/index.js +27 -0
  519. package/dist/esm/utils/index.js.map +1 -0
  520. package/dist/esm/utils/instructionResult.js +72 -0
  521. package/dist/esm/utils/instructionResult.js.map +1 -0
  522. package/dist/esm/utils/instructions.js +71 -0
  523. package/dist/esm/utils/instructions.js.map +1 -0
  524. package/dist/esm/utils/lookupTable.js +137 -0
  525. package/dist/esm/utils/lookupTable.js.map +1 -0
  526. package/dist/esm/utils/rental.js +45 -0
  527. package/dist/esm/utils/rental.js.map +1 -0
  528. package/dist/esm/utils/rpc.js +52 -0
  529. package/dist/esm/utils/rpc.js.map +1 -0
  530. package/dist/esm/utils/signer.js +147 -0
  531. package/dist/esm/utils/signer.js.map +1 -0
  532. package/dist/esm/utils/web3js.js +72 -0
  533. package/dist/esm/utils/web3js.js.map +1 -0
  534. package/dist/esm/version.js +4 -0
  535. package/dist/esm/version.js.map +1 -0
  536. package/dist/idl/srsly.json +4747 -0
  537. package/dist/types/accounts/borrower.d.ts +58 -0
  538. package/dist/types/accounts/borrower.d.ts.map +1 -0
  539. package/dist/types/accounts/config.d.ts +50 -0
  540. package/dist/types/accounts/config.d.ts.map +1 -0
  541. package/dist/types/accounts/contract.d.ts +53 -0
  542. package/dist/types/accounts/contract.d.ts.map +1 -0
  543. package/dist/types/accounts/fleet.d.ts +24 -0
  544. package/dist/types/accounts/fleet.d.ts.map +1 -0
  545. package/dist/types/accounts/index.d.ts +8 -0
  546. package/dist/types/accounts/index.d.ts.map +1 -0
  547. package/dist/types/accounts/member.d.ts +9 -0
  548. package/dist/types/accounts/member.d.ts.map +1 -0
  549. package/dist/types/accounts/rental.d.ts +53 -0
  550. package/dist/types/accounts/rental.d.ts.map +1 -0
  551. package/dist/types/accounts/thread.d.ts +78 -0
  552. package/dist/types/accounts/thread.d.ts.map +1 -0
  553. package/dist/types/audit/audit.d.ts +10 -0
  554. package/dist/types/audit/audit.d.ts.map +1 -0
  555. package/dist/types/audit/events.d.ts +17 -0
  556. package/dist/types/audit/events.d.ts.map +1 -0
  557. package/dist/types/audit/index.d.ts +4 -0
  558. package/dist/types/audit/index.d.ts.map +1 -0
  559. package/dist/types/audit/types.d.ts +132 -0
  560. package/dist/types/audit/types.d.ts.map +1 -0
  561. package/dist/types/cost/constants.d.ts +31 -0
  562. package/dist/types/cost/constants.d.ts.map +1 -0
  563. package/dist/types/cost/estimate.d.ts +93 -0
  564. package/dist/types/cost/estimate.d.ts.map +1 -0
  565. package/dist/types/cost/estimate.test.d.ts +2 -0
  566. package/dist/types/cost/estimate.test.d.ts.map +1 -0
  567. package/dist/types/cost/index.d.ts +4 -0
  568. package/dist/types/cost/index.d.ts.map +1 -0
  569. package/dist/types/cost/sizes.d.ts +18 -0
  570. package/dist/types/cost/sizes.d.ts.map +1 -0
  571. package/dist/types/generated/codama/accounts/borrowerState.d.ts +82 -0
  572. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -0
  573. package/dist/types/generated/codama/accounts/configState.d.ts +159 -0
  574. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -0
  575. package/dist/types/generated/codama/accounts/contractState.d.ts +165 -0
  576. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -0
  577. package/dist/types/generated/codama/accounts/index.d.ts +12 -0
  578. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -0
  579. package/dist/types/generated/codama/accounts/rentalState.d.ts +125 -0
  580. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -0
  581. package/dist/types/generated/codama/errors/index.d.ts +9 -0
  582. package/dist/types/generated/codama/errors/index.d.ts.map +1 -0
  583. package/dist/types/generated/codama/errors/srsly.d.ts +208 -0
  584. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -0
  585. package/dist/types/generated/codama/index.d.ts +13 -0
  586. package/dist/types/generated/codama/index.d.ts.map +1 -0
  587. package/dist/types/generated/codama/instructions/acceptRental.d.ts +176 -0
  588. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -0
  589. package/dist/types/generated/codama/instructions/cancelRental.d.ts +107 -0
  590. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -0
  591. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +82 -0
  592. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -0
  593. package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
  594. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  595. package/dist/types/generated/codama/instructions/closeBorrower.d.ts +79 -0
  596. package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -0
  597. package/dist/types/generated/codama/instructions/closeContract.d.ts +130 -0
  598. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -0
  599. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +70 -0
  600. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  601. package/dist/types/generated/codama/instructions/closeRental.d.ts +149 -0
  602. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -0
  603. package/dist/types/generated/codama/instructions/createBorrower.d.ts +71 -0
  604. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  605. package/dist/types/generated/codama/instructions/createConfig.d.ts +100 -0
  606. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -0
  607. package/dist/types/generated/codama/instructions/createContract.d.ts +131 -0
  608. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -0
  609. package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
  610. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  611. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +58 -0
  612. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -0
  613. package/dist/types/generated/codama/instructions/deleteConfig.d.ts +75 -0
  614. package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -0
  615. package/dist/types/generated/codama/instructions/deleteContract.d.ts +58 -0
  616. package/dist/types/generated/codama/instructions/deleteContract.d.ts.map +1 -0
  617. package/dist/types/generated/codama/instructions/deleteContractThread.d.ts +70 -0
  618. package/dist/types/generated/codama/instructions/deleteContractThread.d.ts.map +1 -0
  619. package/dist/types/generated/codama/instructions/deleteRental.d.ts +61 -0
  620. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -0
  621. package/dist/types/generated/codama/instructions/index.d.ts +33 -0
  622. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -0
  623. package/dist/types/generated/codama/instructions/invalidateRental.d.ts +89 -0
  624. package/dist/types/generated/codama/instructions/invalidateRental.d.ts.map +1 -0
  625. package/dist/types/generated/codama/instructions/processContract.d.ts +100 -0
  626. package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
  627. package/dist/types/generated/codama/instructions/releaseRental.d.ts +98 -0
  628. package/dist/types/generated/codama/instructions/releaseRental.d.ts.map +1 -0
  629. package/dist/types/generated/codama/instructions/reserveRental.d.ts +159 -0
  630. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -0
  631. package/dist/types/generated/codama/instructions/setDelegate.d.ts +44 -0
  632. package/dist/types/generated/codama/instructions/setDelegate.d.ts.map +1 -0
  633. package/dist/types/generated/codama/instructions/updateConfig.d.ts +158 -0
  634. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -0
  635. package/dist/types/generated/codama/instructions/updateContract.d.ts +102 -0
  636. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -0
  637. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  638. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  639. package/dist/types/generated/codama/programs/index.d.ts +9 -0
  640. package/dist/types/generated/codama/programs/index.d.ts.map +1 -0
  641. package/dist/types/generated/codama/programs/srsly.d.ts +101 -0
  642. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -0
  643. package/dist/types/generated/codama/shared/index.d.ts +50 -0
  644. package/dist/types/generated/codama/shared/index.d.ts.map +1 -0
  645. package/dist/types/generated/codama/types/cargoStats.d.ts +25 -0
  646. package/dist/types/generated/codama/types/cargoStats.d.ts.map +1 -0
  647. package/dist/types/generated/codama/types/combatStats.d.ts +28 -0
  648. package/dist/types/generated/codama/types/combatStats.d.ts.map +1 -0
  649. package/dist/types/generated/codama/types/feesPaid.d.ts +28 -0
  650. package/dist/types/generated/codama/types/feesPaid.d.ts.map +1 -0
  651. package/dist/types/generated/codama/types/fleet.d.ts +66 -0
  652. package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
  653. package/dist/types/generated/codama/types/index.d.ts +27 -0
  654. package/dist/types/generated/codama/types/index.d.ts.map +1 -0
  655. package/dist/types/generated/codama/types/miscStats.d.ts +27 -0
  656. package/dist/types/generated/codama/types/miscStats.d.ts.map +1 -0
  657. package/dist/types/generated/codama/types/movementStats.d.ts +23 -0
  658. package/dist/types/generated/codama/types/movementStats.d.ts.map +1 -0
  659. package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts +17 -0
  660. package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts.map +1 -0
  661. package/dist/types/generated/codama/types/ownerPaid.d.ts +26 -0
  662. package/dist/types/generated/codama/types/ownerPaid.d.ts.map +1 -0
  663. package/dist/types/generated/codama/types/rentalAccepted.d.ts +38 -0
  664. package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -0
  665. package/dist/types/generated/codama/types/rentalCancelled.d.ts +34 -0
  666. package/dist/types/generated/codama/types/rentalCancelled.d.ts.map +1 -0
  667. package/dist/types/generated/codama/types/rentalClosed.d.ts +32 -0
  668. package/dist/types/generated/codama/types/rentalClosed.d.ts.map +1 -0
  669. package/dist/types/generated/codama/types/rentalSettled.d.ts +30 -0
  670. package/dist/types/generated/codama/types/rentalSettled.d.ts.map +1 -0
  671. package/dist/types/generated/codama/types/rentalStatus.d.ts +20 -0
  672. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -0
  673. package/dist/types/generated/codama/types/schedule.d.ts +46 -0
  674. package/dist/types/generated/codama/types/schedule.d.ts.map +1 -0
  675. package/dist/types/generated/codama/types/shipCounts.d.ts +26 -0
  676. package/dist/types/generated/codama/types/shipCounts.d.ts.map +1 -0
  677. package/dist/types/generated/codama/types/shipStats.d.ts +26 -0
  678. package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -0
  679. package/dist/types/generated/codama/types/signal.d.ts +60 -0
  680. package/dist/types/generated/codama/types/signal.d.ts.map +1 -0
  681. package/dist/types/generated/codama/types/thread.d.ts +54 -0
  682. package/dist/types/generated/codama/types/thread.d.ts.map +1 -0
  683. package/dist/types/generated/codama/types/trigger.d.ts +109 -0
  684. package/dist/types/generated/codama/types/trigger.d.ts.map +1 -0
  685. package/dist/types/index.d.ts +12 -0
  686. package/dist/types/index.d.ts.map +1 -0
  687. package/dist/types/instructions/acceptRental.d.ts +98 -0
  688. package/dist/types/instructions/acceptRental.d.ts.map +1 -0
  689. package/dist/types/instructions/approveAffiliate.d.ts +7 -0
  690. package/dist/types/instructions/approveAffiliate.d.ts.map +1 -0
  691. package/dist/types/instructions/cancelRental.d.ts +77 -0
  692. package/dist/types/instructions/cancelRental.d.ts.map +1 -0
  693. package/dist/types/instructions/claimBorrower.d.ts +74 -0
  694. package/dist/types/instructions/claimBorrower.d.ts.map +1 -0
  695. package/dist/types/instructions/claimContract.d.ts +38 -0
  696. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  697. package/dist/types/instructions/closeBorrower.d.ts +43 -0
  698. package/dist/types/instructions/closeBorrower.d.ts.map +1 -0
  699. package/dist/types/instructions/closeContract.d.ts +79 -0
  700. package/dist/types/instructions/closeContract.d.ts.map +1 -0
  701. package/dist/types/instructions/closeContractThread.d.ts +37 -0
  702. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  703. package/dist/types/instructions/closeRental.d.ts +52 -0
  704. package/dist/types/instructions/closeRental.d.ts.map +1 -0
  705. package/dist/types/instructions/createAffiliate.d.ts +61 -0
  706. package/dist/types/instructions/createAffiliate.d.ts.map +1 -0
  707. package/dist/types/instructions/createBorrower.d.ts +34 -0
  708. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  709. package/dist/types/instructions/createConfig.d.ts +70 -0
  710. package/dist/types/instructions/createConfig.d.ts.map +1 -0
  711. package/dist/types/instructions/createContract.d.ts +145 -0
  712. package/dist/types/instructions/createContract.d.ts.map +1 -0
  713. package/dist/types/instructions/createContractThread.d.ts +57 -0
  714. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  715. package/dist/types/instructions/deleteBorrower.d.ts +53 -0
  716. package/dist/types/instructions/deleteBorrower.d.ts.map +1 -0
  717. package/dist/types/instructions/deleteConfig.d.ts +55 -0
  718. package/dist/types/instructions/deleteConfig.d.ts.map +1 -0
  719. package/dist/types/instructions/deleteContract.d.ts +57 -0
  720. package/dist/types/instructions/deleteContract.d.ts.map +1 -0
  721. package/dist/types/instructions/deleteContractThread.d.ts +39 -0
  722. package/dist/types/instructions/deleteContractThread.d.ts.map +1 -0
  723. package/dist/types/instructions/deleteRental.d.ts +66 -0
  724. package/dist/types/instructions/deleteRental.d.ts.map +1 -0
  725. package/dist/types/instructions/index.d.ts +33 -0
  726. package/dist/types/instructions/index.d.ts.map +1 -0
  727. package/dist/types/instructions/invalidateRental.d.ts +70 -0
  728. package/dist/types/instructions/invalidateRental.d.ts.map +1 -0
  729. package/dist/types/instructions/releaseRental.d.ts +70 -0
  730. package/dist/types/instructions/releaseRental.d.ts.map +1 -0
  731. package/dist/types/instructions/removeAffiliate.d.ts +7 -0
  732. package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
  733. package/dist/types/instructions/reserveRental.d.ts +89 -0
  734. package/dist/types/instructions/reserveRental.d.ts.map +1 -0
  735. package/dist/types/instructions/setDelegate.d.ts +60 -0
  736. package/dist/types/instructions/setDelegate.d.ts.map +1 -0
  737. package/dist/types/instructions/updateAffiliate.d.ts +62 -0
  738. package/dist/types/instructions/updateAffiliate.d.ts.map +1 -0
  739. package/dist/types/instructions/updateConfig.d.ts +128 -0
  740. package/dist/types/instructions/updateConfig.d.ts.map +1 -0
  741. package/dist/types/instructions/updateContract.d.ts +114 -0
  742. package/dist/types/instructions/updateContract.d.ts.map +1 -0
  743. package/dist/types/instructions/updateContractThread.d.ts +53 -0
  744. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  745. package/dist/types/kit/index.d.ts +27 -0
  746. package/dist/types/kit/index.d.ts.map +1 -0
  747. package/dist/types/legacy/index.d.ts +62 -0
  748. package/dist/types/legacy/index.d.ts.map +1 -0
  749. package/dist/types/params/amount.d.ts +75 -0
  750. package/dist/types/params/amount.d.ts.map +1 -0
  751. package/dist/types/params/duration.d.ts +65 -0
  752. package/dist/types/params/duration.d.ts.map +1 -0
  753. package/dist/types/params/index.d.ts +5 -0
  754. package/dist/types/params/index.d.ts.map +1 -0
  755. package/dist/types/params/schedule.d.ts +74 -0
  756. package/dist/types/params/schedule.d.ts.map +1 -0
  757. package/dist/types/params/sol.d.ts +39 -0
  758. package/dist/types/params/sol.d.ts.map +1 -0
  759. package/dist/types/pda/constants.d.ts +56 -0
  760. package/dist/types/pda/constants.d.ts.map +1 -0
  761. package/dist/types/pda/index.d.ts +20 -0
  762. package/dist/types/pda/index.d.ts.map +1 -0
  763. package/dist/types/pda/lookupTable.d.ts +30 -0
  764. package/dist/types/pda/lookupTable.d.ts.map +1 -0
  765. package/dist/types/pda/sage.d.ts +70 -0
  766. package/dist/types/pda/sage.d.ts.map +1 -0
  767. package/dist/types/pda/slyvault.d.ts +8 -0
  768. package/dist/types/pda/slyvault.d.ts.map +1 -0
  769. package/dist/types/pda/srsly.d.ts +53 -0
  770. package/dist/types/pda/srsly.d.ts.map +1 -0
  771. package/dist/types/pda/thread.d.ts +31 -0
  772. package/dist/types/pda/thread.d.ts.map +1 -0
  773. package/dist/types/pda/token.d.ts +30 -0
  774. package/dist/types/pda/token.d.ts.map +1 -0
  775. package/dist/types/utils/addresses.d.ts +97 -0
  776. package/dist/types/utils/addresses.d.ts.map +1 -0
  777. package/dist/types/utils/bidMath.d.ts +89 -0
  778. package/dist/types/utils/bidMath.d.ts.map +1 -0
  779. package/dist/types/utils/config.d.ts +213 -0
  780. package/dist/types/utils/config.d.ts.map +1 -0
  781. package/dist/types/utils/discountAuth.d.ts +57 -0
  782. package/dist/types/utils/discountAuth.d.ts.map +1 -0
  783. package/dist/types/utils/index.d.ts +16 -0
  784. package/dist/types/utils/index.d.ts.map +1 -0
  785. package/dist/types/utils/instructionResult.d.ts +57 -0
  786. package/dist/types/utils/instructionResult.d.ts.map +1 -0
  787. package/dist/types/utils/instructions.d.ts +50 -0
  788. package/dist/types/utils/instructions.d.ts.map +1 -0
  789. package/dist/types/utils/lookupTable.d.ts +48 -0
  790. package/dist/types/utils/lookupTable.d.ts.map +1 -0
  791. package/dist/types/utils/rental.d.ts +22 -0
  792. package/dist/types/utils/rental.d.ts.map +1 -0
  793. package/dist/types/utils/rpc.d.ts +37 -0
  794. package/dist/types/utils/rpc.d.ts.map +1 -0
  795. package/dist/types/utils/signer.d.ts +103 -0
  796. package/dist/types/utils/signer.d.ts.map +1 -0
  797. package/dist/types/utils/web3js.d.ts +85 -0
  798. package/dist/types/utils/web3js.d.ts.map +1 -0
  799. package/dist/types/version.d.ts +2 -0
  800. package/dist/types/version.d.ts.map +1 -0
  801. package/package.json +111 -0
@@ -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,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,SAAS;CAClB,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,CAAC,kDAAkD,OAAO,QAAQ,EAAE,CAAC,CAAC;IACvF,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;YAChE,oBAAoB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACrE,SAAS,OAAO,GAAG,CACtB,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,73 @@
1
+ /**
2
+ * @purpose SOL parameter conversion utilities
3
+ *
4
+ * Converts user-friendly SOL amounts to lamports (smallest unit) for use with Solana programs.
5
+ * 1 SOL = 1,000,000,000 lamports (9 decimal places)
6
+ */
7
+ /**
8
+ * Lamports per SOL (9 decimal places)
9
+ */
10
+ const LAMPORTS_PER_SOL = 1_000_000_000;
11
+ const MAX_U64 = 18446744073709551615n;
12
+ /**
13
+ * Convert SOL parameter to lamports (smallest unit)
14
+ *
15
+ * @param amount - Amount in any supported format
16
+ * @returns Amount in lamports as bigint (u64 for Solana program)
17
+ * @throws Error if amount is invalid, negative, or non-integer lamports
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * convertSol(10_000_000) // 10_000_000n lamports (0.01 SOL)
22
+ * convertSol({ sol: 0.1 }) // 100_000_000n lamports (0.1 SOL)
23
+ * convertSol({ lamports: 10_000_000 }) // 10_000_000n lamports
24
+ * ```
25
+ */
26
+ export function convertSol(amount) {
27
+ // Bare number / bigint — treat as lamports.
28
+ if (typeof amount === 'number' || typeof amount === 'bigint') {
29
+ return toLamportsBigInt(amount, 'lamports');
30
+ }
31
+ if (typeof amount !== 'object' || amount === null) {
32
+ throw new Error(`Invalid SOL amount type. Expected number, bigint, or object. Got: ${typeof amount}`);
33
+ }
34
+ if ('sol' in amount && amount.sol !== undefined) {
35
+ if (amount.sol < 0) {
36
+ throw new Error(`SOL amount must be non-negative, got ${amount.sol}`);
37
+ }
38
+ return toLamportsBigInt(amount.sol * LAMPORTS_PER_SOL, 'sol');
39
+ }
40
+ if ('lamports' in amount && amount.lamports !== undefined) {
41
+ return toLamportsBigInt(amount.lamports, 'lamports');
42
+ }
43
+ throw new Error(`Invalid SOL amount format. Expected number, bigint, { sol: number }, or { lamports: number | bigint }. ` +
44
+ `Got: ${JSON.stringify(amount)}`);
45
+ }
46
+ function toLamportsBigInt(raw, unit) {
47
+ if (typeof raw === 'bigint') {
48
+ if (raw < 0n)
49
+ throw new Error(`Amount must be non-negative, got ${raw}`);
50
+ if (raw > MAX_U64)
51
+ throw new Error(`Amount too large. Max u64: ${MAX_U64}, got: ${raw}`);
52
+ return raw;
53
+ }
54
+ if (!Number.isFinite(raw)) {
55
+ throw new Error(`Amount must be a finite number, got ${raw}`);
56
+ }
57
+ if (raw < 0) {
58
+ throw new Error(`Amount must be non-negative, got ${raw}`);
59
+ }
60
+ // Bare numbers + { lamports } must be integers (lamports are atomic).
61
+ // The `{ sol: ... }` path arrives here already multiplied by 1e9 — round
62
+ // down to absorb floating-point drift like 0.1 * 1e9 → 99999999.99999999.
63
+ const value = unit === 'sol' ? Math.round(raw) : raw;
64
+ if (!Number.isInteger(value)) {
65
+ throw new Error(`Lamports must be a whole number, got ${raw}. ` +
66
+ `For sub-lamport precision use \`{ sol: ${raw / LAMPORTS_PER_SOL} }\` instead.`);
67
+ }
68
+ const big = BigInt(value);
69
+ if (big > MAX_U64)
70
+ throw new Error(`Amount too large. Max u64: ${MAX_U64}, got: ${big}`);
71
+ return big;
72
+ }
73
+ //# sourceMappingURL=sol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sol.js","sourceRoot":"","sources":["../../../src/params/sol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH;;GAEG;AACH,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,MAAM,OAAO,GAAG,qBAA2B,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,MAAgB;IACzC,4CAA4C;IAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7D,OAAO,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,qEAAqE,OAAO,MAAM,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChD,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,GAAG,GAAG,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,UAAU,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yGAAyG;QACvG,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACnC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAoB,EAAE,IAAwB;IACtE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,GAAG,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;QACzE,IAAI,GAAG,GAAG,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC;QACzF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,wCAAwC,GAAG,IAAI;YAC7C,0CAA0C,GAAG,GAAG,gBAAgB,eAAe,CAClF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,GAAG,GAAG,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,72 @@
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
+ export const ACTIVE_RENTAL_SEED = 'active';
38
+ export const QUEUED_RENTAL_SEED = 'queued';
39
+ /**
40
+ * Antegen program addresses and seed constants for PDA derivation
41
+ */
42
+ export const ANTEGEN_THREAD_PROGRAM = 'AgTv5w1UvUb6zeqkThwMrztGu9hpepBu8YLghuR4dpSx';
43
+ export const ANTEGEN_FIBER_PROGRAM = 'AgFv5afjW9DmSPkiEvJ1er5bAAmRUqaBeTB6Cr8e1hKx';
44
+ export const THREAD_SEED = 'thread';
45
+ export const THREAD_FIBER_SEED = 'thread_fiber';
46
+ /**
47
+ * Type guard to check if a value is a valid faction name
48
+ */
49
+ export function isValidFactionName(faction) {
50
+ return faction === 'mud' || faction === 'oni' || faction === 'ustur';
51
+ }
52
+ /**
53
+ * Get faction name from numeric faction ID
54
+ */
55
+ export function getFactionName(factionId) {
56
+ const name = FACTION_MAPPING[factionId];
57
+ if (!name) {
58
+ throw new Error(`Invalid faction ID: ${factionId}. Expected 1 (mud), 2 (oni), or 3 (ustur)`);
59
+ }
60
+ return name;
61
+ }
62
+ /**
63
+ * Get faction coordinates by name
64
+ */
65
+ export function getFactionCoordinates(faction) {
66
+ const coords = FACTION_COORDINATES[faction.toLowerCase()];
67
+ if (!coords) {
68
+ throw new Error(`Invalid faction: ${faction}. Expected 'mud', 'oni', or 'ustur'`);
69
+ }
70
+ return coords;
71
+ }
72
+ //# 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;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,8CAA8C,CAAC;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAAG,8CAA8C,CAAC;AACpF,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEhD;;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,CAAC,oBAAoB,OAAO,qCAAqC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,26 @@
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
+ // Export constants
13
+ 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, ACTIVE_RENTAL_SEED, QUEUED_RENTAL_SEED, THREAD_SEED, ANTEGEN_THREAD_PROGRAM, ANTEGEN_FIBER_PROGRAM, isValidFactionName, getFactionName, getFactionCoordinates, } from './constants';
14
+ // Export SRSLY program PDAs
15
+ export { deriveContract, deriveActiveRental, deriveQueuedRental, deriveRentalAuthority, deriveBorrowerState, deriveConfig, } from './srsly';
16
+ // Export SAGE program PDAs
17
+ export { deriveProfileFaction, deriveSagePlayerProfile, deriveStarbase, deriveStarbasePlayer, deriveGameAccounts, } from './sage';
18
+ // Export Antegen thread PDAs
19
+ export { deriveContractThread, deriveFiber } from './thread';
20
+ // Export token account utilities
21
+ export { deriveAssociatedTokenAccount } from './token';
22
+ // Export Slyvault PDAs
23
+ export { deriveVault } from './slyvault';
24
+ // Export Address Lookup Table utilities
25
+ export { deriveLookupTable } from './lookupTable';
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pda/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;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,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,4BAA4B;AAC5B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,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,oBAAoB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE7D,iCAAiC;AACjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD,uBAAuB;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,wCAAwC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Address Lookup Table (ALT) derivation utilities
3
+ * @module pda/lookupTable
4
+ */
5
+ import { address, getProgramDerivedAddress, getAddressEncoder } from '@solana/kit';
6
+ import { getSignerAddress } from '../utils/signer';
7
+ /**
8
+ * Address Lookup Table program address
9
+ */
10
+ const ALT_PROGRAM = 'AddressLookupTab1e1111111111111111111111111';
11
+ const addressEncoder = getAddressEncoder();
12
+ /**
13
+ * Convert a BigInt or number slot to little-endian bytes (u64)
14
+ */
15
+ function slotToBytes(slot) {
16
+ const buffer = new ArrayBuffer(8);
17
+ const view = new DataView(buffer);
18
+ view.setBigUint64(0, BigInt(slot), true); // little-endian
19
+ return new Uint8Array(buffer);
20
+ }
21
+ /**
22
+ * Derive an Address Lookup Table (ALT) address
23
+ *
24
+ * ALT addresses are deterministically derived from an authority and a recent slot.
25
+ * The slot is typically obtained from getSlot() RPC call.
26
+ *
27
+ * @param authority - The authority that will own the lookup table
28
+ * @param recentSlot - A recent slot number (from getSlot RPC)
29
+ * @param altProgramAddress - Optional ALT program address (defaults to mainnet)
30
+ * @returns The derived lookup table address
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * import { deriveLookupTable } from './lookupTable';
35
+ *
36
+ * // Get recent slot from RPC
37
+ * const slot = await rpc.getSlot().send();
38
+ *
39
+ * // Derive the lookup table address
40
+ * const lookupTable = await deriveLookupTable(authorityAddress, slot);
41
+ * ```
42
+ */
43
+ export async function deriveLookupTable(authority, recentSlot, altProgramAddress) {
44
+ const authorityAddress = getSignerAddress(authority);
45
+ const altProgram = altProgramAddress ? getSignerAddress(altProgramAddress) : address(ALT_PROGRAM);
46
+ // Encode authority and slot to bytes
47
+ const authorityBytes = addressEncoder.encode(authorityAddress);
48
+ const slotBytes = slotToBytes(recentSlot);
49
+ const [pda] = await getProgramDerivedAddress({
50
+ programAddress: altProgram,
51
+ seeds: [authorityBytes, slotBytes],
52
+ });
53
+ return pda;
54
+ }
55
+ //# sourceMappingURL=lookupTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookupTable.js","sourceRoot":"","sources":["../../../src/pda/lookupTable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,GAAG,6CAA6C,CAAC;AAElE,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;GAEG;AACH,SAAS,WAAW,CAAC,IAAqB;IACxC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB;IAC1D,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAA0B,EAC1B,UAA2B,EAC3B,iBAAmC;IAEnC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAElG,qCAAqC;IACrC,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAE1C,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,UAAU;QAC1B,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC;KACnC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,153 @@
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 { getSignerAddress } from '../utils/signer';
8
+ import { PROFILE_FACTION_SEED, SAGE_PLAYER_PROFILE_SEED, STARBASE_SEED, STARBASE_PLAYER_SEED, getFactionCoordinates, getFactionName, } from './constants';
9
+ /**
10
+ * Address encoder for PDA seeds
11
+ */
12
+ const addressEncoder = getAddressEncoder();
13
+ /**
14
+ * Text encoder for string seeds
15
+ */
16
+ const textEncoder = new TextEncoder();
17
+ /**
18
+ * Derive the profile faction PDA from a profile address
19
+ * @param profile - The player profile public key
20
+ * @param programAddress - Optional Profile Faction program address (defaults to network-specific address)
21
+ * @returns The derived profile faction PDA
22
+ */
23
+ export async function deriveProfileFaction(profile, programAddress) {
24
+ const profileAddress = getSignerAddress(profile);
25
+ const program = programAddress
26
+ ? getSignerAddress(programAddress)
27
+ : address(getAddresses().profileFaction);
28
+ // Encode seeds to bytes
29
+ const profileFactionSeedBytes = textEncoder.encode(PROFILE_FACTION_SEED);
30
+ const profileBytes = addressEncoder.encode(profileAddress);
31
+ const [pda] = await getProgramDerivedAddress({
32
+ programAddress: program,
33
+ seeds: [profileFactionSeedBytes, profileBytes],
34
+ });
35
+ return pda;
36
+ }
37
+ /**
38
+ * Derive the SAGE player profile PDA
39
+ * @param profile - The player profile public key
40
+ * @param gameId - The game ID public key
41
+ * @param programAddress - Optional SAGE program address (defaults to network-specific address)
42
+ * @returns The derived SAGE player profile PDA
43
+ */
44
+ export async function deriveSagePlayerProfile(profile, gameId, programAddress) {
45
+ const profileAddress = getSignerAddress(profile);
46
+ const gameIdAddress = getSignerAddress(gameId);
47
+ const program = programAddress ? getSignerAddress(programAddress) : address(getAddresses().sage);
48
+ // Encode seeds to bytes
49
+ const sagePlayerProfileSeedBytes = textEncoder.encode(SAGE_PLAYER_PROFILE_SEED);
50
+ const profileBytes = addressEncoder.encode(profileAddress);
51
+ const gameIdBytes = addressEncoder.encode(gameIdAddress);
52
+ const [pda] = await getProgramDerivedAddress({
53
+ programAddress: program,
54
+ seeds: [sagePlayerProfileSeedBytes, profileBytes, gameIdBytes],
55
+ });
56
+ return pda;
57
+ }
58
+ /**
59
+ * Derive the starbase PDA from faction and game ID
60
+ * @param faction - Faction name ('mud', 'oni', 'ustur') or faction ID (1, 2, 3)
61
+ * @param gameId - The game ID public key
62
+ * @param programAddress - Optional SAGE program address (defaults to network-specific address)
63
+ * @returns The derived starbase PDA
64
+ */
65
+ export async function deriveStarbase(faction, gameId, programAddress) {
66
+ const factionName = typeof faction === 'number' ? getFactionName(faction) : faction;
67
+ const coords = getFactionCoordinates(factionName);
68
+ const gameIdAddress = getSignerAddress(gameId);
69
+ const program = programAddress ? getSignerAddress(programAddress) : address(getAddresses().sage);
70
+ // Encode string and address seeds to bytes
71
+ const starbaseSeedBytes = textEncoder.encode(STARBASE_SEED);
72
+ const gameIdBytes = addressEncoder.encode(gameIdAddress);
73
+ // Convert coordinates to little-endian bytes
74
+ const xBuffer = new ArrayBuffer(8);
75
+ const xView = new DataView(xBuffer);
76
+ xView.setBigInt64(0, BigInt(coords.x), true); // true = little endian
77
+ const yBuffer = new ArrayBuffer(8);
78
+ const yView = new DataView(yBuffer);
79
+ yView.setBigInt64(0, BigInt(coords.y), true); // true = little endian
80
+ const [pda] = await getProgramDerivedAddress({
81
+ programAddress: program,
82
+ seeds: [starbaseSeedBytes, gameIdBytes, new Uint8Array(xBuffer), new Uint8Array(yBuffer)],
83
+ });
84
+ return pda;
85
+ }
86
+ /**
87
+ * Derive the starbase player PDA
88
+ * @param sagePlayerProfile - The SAGE player profile public key
89
+ * @param starbase - The starbase public key
90
+ * @param starbaseSeqId - Optional starbase sequence ID (defaults to 0)
91
+ * @param programAddress - Optional SAGE program address (defaults to network-specific address)
92
+ * @returns The derived starbase player PDA
93
+ */
94
+ export async function deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId = 0, programAddress) {
95
+ const profileAddress = getSignerAddress(sagePlayerProfile);
96
+ const starbaseAddress = getSignerAddress(starbase);
97
+ const program = programAddress ? getSignerAddress(programAddress) : address(getAddresses().sage);
98
+ // Encode string and address seeds to bytes
99
+ const starbasePlayerSeedBytes = textEncoder.encode(STARBASE_PLAYER_SEED);
100
+ const profileBytes = addressEncoder.encode(profileAddress);
101
+ const starbaseBytes = addressEncoder.encode(starbaseAddress);
102
+ // Convert sequence ID to little-endian u16 bytes
103
+ const seqBuffer = new ArrayBuffer(2);
104
+ const seqView = new DataView(seqBuffer);
105
+ seqView.setUint16(0, starbaseSeqId, true); // true = little endian
106
+ const [pda] = await getProgramDerivedAddress({
107
+ programAddress: program,
108
+ seeds: [starbasePlayerSeedBytes, profileBytes, starbaseBytes, new Uint8Array(seqBuffer)],
109
+ });
110
+ return pda;
111
+ }
112
+ /**
113
+ * Derive all SAGE game accounts at once (convenience function)
114
+ *
115
+ * This is a helper that derives all three SAGE-related accounts needed for most operations:
116
+ * - Profile faction (from Profile Faction program)
117
+ * - SAGE player profile (from SAGE program)
118
+ * - Starbase (from SAGE program using faction coordinates)
119
+ * - Starbase player (from SAGE program)
120
+ *
121
+ * @param profile - The player profile public key
122
+ * @param faction - Faction name ('mud', 'oni', 'ustur') or faction ID (1, 2, 3)
123
+ * @param gameId - The game ID public key
124
+ * @param starbaseSeqId - Optional starbase sequence ID (defaults to 0)
125
+ * @returns Object containing all derived SAGE accounts
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const accounts = await deriveGameAccounts(
130
+ * playerProfile,
131
+ * 'mud',
132
+ * gameId
133
+ * );
134
+ * // Returns: { profileFaction, sagePlayerProfile, starbase, starbasePlayer }
135
+ * ```
136
+ */
137
+ export async function deriveGameAccounts(profile, faction, gameId, starbaseSeqId = 0) {
138
+ // Derive all accounts
139
+ const [profileFaction, sagePlayerProfile, starbase] = await Promise.all([
140
+ deriveProfileFaction(profile),
141
+ deriveSagePlayerProfile(profile, gameId),
142
+ deriveStarbase(faction, gameId),
143
+ ]);
144
+ // Derive starbase player (depends on sagePlayerProfile and starbase)
145
+ const starbasePlayer = await deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId);
146
+ return {
147
+ profileFaction,
148
+ sagePlayerProfile,
149
+ starbase,
150
+ starbasePlayer,
151
+ };
152
+ }
153
+ //# 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,8 @@
1
+ /**
2
+ * Slyvault PDA derivation utilities
3
+ * @module pda/slyvault
4
+ *
5
+ * Re-exports from @sly-rentals/vault for convenience
6
+ */
7
+ export { deriveVault } from '@sly-rentals/vault';
8
+ //# sourceMappingURL=slyvault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slyvault.js","sourceRoot":"","sources":["../../../src/pda/slyvault.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}