@wuwei-labs/srsly 2.0.0-beta.3 → 2.0.0-beta.32

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 (414) hide show
  1. package/README.md +322 -197
  2. package/dist/cjs/codama/accounts/config.js +88 -0
  3. package/dist/cjs/codama/accounts/config.js.map +1 -0
  4. package/dist/cjs/codama/{devnet/accounts → accounts}/contractState.js +2 -7
  5. package/dist/cjs/codama/accounts/contractState.js.map +1 -0
  6. package/dist/cjs/codama/{devnet/accounts → accounts}/index.js +1 -1
  7. package/dist/cjs/codama/accounts/index.js.map +1 -0
  8. package/dist/cjs/codama/{devnet/accounts → accounts}/rentalState.js +3 -1
  9. package/dist/cjs/codama/accounts/rentalState.js.map +1 -0
  10. package/dist/cjs/codama/accounts/thread.js.map +1 -0
  11. package/dist/cjs/codama/errors/index.js.map +1 -0
  12. package/dist/cjs/codama/{devnet/errors → errors}/srsly.js +33 -3
  13. package/dist/cjs/codama/errors/srsly.js.map +1 -0
  14. package/dist/cjs/codama/index.js.map +1 -0
  15. package/dist/cjs/codama/{devnet/instructions → instructions}/acceptRental.js +30 -39
  16. package/dist/cjs/codama/instructions/acceptRental.js.map +1 -0
  17. package/dist/cjs/codama/instructions/cancelContract.js +131 -0
  18. package/dist/cjs/codama/instructions/cancelContract.js.map +1 -0
  19. package/dist/cjs/codama/{devnet/instructions → instructions}/cancelRental.js +10 -33
  20. package/dist/cjs/codama/instructions/cancelRental.js.map +1 -0
  21. package/dist/cjs/codama/{devnet/instructions → instructions}/closeContract.js +22 -36
  22. package/dist/cjs/codama/instructions/closeContract.js.map +1 -0
  23. package/dist/cjs/codama/{devnet/instructions → instructions}/closeRental.js +19 -19
  24. package/dist/cjs/codama/instructions/closeRental.js.map +1 -0
  25. package/dist/cjs/codama/{devnet/instructions → instructions}/createContract.js +13 -16
  26. package/dist/cjs/codama/instructions/createContract.js.map +1 -0
  27. package/dist/cjs/codama/{devnet/instructions → instructions}/index.js +3 -1
  28. package/dist/cjs/codama/instructions/index.js.map +1 -0
  29. package/dist/cjs/codama/instructions/initializeConfig.js +131 -0
  30. package/dist/cjs/codama/instructions/initializeConfig.js.map +1 -0
  31. package/dist/cjs/codama/{devnet/instructions → instructions}/payRental.js +32 -23
  32. package/dist/cjs/codama/instructions/payRental.js.map +1 -0
  33. package/dist/cjs/codama/{devnet/instructions → instructions}/resetRental.js +6 -10
  34. package/dist/cjs/codama/instructions/resetRental.js.map +1 -0
  35. package/dist/cjs/codama/instructions/updateConfig.js +145 -0
  36. package/dist/cjs/codama/instructions/updateConfig.js.map +1 -0
  37. package/dist/cjs/codama/programs/index.js.map +1 -0
  38. package/dist/cjs/codama/{devnet/programs → programs}/srsly.js +22 -14
  39. package/dist/cjs/codama/programs/srsly.js.map +1 -0
  40. package/dist/cjs/codama/shared/index.js.map +1 -0
  41. package/dist/cjs/codama/types/clockData.js.map +1 -0
  42. package/dist/cjs/codama/types/equality.js.map +1 -0
  43. package/dist/cjs/codama/types/execContext.js.map +1 -0
  44. package/dist/cjs/codama/types/index.js.map +1 -0
  45. package/dist/cjs/codama/types/paymentFrequency.js.map +1 -0
  46. package/dist/cjs/codama/types/serializableAccount.js.map +1 -0
  47. package/dist/cjs/codama/types/serializableInstruction.js.map +1 -0
  48. package/dist/cjs/codama/types/threadResponse.js.map +1 -0
  49. package/dist/cjs/codama/types/trigger.js.map +1 -0
  50. package/dist/cjs/codama/types/triggerContext.js.map +1 -0
  51. package/dist/cjs/contract/cancel.js +77 -0
  52. package/dist/cjs/contract/cancel.js.map +1 -0
  53. package/dist/cjs/contract/close.js +74 -31
  54. package/dist/cjs/contract/close.js.map +1 -1
  55. package/dist/cjs/contract/create.js +79 -35
  56. package/dist/cjs/contract/create.js.map +1 -1
  57. package/dist/cjs/contract/index.js +1 -0
  58. package/dist/cjs/contract/index.js.map +1 -1
  59. package/dist/cjs/index.js +25 -2
  60. package/dist/cjs/index.js.map +1 -1
  61. package/dist/cjs/package.json +53 -0
  62. package/dist/cjs/rental/accept.js +76 -42
  63. package/dist/cjs/rental/accept.js.map +1 -1
  64. package/dist/cjs/rental/cancel.js +40 -28
  65. package/dist/cjs/rental/cancel.js.map +1 -1
  66. package/dist/cjs/rental/close.js +42 -30
  67. package/dist/cjs/rental/close.js.map +1 -1
  68. package/dist/cjs/rental/reset.js +50 -43
  69. package/dist/cjs/rental/reset.js.map +1 -1
  70. package/dist/cjs/types/paymentFrequency.js +58 -0
  71. package/dist/cjs/types/paymentFrequency.js.map +1 -0
  72. package/dist/cjs/utils/config.js +216 -0
  73. package/dist/cjs/utils/config.js.map +1 -0
  74. package/dist/cjs/utils/constants.js +55 -27
  75. package/dist/cjs/utils/constants.js.map +1 -1
  76. package/dist/cjs/utils/duration.js +77 -0
  77. package/dist/cjs/utils/duration.js.map +1 -0
  78. package/dist/cjs/utils/index.js +4 -0
  79. package/dist/cjs/utils/index.js.map +1 -1
  80. package/dist/cjs/utils/instruction-converter.js +66 -0
  81. package/dist/cjs/utils/instruction-converter.js.map +1 -0
  82. package/dist/cjs/utils/paymentFrequency.js +60 -0
  83. package/dist/cjs/utils/paymentFrequency.js.map +1 -0
  84. package/dist/cjs/utils/profiles.js +38 -18
  85. package/dist/cjs/utils/profiles.js.map +1 -1
  86. package/dist/cjs/utils/types.js +6 -0
  87. package/dist/cjs/utils/types.js.map +1 -0
  88. package/dist/esm/codama/accounts/config.js +76 -0
  89. package/dist/esm/codama/accounts/config.js.map +1 -0
  90. package/dist/esm/codama/{devnet/accounts → accounts}/contractState.js +3 -7
  91. package/dist/esm/codama/accounts/contractState.js.map +1 -0
  92. package/dist/esm/codama/{devnet/accounts → accounts}/index.js +1 -1
  93. package/dist/esm/codama/accounts/index.js.map +1 -0
  94. package/dist/esm/codama/{devnet/accounts → accounts}/rentalState.js +3 -1
  95. package/dist/esm/codama/accounts/rentalState.js.map +1 -0
  96. package/dist/esm/codama/accounts/thread.js.map +1 -0
  97. package/dist/esm/codama/errors/index.js.map +1 -0
  98. package/dist/esm/codama/{devnet/errors → errors}/srsly.js +32 -2
  99. package/dist/esm/codama/errors/srsly.js.map +1 -0
  100. package/dist/esm/codama/index.js.map +1 -0
  101. package/dist/esm/codama/{devnet/instructions → instructions}/acceptRental.js +30 -39
  102. package/dist/esm/codama/instructions/acceptRental.js.map +1 -0
  103. package/dist/esm/codama/instructions/cancelContract.js +121 -0
  104. package/dist/esm/codama/instructions/cancelContract.js.map +1 -0
  105. package/dist/esm/codama/{devnet/instructions → instructions}/cancelRental.js +10 -33
  106. package/dist/esm/codama/instructions/cancelRental.js.map +1 -0
  107. package/dist/esm/codama/{devnet/instructions → instructions}/closeContract.js +24 -38
  108. package/dist/esm/codama/instructions/closeContract.js.map +1 -0
  109. package/dist/esm/codama/{devnet/instructions → instructions}/closeRental.js +19 -19
  110. package/dist/esm/codama/instructions/closeRental.js.map +1 -0
  111. package/dist/esm/codama/{devnet/instructions → instructions}/createContract.js +13 -16
  112. package/dist/esm/codama/instructions/createContract.js.map +1 -0
  113. package/dist/esm/codama/{devnet/instructions → instructions}/index.js +3 -1
  114. package/dist/esm/codama/instructions/index.js.map +1 -0
  115. package/dist/esm/codama/instructions/initializeConfig.js +121 -0
  116. package/dist/esm/codama/instructions/initializeConfig.js.map +1 -0
  117. package/dist/esm/codama/{devnet/instructions → instructions}/payRental.js +34 -25
  118. package/dist/esm/codama/instructions/payRental.js.map +1 -0
  119. package/dist/esm/codama/{devnet/instructions → instructions}/resetRental.js +6 -10
  120. package/dist/esm/codama/instructions/resetRental.js.map +1 -0
  121. package/dist/esm/codama/instructions/updateConfig.js +135 -0
  122. package/dist/esm/codama/instructions/updateConfig.js.map +1 -0
  123. package/dist/esm/codama/programs/index.js.map +1 -0
  124. package/dist/esm/codama/{devnet/programs → programs}/srsly.js +22 -14
  125. package/dist/esm/codama/programs/srsly.js.map +1 -0
  126. package/dist/esm/codama/shared/index.js.map +1 -0
  127. package/dist/esm/codama/types/clockData.js.map +1 -0
  128. package/dist/esm/codama/types/equality.js.map +1 -0
  129. package/dist/esm/codama/types/execContext.js.map +1 -0
  130. package/dist/esm/codama/types/index.js.map +1 -0
  131. package/dist/esm/codama/types/paymentFrequency.js.map +1 -0
  132. package/dist/esm/codama/types/serializableAccount.js.map +1 -0
  133. package/dist/esm/codama/types/serializableInstruction.js.map +1 -0
  134. package/dist/esm/codama/types/threadResponse.js.map +1 -0
  135. package/dist/esm/codama/types/trigger.js.map +1 -0
  136. package/dist/esm/codama/types/triggerContext.js.map +1 -0
  137. package/dist/esm/contract/cancel.js +73 -0
  138. package/dist/esm/contract/cancel.js.map +1 -0
  139. package/dist/esm/contract/close.js +75 -32
  140. package/dist/esm/contract/close.js.map +1 -1
  141. package/dist/esm/contract/create.js +79 -34
  142. package/dist/esm/contract/create.js.map +1 -1
  143. package/dist/esm/contract/index.js +1 -0
  144. package/dist/esm/contract/index.js.map +1 -1
  145. package/dist/esm/index.js +8 -2
  146. package/dist/esm/index.js.map +1 -1
  147. package/dist/esm/package.json +53 -0
  148. package/dist/esm/rental/accept.js +77 -43
  149. package/dist/esm/rental/accept.js.map +1 -1
  150. package/dist/esm/rental/cancel.js +40 -28
  151. package/dist/esm/rental/cancel.js.map +1 -1
  152. package/dist/esm/rental/close.js +42 -30
  153. package/dist/esm/rental/close.js.map +1 -1
  154. package/dist/esm/rental/reset.js +51 -44
  155. package/dist/esm/rental/reset.js.map +1 -1
  156. package/dist/esm/types/paymentFrequency.js +53 -0
  157. package/dist/esm/types/paymentFrequency.js.map +1 -0
  158. package/dist/esm/utils/config.js +173 -0
  159. package/dist/esm/utils/config.js.map +1 -0
  160. package/dist/esm/utils/constants.js +49 -24
  161. package/dist/esm/utils/constants.js.map +1 -1
  162. package/dist/esm/utils/duration.js +68 -0
  163. package/dist/esm/utils/duration.js.map +1 -0
  164. package/dist/esm/utils/index.js +4 -0
  165. package/dist/esm/utils/index.js.map +1 -1
  166. package/dist/esm/utils/instruction-converter.js +62 -0
  167. package/dist/esm/utils/instruction-converter.js.map +1 -0
  168. package/dist/esm/utils/paymentFrequency.js +55 -0
  169. package/dist/esm/utils/paymentFrequency.js.map +1 -0
  170. package/dist/esm/utils/profiles.js +39 -19
  171. package/dist/esm/utils/profiles.js.map +1 -1
  172. package/dist/esm/utils/types.js +5 -0
  173. package/dist/esm/utils/types.js.map +1 -0
  174. package/dist/types/codama/accounts/config.d.ts +52 -0
  175. package/dist/types/codama/accounts/config.d.ts.map +1 -0
  176. package/dist/types/codama/{devnet/accounts → accounts}/contractState.d.ts +2 -4
  177. package/dist/types/codama/accounts/contractState.d.ts.map +1 -0
  178. package/dist/types/codama/{devnet/accounts → accounts}/index.d.ts +1 -1
  179. package/dist/types/codama/accounts/index.d.ts.map +1 -0
  180. package/dist/types/codama/{devnet/accounts → accounts}/rentalState.d.ts +2 -0
  181. package/dist/types/codama/accounts/rentalState.d.ts.map +1 -0
  182. package/dist/types/codama/accounts/thread.d.ts.map +1 -0
  183. package/dist/types/codama/errors/index.d.ts.map +1 -0
  184. package/dist/types/codama/errors/srsly.d.ts +68 -0
  185. package/dist/types/codama/errors/srsly.d.ts.map +1 -0
  186. package/dist/types/codama/index.d.ts.map +1 -0
  187. package/dist/types/codama/instructions/acceptRental.d.ts +135 -0
  188. package/dist/types/codama/instructions/acceptRental.d.ts.map +1 -0
  189. package/dist/types/codama/instructions/cancelContract.d.ts +59 -0
  190. package/dist/types/codama/instructions/cancelContract.d.ts.map +1 -0
  191. package/dist/types/codama/{devnet/instructions → instructions}/cancelRental.d.ts +14 -10
  192. package/dist/types/codama/instructions/cancelRental.d.ts.map +1 -0
  193. package/dist/types/codama/instructions/closeContract.d.ts +104 -0
  194. package/dist/types/codama/instructions/closeContract.d.ts.map +1 -0
  195. package/dist/types/codama/{devnet/instructions → instructions}/closeRental.d.ts +20 -12
  196. package/dist/types/codama/instructions/closeRental.d.ts.map +1 -0
  197. package/dist/types/codama/instructions/createContract.d.ts +112 -0
  198. package/dist/types/codama/instructions/createContract.d.ts.map +1 -0
  199. package/dist/types/codama/{devnet/instructions → instructions}/index.d.ts +3 -1
  200. package/dist/types/codama/instructions/index.d.ts.map +1 -0
  201. package/dist/types/codama/instructions/initializeConfig.d.ts +60 -0
  202. package/dist/types/codama/instructions/initializeConfig.d.ts.map +1 -0
  203. package/dist/types/codama/{devnet/instructions → instructions}/payRental.d.ts +28 -13
  204. package/dist/types/codama/instructions/payRental.d.ts.map +1 -0
  205. package/dist/types/codama/{devnet/instructions → instructions}/resetRental.d.ts +15 -11
  206. package/dist/types/codama/instructions/resetRental.d.ts.map +1 -0
  207. package/dist/types/codama/instructions/updateConfig.d.ts +93 -0
  208. package/dist/types/codama/instructions/updateConfig.d.ts.map +1 -0
  209. package/dist/types/codama/programs/index.d.ts.map +1 -0
  210. package/dist/types/codama/{devnet/programs → programs}/srsly.d.ts +19 -13
  211. package/dist/types/codama/programs/srsly.d.ts.map +1 -0
  212. package/dist/types/codama/shared/index.d.ts.map +1 -0
  213. package/dist/types/codama/types/clockData.d.ts.map +1 -0
  214. package/dist/types/codama/types/equality.d.ts.map +1 -0
  215. package/dist/types/codama/types/execContext.d.ts.map +1 -0
  216. package/dist/types/codama/types/index.d.ts.map +1 -0
  217. package/dist/types/codama/types/paymentFrequency.d.ts.map +1 -0
  218. package/dist/types/codama/types/serializableAccount.d.ts.map +1 -0
  219. package/dist/types/codama/types/serializableInstruction.d.ts.map +1 -0
  220. package/dist/types/codama/types/threadResponse.d.ts.map +1 -0
  221. package/dist/types/codama/types/trigger.d.ts.map +1 -0
  222. package/dist/types/codama/types/triggerContext.d.ts.map +1 -0
  223. package/dist/types/contract/cancel.d.ts +66 -0
  224. package/dist/types/contract/cancel.d.ts.map +1 -0
  225. package/dist/types/contract/close.d.ts +29 -13
  226. package/dist/types/contract/close.d.ts.map +1 -1
  227. package/dist/types/contract/create.d.ts +55 -54
  228. package/dist/types/contract/create.d.ts.map +1 -1
  229. package/dist/types/contract/index.d.ts +1 -0
  230. package/dist/types/contract/index.d.ts.map +1 -1
  231. package/dist/types/index.d.ts +5 -2
  232. package/dist/types/index.d.ts.map +1 -1
  233. package/dist/types/rental/accept.d.ts +65 -15
  234. package/dist/types/rental/accept.d.ts.map +1 -1
  235. package/dist/types/rental/cancel.d.ts +36 -8
  236. package/dist/types/rental/cancel.d.ts.map +1 -1
  237. package/dist/types/rental/close.d.ts +36 -8
  238. package/dist/types/rental/close.d.ts.map +1 -1
  239. package/dist/types/rental/reset.d.ts +42 -11
  240. package/dist/types/rental/reset.d.ts.map +1 -1
  241. package/dist/types/types/paymentFrequency.d.ts +44 -0
  242. package/dist/types/types/paymentFrequency.d.ts.map +1 -0
  243. package/dist/types/utils/config.d.ts +110 -0
  244. package/dist/types/utils/config.d.ts.map +1 -0
  245. package/dist/types/utils/constants.d.ts +14 -11
  246. package/dist/types/utils/constants.d.ts.map +1 -1
  247. package/dist/types/utils/duration.d.ts +56 -0
  248. package/dist/types/utils/duration.d.ts.map +1 -0
  249. package/dist/types/utils/index.d.ts +4 -0
  250. package/dist/types/utils/index.d.ts.map +1 -1
  251. package/dist/types/utils/instruction-converter.d.ts +117 -0
  252. package/dist/types/utils/instruction-converter.d.ts.map +1 -0
  253. package/dist/types/utils/paymentFrequency.d.ts +18 -0
  254. package/dist/types/utils/paymentFrequency.d.ts.map +1 -0
  255. package/dist/types/utils/profiles.d.ts +14 -8
  256. package/dist/types/utils/profiles.d.ts.map +1 -1
  257. package/dist/types/utils/types.d.ts +6 -0
  258. package/dist/types/utils/types.d.ts.map +1 -0
  259. package/package.json +33 -25
  260. package/target/idl/{srsly-devnet.json → srsly.json} +834 -466
  261. package/dist/cjs/codama/devnet/accounts/contractState.js.map +0 -1
  262. package/dist/cjs/codama/devnet/accounts/fleet.js +0 -77
  263. package/dist/cjs/codama/devnet/accounts/fleet.js.map +0 -1
  264. package/dist/cjs/codama/devnet/accounts/index.js.map +0 -1
  265. package/dist/cjs/codama/devnet/accounts/rentalState.js.map +0 -1
  266. package/dist/cjs/codama/devnet/accounts/thread.js.map +0 -1
  267. package/dist/cjs/codama/devnet/errors/index.js.map +0 -1
  268. package/dist/cjs/codama/devnet/errors/srsly.js.map +0 -1
  269. package/dist/cjs/codama/devnet/index.js.map +0 -1
  270. package/dist/cjs/codama/devnet/instructions/acceptRental.js.map +0 -1
  271. package/dist/cjs/codama/devnet/instructions/cancelRental.js.map +0 -1
  272. package/dist/cjs/codama/devnet/instructions/closeContract.js.map +0 -1
  273. package/dist/cjs/codama/devnet/instructions/closeRental.js.map +0 -1
  274. package/dist/cjs/codama/devnet/instructions/createContract.js.map +0 -1
  275. package/dist/cjs/codama/devnet/instructions/index.js.map +0 -1
  276. package/dist/cjs/codama/devnet/instructions/normalizeAdmin.js +0 -152
  277. package/dist/cjs/codama/devnet/instructions/normalizeAdmin.js.map +0 -1
  278. package/dist/cjs/codama/devnet/instructions/payRental.js.map +0 -1
  279. package/dist/cjs/codama/devnet/instructions/resetRental.js.map +0 -1
  280. package/dist/cjs/codama/devnet/programs/index.js.map +0 -1
  281. package/dist/cjs/codama/devnet/programs/srsly.js.map +0 -1
  282. package/dist/cjs/codama/devnet/shared/index.js.map +0 -1
  283. package/dist/cjs/codama/devnet/types/clockData.js.map +0 -1
  284. package/dist/cjs/codama/devnet/types/equality.js.map +0 -1
  285. package/dist/cjs/codama/devnet/types/execContext.js.map +0 -1
  286. package/dist/cjs/codama/devnet/types/index.js.map +0 -1
  287. package/dist/cjs/codama/devnet/types/paymentFrequency.js.map +0 -1
  288. package/dist/cjs/codama/devnet/types/serializableAccount.js.map +0 -1
  289. package/dist/cjs/codama/devnet/types/serializableInstruction.js.map +0 -1
  290. package/dist/cjs/codama/devnet/types/threadResponse.js.map +0 -1
  291. package/dist/cjs/codama/devnet/types/trigger.js.map +0 -1
  292. package/dist/cjs/codama/devnet/types/triggerContext.js.map +0 -1
  293. package/dist/cjs/network.js +0 -107
  294. package/dist/cjs/network.js.map +0 -1
  295. package/dist/esm/codama/devnet/accounts/contractState.js.map +0 -1
  296. package/dist/esm/codama/devnet/accounts/fleet.js +0 -64
  297. package/dist/esm/codama/devnet/accounts/fleet.js.map +0 -1
  298. package/dist/esm/codama/devnet/accounts/index.js.map +0 -1
  299. package/dist/esm/codama/devnet/accounts/rentalState.js.map +0 -1
  300. package/dist/esm/codama/devnet/accounts/thread.js.map +0 -1
  301. package/dist/esm/codama/devnet/errors/index.js.map +0 -1
  302. package/dist/esm/codama/devnet/errors/srsly.js.map +0 -1
  303. package/dist/esm/codama/devnet/index.js.map +0 -1
  304. package/dist/esm/codama/devnet/instructions/acceptRental.js.map +0 -1
  305. package/dist/esm/codama/devnet/instructions/cancelRental.js.map +0 -1
  306. package/dist/esm/codama/devnet/instructions/closeContract.js.map +0 -1
  307. package/dist/esm/codama/devnet/instructions/closeRental.js.map +0 -1
  308. package/dist/esm/codama/devnet/instructions/createContract.js.map +0 -1
  309. package/dist/esm/codama/devnet/instructions/index.js.map +0 -1
  310. package/dist/esm/codama/devnet/instructions/normalizeAdmin.js +0 -142
  311. package/dist/esm/codama/devnet/instructions/normalizeAdmin.js.map +0 -1
  312. package/dist/esm/codama/devnet/instructions/payRental.js.map +0 -1
  313. package/dist/esm/codama/devnet/instructions/resetRental.js.map +0 -1
  314. package/dist/esm/codama/devnet/programs/index.js.map +0 -1
  315. package/dist/esm/codama/devnet/programs/srsly.js.map +0 -1
  316. package/dist/esm/codama/devnet/shared/index.js.map +0 -1
  317. package/dist/esm/codama/devnet/types/clockData.js.map +0 -1
  318. package/dist/esm/codama/devnet/types/equality.js.map +0 -1
  319. package/dist/esm/codama/devnet/types/execContext.js.map +0 -1
  320. package/dist/esm/codama/devnet/types/index.js.map +0 -1
  321. package/dist/esm/codama/devnet/types/paymentFrequency.js.map +0 -1
  322. package/dist/esm/codama/devnet/types/serializableAccount.js.map +0 -1
  323. package/dist/esm/codama/devnet/types/serializableInstruction.js.map +0 -1
  324. package/dist/esm/codama/devnet/types/threadResponse.js.map +0 -1
  325. package/dist/esm/codama/devnet/types/trigger.js.map +0 -1
  326. package/dist/esm/codama/devnet/types/triggerContext.js.map +0 -1
  327. package/dist/esm/network.js +0 -67
  328. package/dist/esm/network.js.map +0 -1
  329. package/dist/types/codama/devnet/accounts/contractState.d.ts.map +0 -1
  330. package/dist/types/codama/devnet/accounts/fleet.d.ts +0 -38
  331. package/dist/types/codama/devnet/accounts/fleet.d.ts.map +0 -1
  332. package/dist/types/codama/devnet/accounts/index.d.ts.map +0 -1
  333. package/dist/types/codama/devnet/accounts/rentalState.d.ts.map +0 -1
  334. package/dist/types/codama/devnet/accounts/thread.d.ts.map +0 -1
  335. package/dist/types/codama/devnet/errors/index.d.ts.map +0 -1
  336. package/dist/types/codama/devnet/errors/srsly.d.ts +0 -48
  337. package/dist/types/codama/devnet/errors/srsly.d.ts.map +0 -1
  338. package/dist/types/codama/devnet/index.d.ts.map +0 -1
  339. package/dist/types/codama/devnet/instructions/acceptRental.d.ts +0 -128
  340. package/dist/types/codama/devnet/instructions/acceptRental.d.ts.map +0 -1
  341. package/dist/types/codama/devnet/instructions/cancelRental.d.ts.map +0 -1
  342. package/dist/types/codama/devnet/instructions/closeContract.d.ts +0 -96
  343. package/dist/types/codama/devnet/instructions/closeContract.d.ts.map +0 -1
  344. package/dist/types/codama/devnet/instructions/closeRental.d.ts.map +0 -1
  345. package/dist/types/codama/devnet/instructions/createContract.d.ts +0 -108
  346. package/dist/types/codama/devnet/instructions/createContract.d.ts.map +0 -1
  347. package/dist/types/codama/devnet/instructions/index.d.ts.map +0 -1
  348. package/dist/types/codama/devnet/instructions/normalizeAdmin.d.ts +0 -67
  349. package/dist/types/codama/devnet/instructions/normalizeAdmin.d.ts.map +0 -1
  350. package/dist/types/codama/devnet/instructions/payRental.d.ts.map +0 -1
  351. package/dist/types/codama/devnet/instructions/resetRental.d.ts.map +0 -1
  352. package/dist/types/codama/devnet/programs/index.d.ts.map +0 -1
  353. package/dist/types/codama/devnet/programs/srsly.d.ts.map +0 -1
  354. package/dist/types/codama/devnet/shared/index.d.ts.map +0 -1
  355. package/dist/types/codama/devnet/types/clockData.d.ts.map +0 -1
  356. package/dist/types/codama/devnet/types/equality.d.ts.map +0 -1
  357. package/dist/types/codama/devnet/types/execContext.d.ts.map +0 -1
  358. package/dist/types/codama/devnet/types/index.d.ts.map +0 -1
  359. package/dist/types/codama/devnet/types/paymentFrequency.d.ts.map +0 -1
  360. package/dist/types/codama/devnet/types/serializableAccount.d.ts.map +0 -1
  361. package/dist/types/codama/devnet/types/serializableInstruction.d.ts.map +0 -1
  362. package/dist/types/codama/devnet/types/threadResponse.d.ts.map +0 -1
  363. package/dist/types/codama/devnet/types/trigger.d.ts.map +0 -1
  364. package/dist/types/codama/devnet/types/triggerContext.d.ts.map +0 -1
  365. package/dist/types/network.d.ts +0 -58
  366. package/dist/types/network.d.ts.map +0 -1
  367. package/target/idl/srsly-mainnet.json +0 -3011
  368. package/target/types/srsly-mainnet.ts +0 -1
  369. /package/dist/cjs/codama/{devnet/accounts → accounts}/thread.js +0 -0
  370. /package/dist/cjs/codama/{devnet/errors → errors}/index.js +0 -0
  371. /package/dist/cjs/codama/{devnet/index.js → index.js} +0 -0
  372. /package/dist/cjs/codama/{devnet/programs → programs}/index.js +0 -0
  373. /package/dist/cjs/codama/{devnet/shared → shared}/index.js +0 -0
  374. /package/dist/cjs/codama/{devnet/types → types}/clockData.js +0 -0
  375. /package/dist/cjs/codama/{devnet/types → types}/equality.js +0 -0
  376. /package/dist/cjs/codama/{devnet/types → types}/execContext.js +0 -0
  377. /package/dist/cjs/codama/{devnet/types → types}/index.js +0 -0
  378. /package/dist/cjs/codama/{devnet/types → types}/paymentFrequency.js +0 -0
  379. /package/dist/cjs/codama/{devnet/types → types}/serializableAccount.js +0 -0
  380. /package/dist/cjs/codama/{devnet/types → types}/serializableInstruction.js +0 -0
  381. /package/dist/cjs/codama/{devnet/types → types}/threadResponse.js +0 -0
  382. /package/dist/cjs/codama/{devnet/types → types}/trigger.js +0 -0
  383. /package/dist/cjs/codama/{devnet/types → types}/triggerContext.js +0 -0
  384. /package/dist/esm/codama/{devnet/accounts → accounts}/thread.js +0 -0
  385. /package/dist/esm/codama/{devnet/errors → errors}/index.js +0 -0
  386. /package/dist/esm/codama/{devnet/index.js → index.js} +0 -0
  387. /package/dist/esm/codama/{devnet/programs → programs}/index.js +0 -0
  388. /package/dist/esm/codama/{devnet/shared → shared}/index.js +0 -0
  389. /package/dist/esm/codama/{devnet/types → types}/clockData.js +0 -0
  390. /package/dist/esm/codama/{devnet/types → types}/equality.js +0 -0
  391. /package/dist/esm/codama/{devnet/types → types}/execContext.js +0 -0
  392. /package/dist/esm/codama/{devnet/types → types}/index.js +0 -0
  393. /package/dist/esm/codama/{devnet/types → types}/paymentFrequency.js +0 -0
  394. /package/dist/esm/codama/{devnet/types → types}/serializableAccount.js +0 -0
  395. /package/dist/esm/codama/{devnet/types → types}/serializableInstruction.js +0 -0
  396. /package/dist/esm/codama/{devnet/types → types}/threadResponse.js +0 -0
  397. /package/dist/esm/codama/{devnet/types → types}/trigger.js +0 -0
  398. /package/dist/esm/codama/{devnet/types → types}/triggerContext.js +0 -0
  399. /package/dist/types/codama/{devnet/accounts → accounts}/thread.d.ts +0 -0
  400. /package/dist/types/codama/{devnet/errors → errors}/index.d.ts +0 -0
  401. /package/dist/types/codama/{devnet/index.d.ts → index.d.ts} +0 -0
  402. /package/dist/types/codama/{devnet/programs → programs}/index.d.ts +0 -0
  403. /package/dist/types/codama/{devnet/shared → shared}/index.d.ts +0 -0
  404. /package/dist/types/codama/{devnet/types → types}/clockData.d.ts +0 -0
  405. /package/dist/types/codama/{devnet/types → types}/equality.d.ts +0 -0
  406. /package/dist/types/codama/{devnet/types → types}/execContext.d.ts +0 -0
  407. /package/dist/types/codama/{devnet/types → types}/index.d.ts +0 -0
  408. /package/dist/types/codama/{devnet/types → types}/paymentFrequency.d.ts +0 -0
  409. /package/dist/types/codama/{devnet/types → types}/serializableAccount.d.ts +0 -0
  410. /package/dist/types/codama/{devnet/types → types}/serializableInstruction.d.ts +0 -0
  411. /package/dist/types/codama/{devnet/types → types}/threadResponse.d.ts +0 -0
  412. /package/dist/types/codama/{devnet/types → types}/trigger.d.ts +0 -0
  413. /package/dist/types/codama/{devnet/types → types}/triggerContext.d.ts +0 -0
  414. /package/target/types/{srsly-devnet.ts → srsly.ts} +0 -0
@@ -1,62 +1,105 @@
1
- import { getCachedNetworkModule, createNetworkSelector } from '../network';
2
- import { deriveGameAccounts, DEFAULT_GAME_ID, } from '../utils';
1
+ import { getModule, createConfigSelector } from '../utils/config';
2
+ import { getSageGameId, toAddress } from '../utils/constants';
3
+ import { deriveGameAccounts } from '../utils';
4
+ import { createFluentInstruction, createFluentConfigSelector } from '../utils/instruction-converter';
3
5
  /**
4
6
  * Asynchronously creates an instruction to close a rental contract with minimal required parameters.
5
7
  * Derives rentalAuthority automatically and handles optional parameters.
6
8
  *
7
9
  * @example
8
10
  * ```typescript
9
- * // Create the instruction with automatic account derivation
10
- * const ix = await closeContract({
11
+ * // Works with any library - just use strings for addresses!
12
+ * const instruction = await closeContract({
13
+ * owner: wallet, // Can be signer object or string
14
+ * fleet: "FleetAddress123...", // String address
15
+ * contract: "ContractAddr...", // String address
16
+ * faction: 'mud',
17
+ * });
18
+ *
19
+ * // Use mainnet configuration
20
+ * const instruction = await closeContract({
21
+ * owner: wallet,
22
+ * fleet: "FleetAddress123...",
23
+ * contract: "ContractAddr...",
24
+ * faction: 'mud',
25
+ * }).set({ programs: 'mainnet' });
26
+ *
27
+ * // Override specific constants
28
+ * const instruction = await closeContract({
11
29
  * owner: wallet,
12
- * fleet: fleetAddress,
13
- * contract: contractAddress,
14
- * faction: 'mud', // Only needed if starbase and starbasePlayer not provided
15
- * // Optional: provide explicit starbase and starbasePlayer if you have them
16
- * // Optional: provide rentalState and rentalTokenAccount if active rental exists
30
+ * fleet: "FleetAddress123...",
31
+ * contract: "ContractAddr...",
32
+ * faction: 'mud',
33
+ * }).set({
34
+ * programs: 'mainnet',
35
+ * gameId: 'custom-game-id...'
17
36
  * });
18
37
  *
19
- * // Add to transaction and sign
20
- * const tx = new Transaction().add(ix);
21
- * await sendAndConfirmTransaction(connection, tx, [wallet]);
38
+ * // Use the instruction with your preferred Solana library
39
+ * // instruction is compatible with both @solana/kit and @solana/web3.js
22
40
  * ```
23
41
  *
24
42
  * @param params The simplified parameters for closing a rental contract
25
43
  * @returns A promise that resolves to the instruction to close a contract
26
44
  */
27
45
  /**
28
- * Internal function to close a contract instruction for a specific network
46
+ * Internal function to close a contract instruction with configuration options
29
47
  */
30
- async function _closeContract(params, network) {
31
- const { owner, fleet, contract, faction, gameId = DEFAULT_GAME_ID, } = params;
32
- const derivedAccounts = await deriveGameAccounts(owner.address, faction, gameId);
48
+ async function _closeContract(params, config) {
49
+ const { owner, fleet, contract, faction, gameId, } = params;
50
+ // Get the actual game ID to use (param override, config override, or network default)
51
+ const actualGameId = gameId ? toAddress(gameId) : await getSageGameId(config);
52
+ // Extract owner address (handle both string and signer object)
53
+ const ownerAddress = typeof owner === 'string' ? owner :
54
+ (owner && typeof owner === 'object' && 'address' in owner) ? owner.address : owner;
55
+ const derivedAccounts = await deriveGameAccounts(ownerAddress, faction, actualGameId, 0, // starbaseSeqId
56
+ config);
33
57
  const starbase = derivedAccounts.starbase;
34
58
  const starbasePlayer = derivedAccounts.starbasePlayer;
35
- // Dynamically import network-specific codama functions
36
- const codamaModule = await getCachedNetworkModule('instructions', network);
37
- const { getCloseContractInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
59
+ // Get network-specific codama functions from centralized config
60
+ const instructionsModule = getModule('instructions');
61
+ const programsModule = getModule('programs');
62
+ const { getCloseContractInstructionAsync } = instructionsModule;
63
+ const { SRSLY_PROGRAM_ADDRESS } = programsModule;
38
64
  // Let codama derive the rest (rentalAuthority, ownerTokenAccount, etc.)
39
65
  const input = {
40
- owner,
41
- fleet,
42
- contract,
43
- starbase,
44
- starbasePlayer,
45
- gameId,
66
+ owner, // Pass as-is (string or signer)
67
+ fleet: toAddress(fleet), // Ensure string
68
+ contract: toAddress(contract), // Ensure string
69
+ starbase, // Already string from deriveGameAccounts
70
+ starbasePlayer, // Already string from deriveGameAccounts
71
+ gameId: actualGameId, // Already string
46
72
  };
47
- return getCloseContractInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
73
+ const rawInstruction = await getCloseContractInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
74
+ return createFluentInstruction(rawInstruction);
48
75
  }
49
76
  /**
50
- * Creates an instruction to close a rental contract with fluent network selection.
77
+ * Creates an instruction to close a rental contract with fluent configuration.
78
+ *
79
+ * @param params The contract closing parameters
80
+ * @returns A ConfigSelector that can be configured with .set() or awaited directly
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * // Use atlasnet defaults (instruction building only)
85
+ * await closeContract(params);
86
+ *
87
+ * // Use mainnet
88
+ * await closeContract(params).set({ programs: 'mainnet' });
89
+ *
90
+ * // Override game ID
91
+ * await closeContract(params).set({ gameId: 'custom...' });
92
+ * ```
51
93
  */
52
94
  export function closeContract(params) {
53
- return createNetworkSelector((network) => _closeContract(params, network));
95
+ const baseSelector = createConfigSelector((config) => _closeContract(params, config));
96
+ return createFluentConfigSelector(baseSelector);
54
97
  }
55
- // Export network selector for getCloseContractInstructionAsync
98
+ // Export config selector for getCloseContractInstructionAsync
56
99
  export function getCloseContractInstructionAsync(input, options) {
57
- return createNetworkSelector(async (network) => {
58
- const codamaModule = await getCachedNetworkModule('instructions', network);
59
- return codamaModule.getCloseContractInstructionAsync(input, options);
100
+ return createConfigSelector(async (config) => {
101
+ const instructionsModule = getModule('instructions');
102
+ return instructionsModule.getCloseContractInstructionAsync(input, options);
60
103
  });
61
104
  }
62
105
  //# sourceMappingURL=close.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/contract/close.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAsC,MAAM,YAAY,CAAC;AAK/G,OAAO,EACL,kBAAkB,EAClB,eAAe,GAChB,MAAM,UAAU,CAAC;AAkClB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,MAA2B,EAC3B,OAAiB;IAEjB,MAAM,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,GAAG,eAAkC,GAC5C,GAAG,MAAM,CAAC;IAEX,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAC9C,KAAK,CAAC,OAAO,EACb,OAAQ,EACR,MAAM,CACP,CAAC;IAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;IAC1C,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;IAEtD,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,GAAG,YAAY,CAAC;IAEjF,wEAAwE;IACxE,MAAM,KAAK,GAAG;QACZ,KAAK;QACL,KAAK;QACL,QAAQ;QACR,QAAQ;QACR,cAAc;QACd,MAAM;KACP,CAAC;IAEF,OAAO,gCAAgC,CACrC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,MAA2B;IAE3B,OAAO,qBAAqB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,gCAAgC,CAAC,KAAU,EAAE,OAAa;IACxE,OAAO,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,YAAY,CAAC,gCAAgC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/contract/close.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAA2C,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAqD,MAAM,gCAAgC,CAAC;AAsCxJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,MAA2B,EAC3B,MAAsB;IAEtB,MAAM,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,GACP,GAAG,MAAM,CAAC;IAEX,sFAAsF;IACtF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9E,+DAA+D;IAC/D,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAExG,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAC9C,YAAY,EACZ,OAAQ,EACR,YAAY,EACZ,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;IAC1C,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;IAEtD,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,gCAAgC,EAAE,GAAG,kBAAkB,CAAC;IAChE,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,wEAAwE;IACxE,MAAM,KAAK,GAAG;QACZ,KAAK,EAAyB,gCAAgC;QAC9D,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAO,gBAAgB;QAC9C,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,gBAAgB;QAC/C,QAAQ,EAAsB,yCAAyC;QACvE,cAAc,EAAgB,yCAAyC;QACvE,MAAM,EAAE,YAAY,EAAU,iBAAiB;KAChD,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;IACF,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAC3B,MAA2B;IAE3B,MAAM,YAAY,GAAG,oBAAoB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,OAAO,0BAA0B,CAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,gCAAgC,CAAC,KAAU,EAAE,OAAa;IACxE,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,gCAAgC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,54 +1,99 @@
1
- import { getCachedNetworkModule, createNetworkSelector } from '../network';
2
- import { DEFAULT_GAME_ID, } from '../utils';
3
1
  /**
4
- * Internal function to create a contract instruction for a specific network
2
+ * Unified contract creation - works with both @solana/kit and @solana/web3.js
3
+ * Uses strings for all addresses to eliminate library-specific type complexity
5
4
  */
6
- async function _createContract(params, network) {
7
- const { owner, fleet, ownerProfile, rate, durationMin, durationMax, paymentsFreq, ownerKeyIndex = 0, gameId = DEFAULT_GAME_ID, } = params;
8
- // Dynamically import network-specific codama functions
9
- const codamaModule = await getCachedNetworkModule('instructions', network);
10
- const { getCreateContractInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
11
- // Let codama derive the rest (contract, rentalAuthority, ownerTokenAccount, etc.)
5
+ import { getModule, createConfigSelector } from '../utils/config';
6
+ import { getSageGameId, getSageProgramAddress, getAtlasMint, toAddress } from '../utils/constants';
7
+ import { validateDurationAlignment, paymentFrequencyStringToSeconds } from '../utils/paymentFrequency';
8
+ import { isValidPaymentFrequency } from '../types/paymentFrequency';
9
+ import { createFluentInstruction, createFluentConfigSelector } from '../utils/instruction-converter';
10
+ /**
11
+ * Internal function to create a rental contract instruction with configuration options
12
+ */
13
+ async function _createContract(params, config) {
14
+ const { owner, fleet, ownerProfile, rate, durationMax, paymentsFreq, gameId, sageProgramAddress, atlasMint, ownerKeyIndex = 0, } = params;
15
+ // Validate payment frequency
16
+ if (!isValidPaymentFrequency(paymentsFreq)) {
17
+ throw new Error(`Invalid payment frequency: "${paymentsFreq}". Valid values are: ${JSON.stringify(Object.keys({ daily: true, weekly: true, monthly: true, hourly: true }))}`);
18
+ }
19
+ // Validate duration alignment
20
+ validateDurationAlignment(Number(durationMax), paymentsFreq);
21
+ // Get the payment frequency interval (this will be the minimum duration)
22
+ const durationMin = paymentFrequencyStringToSeconds(paymentsFreq);
23
+ // Convert the payment frequency to the format expected by the Rust program (with @ prefix)
24
+ const paymentsFreqWithPrefix = `@${paymentsFreq}`;
25
+ // Get network-specific addresses (param override, config override, or network default)
26
+ const actualGameId = gameId ? toAddress(gameId) : await getSageGameId(config);
27
+ const actualSageProgramAddress = sageProgramAddress ? toAddress(sageProgramAddress) : await getSageProgramAddress(config);
28
+ const actualAtlasMint = atlasMint ? toAddress(atlasMint) : await getAtlasMint(config);
12
29
  const input = {
13
- owner,
14
- fleet,
15
- ownerProfile,
16
- gameId,
17
- rate,
30
+ owner, // Pass as-is (string or signer)
31
+ fleet: toAddress(fleet), // Ensure string
32
+ ownerProfile: toAddress(ownerProfile), // Ensure string
33
+ gameId: actualGameId, // Already string
34
+ sageProgram: actualSageProgramAddress, // Fixed: use sageProgram instead of sageProgramAddress
35
+ mint: actualAtlasMint, // Fixed: use mint instead of atlasMint
18
36
  durationMin,
19
37
  durationMax,
20
- paymentsFeq: paymentsFreq,
38
+ rate,
39
+ paymentsFeq: paymentsFreqWithPrefix, // Fixed: use paymentsFeq as expected by codama
21
40
  ownerKeyIndex,
22
41
  };
23
- return getCreateContractInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
42
+ // Get network-specific codama functions from centralized config
43
+ const instructionsModule = getModule('instructions');
44
+ const programsModule = getModule('programs');
45
+ const { getCreateContractInstructionAsync } = instructionsModule;
46
+ const { SRSLY_PROGRAM_ADDRESS } = programsModule;
47
+ const rawInstruction = await getCreateContractInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
48
+ return createFluentInstruction(rawInstruction);
24
49
  }
25
50
  /**
26
- * Creates an instruction to create a rental contract with fluent network selection.
51
+ * Creates an instruction to create a rental contract with fluent configuration.
52
+ * This unified version works with both @solana/kit and @solana/web3.js using strings for addresses.
27
53
  *
28
54
  * @example
29
55
  * ```typescript
30
- * // Use global network setting
31
- * const ix = await createContract(params).execute();
56
+ * // Works with any library - just use strings for addresses!
57
+ *
58
+ * // Default returns @solana/kit format
59
+ * const kitInstruction = await createContract({
60
+ * owner: wallet, // Can be signer object or string
61
+ * fleet: "FleetAddress123...", // String address
62
+ * ownerProfile: "ProfileAddr...", // String address
63
+ * rate: 1000,
64
+ * durationMax: days(7),
65
+ * paymentsFreq: 'daily'
66
+ * });
32
67
  *
33
- * // Use specific network for this instruction
34
- * const ix = await createContract(params).mainnet();
35
- * const ix = await createContract(params).devnet();
36
- * const ix = await createContract(params).network('mainnet');
68
+ * // Convert to @solana/web3.js format using fluent interface
69
+ * const web3jsInstruction = await createContract({
70
+ * owner: wallet,
71
+ * fleet: "FleetAddress123...",
72
+ * ownerProfile: "ProfileAddr...",
73
+ * rate: 1000,
74
+ * durationMax: days(7),
75
+ * paymentsFreq: 'daily'
76
+ * }).web3js();
77
+ *
78
+ * // Chain configuration and format conversion
79
+ * const web3jsInstructionWithConfig = await createContract({
80
+ * owner: wallet,
81
+ * fleet: "FleetAddress123...",
82
+ * ownerProfile: "ProfileAddr...",
83
+ * rate: 1000,
84
+ * durationMax: days(7),
85
+ * paymentsFreq: 'daily'
86
+ * }).set({ programs: 'mainnet' }).web3js();
87
+ *
88
+ * // Use with your preferred Solana library
89
+ * const transaction = new Transaction().add(web3jsInstruction);
37
90
  * ```
38
91
  *
39
92
  * @param params The simplified parameters for creating a rental contract
40
- * @returns A network selector for creating the instruction
93
+ * @returns A ConfigSelector that can be configured with .set() or awaited directly
41
94
  */
42
95
  export function createContract(params) {
43
- return createNetworkSelector((network) => _createContract(params, network));
44
- }
45
- /**
46
- * Export network selector for getCreateContractInstructionAsync
47
- */
48
- export function getCreateContractInstructionAsync(input, options) {
49
- return createNetworkSelector(async (network) => {
50
- const codamaModule = await getCachedNetworkModule('instructions', network);
51
- return codamaModule.getCreateContractInstructionAsync(input, options);
52
- });
96
+ const baseSelector = createConfigSelector((config) => _createContract(params, config));
97
+ return createFluentConfigSelector(baseSelector);
53
98
  }
54
99
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAsC,MAAM,YAAY,CAAC;AAK/G,OAAO,EAEL,eAAe,GAChB,MAAM,UAAU,CAAC;AAsDlB;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,MAA4B,EAC5B,OAAiB;IAEjB,MAAM,EACJ,KAAK,EACL,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,GAAG,CAAC,EACjB,MAAM,GAAG,eAAkC,GAC5C,GAAG,MAAM,CAAC;IAEX,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,EAAE,iCAAiC,EAAE,qBAAqB,EAAE,GAAG,YAAY,CAAC;IAElF,kFAAkF;IAClF,MAAM,KAAK,GAAG;QACZ,KAAK;QACL,KAAK;QACL,YAAY;QACZ,MAAM;QACN,IAAI;QACJ,WAAW;QACX,WAAW;QACX,WAAW,EAAE,YAAY;QACzB,aAAa;KACd,CAAC;IAEF,OAAO,iCAAiC,CACtC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAC5B,MAA4B;IAE5B,OAAO,qBAAqB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,KAAU,EAAE,OAAa;IACzE,OAAO,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,YAAY,CAAC,iCAAiC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export * from "./cancel";
1
2
  export * from "./close";
2
3
  export * from "./create";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}
package/dist/esm/index.js CHANGED
@@ -1,7 +1,13 @@
1
- // Export network configuration
2
- export * from "./network";
3
1
  // Export main SDK functions
4
2
  export * from "./contract";
5
3
  export * from "./rental";
6
4
  export * from "./utils";
5
+ // Export PaymentFrequency from codama (generated from Rust)
6
+ export { PaymentFrequency } from "./codama/types/paymentFrequency";
7
+ // Export auto-generated payment frequency types and utilities
8
+ export { VALID_PAYMENT_FREQUENCIES, PAYMENT_FREQUENCY_MAP, PAYMENT_FREQUENCY_CONSTANTS, getPaymentFrequencyFromString, isValidPaymentFrequency } from "./types/paymentFrequency";
9
+ // Export payment frequency utilities that mirror Rust implementation
10
+ export { paymentFrequencyToSeconds, paymentFrequencyStringToSeconds, validateDurationAlignment } from "./utils/paymentFrequency";
11
+ // Export duration helper functions for convenient time unit conversion
12
+ export { decaseconds, minutes, hours, days, weeks, months, duration } from "./utils/duration";
7
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,cAAc,WAAW,CAAC;AAE1B,4BAA4B;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAuBxB,4DAA4D;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,8DAA8D;AAC9D,OAAO,EAEL,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC,qEAAqE;AACrE,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,uEAAuE;AACvE,OAAO,EACL,WAAW,EACX,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACT,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@wuwei-labs/srsly",
3
+ "version": "2.0.0-beta.32",
4
+ "description": "",
5
+ "source": "./src/index.ts",
6
+ "sideEffects": false,
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "files": [
11
+ "dist/cjs",
12
+ "dist/esm",
13
+ "dist/types",
14
+ "target/idl/srsly.json",
15
+ "target/types/srsly.ts"
16
+ ],
17
+ "keywords": [
18
+ "SRSLY",
19
+ "Star",
20
+ "Atlas",
21
+ "sdk"
22
+ ],
23
+ "scripts": {
24
+ "package": "pnpm run clean && pnpm build && pnpm run package:cjs && pnpm run package:esm && pnpm run generate",
25
+ "package:cjs": "tsc -p tsconfig.cjs.json && tsconfig-to-dual-package tsconfig.cjs.json",
26
+ "package:esm": "tsc -p tsconfig.esm.json && tsconfig-to-dual-package tsconfig.esm.json",
27
+ "clean": "rm -rf dist && cargo clean && pnpm install",
28
+ "generate": "node generate.mjs",
29
+ "build": "anchor build && pnpm run generate",
30
+ "docs": "typedoc",
31
+ "test": "vitest run",
32
+ "test:watch": "vitest",
33
+ "test:coverage": "vitest run --coverage"
34
+ },
35
+ "author": "",
36
+ "license": "ISC",
37
+ "packageManager": "pnpm@10.6.5",
38
+ "dependencies": {
39
+ "@solana/kit": "^2.0.0"
40
+ },
41
+ "devDependencies": {
42
+ "@codama/nodes-from-anchor": "^1.1.13",
43
+ "@codama/renderers": "^1.0.21",
44
+ "@types/node": "^24.0.3",
45
+ "codama": "^1.2.13",
46
+ "tsconfig-to-dual-package": "^1.2.0",
47
+ "typedoc": "^0.28.3",
48
+ "typescript": "^5.8.3",
49
+ "vitest": "^3.2.4",
50
+ "webpack": "^5.99.9"
51
+ },
52
+ "type": "module"
53
+ }
@@ -1,60 +1,94 @@
1
- import { getCachedNetworkModule, createNetworkSelector } from '../network';
2
- import { deriveGameAccounts, DEFAULT_GAME_ID, } from '../utils';
1
+ import { getModule, createConfigSelector } from '../utils/config';
2
+ import { getSageGameId, ATLAS_TO_STARDUST, toAddress } from '../utils/constants';
3
+ import { deriveGameAccounts } from '../utils';
4
+ import { createFluentInstruction, createFluentConfigSelector } from '../utils/instruction-converter';
3
5
  /**
4
- * Asynchronously creates an instruction to accept a rental with minimal required parameters.
5
- * Derives borrowerProfileFaction, starbase, and starbasePlayer automatically.
6
+ * Internal function to accept a rental instruction with configuration options
7
+ */
8
+ async function _acceptRental(params, config) {
9
+ const { borrower, borrowerProfile, borrowerFaction, fleet, contract, gameId, rate, duration, referralTokenAccount, } = params;
10
+ // Get the actual game ID to use (param override, config override, or network default)
11
+ const actualGameId = gameId ? toAddress(gameId) : await getSageGameId(config);
12
+ // Calculate the total amount from rate and duration
13
+ // Convert ATLAS to stardust (smallest unit): 1 ATLAS = 100,000,000 stardust
14
+ const amount = BigInt(rate) * BigInt(duration) * BigInt(ATLAS_TO_STARDUST);
15
+ // Derive the three accounts we need
16
+ const { profileFaction, starbase, starbasePlayer } = await deriveGameAccounts(toAddress(borrowerProfile), borrowerFaction, actualGameId, 0, // starbaseSeqId
17
+ config);
18
+ // Let codama derive the rest (rentalThread, rentalState, rentalAuthority, etc.)
19
+ const input = {
20
+ borrower, // Pass as-is (string or signer)
21
+ borrowerProfile: toAddress(borrowerProfile), // Ensure string
22
+ borrowerProfileFaction: profileFaction, // Already string from deriveGameAccounts
23
+ fleet: toAddress(fleet), // Ensure string
24
+ contract: toAddress(contract), // Ensure string
25
+ gameId: actualGameId, // Already string
26
+ starbase, // Already string from deriveGameAccounts
27
+ starbasePlayer, // Already string from deriveGameAccounts
28
+ amount, // BigInt value
29
+ duration, // BigInt value
30
+ referralTokenAccount: referralTokenAccount ? toAddress(referralTokenAccount) : undefined,
31
+ };
32
+ // Get network-specific codama functions from centralized config
33
+ const instructionsModule = getModule('instructions');
34
+ const programsModule = getModule('programs');
35
+ const { getAcceptRentalInstructionAsync } = instructionsModule;
36
+ const { SRSLY_PROGRAM_ADDRESS } = programsModule;
37
+ const rawInstruction = await getAcceptRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
38
+ return createFluentInstruction(rawInstruction);
39
+ }
40
+ /**
41
+ * Creates an instruction to accept a rental with fluent configuration.
6
42
  *
7
43
  * @example
8
44
  * ```typescript
9
- * // Create the instruction with automatic account derivation
10
- * const ix = await acceptRental({
45
+ * // Works with any library - just use strings for addresses!
46
+ * const instruction = await acceptRental({
47
+ * borrower: wallet, // Can be signer object or string
48
+ * borrowerProfile: "ProfileAddr...", // String address
49
+ * borrowerFaction: 1, // 1 = mud, 2 = oni, 3 = ustur
50
+ * fleet: "FleetAddress123...", // String address
51
+ * contract: "ContractAddr...", // String address
52
+ * rate: 1000, // ATLAS tokens
53
+ * duration: 86400 // 1 day in seconds (total: 1000 * 86400 * 100M stardust)
54
+ * });
55
+ *
56
+ * // With referral (referrer gets 5% of platform fees)
57
+ * const instruction = await acceptRental({
11
58
  * borrower: wallet,
12
- * borrowerProfile: profileAddress,
13
- * borrowerFaction: 1, // 1 = mud, 2 = oni, 3 = ustur
14
- * fleet: fleetAddress,
15
- * contract: contractAddress,
16
- * amount: 1000,
17
- * duration: 86400 // 1 day in seconds
18
- * // gameId is optional and will default to the standard game ID
59
+ * borrowerProfile: "ProfileAddr...",
60
+ * borrowerFaction: 1,
61
+ * fleet: "FleetAddress123...",
62
+ * contract: "ContractAddr...",
63
+ * rate: 1000,
64
+ * duration: 86400,
65
+ * referralTokenAccount: "ReferralAddr..."
19
66
  * });
20
67
  *
21
- * // Add to transaction and sign
22
- * const tx = new Transaction().add(ix);
23
- * await sendAndConfirmTransaction(connection, tx, [wallet]);
68
+ * // Use mainnet configuration
69
+ * const instruction = await acceptRental(params).set({ programs: 'mainnet' });
70
+ *
71
+ * // Override specific constants
72
+ * const instruction = await acceptRental(params).set({
73
+ * programs: 'mainnet',
74
+ * gameId: 'custom-game-id...'
75
+ * });
76
+ *
77
+ * // Use the instruction with your preferred Solana library
78
+ * // instruction is compatible with both @solana/kit and @solana/web3.js
24
79
  * ```
25
80
  *
26
81
  * @param params The simplified parameters for accepting a rental
27
- * @returns A promise that resolves to the instruction to accept a rental
82
+ * @returns A ConfigSelector that can be configured with .set() or awaited directly
28
83
  */
29
- async function _acceptRental(params, network) {
30
- const { borrower, borrowerProfile, borrowerFaction, fleet, contract, gameId = DEFAULT_GAME_ID, amount, duration, } = params;
31
- // Derive the three accounts we need
32
- const { profileFaction, starbase, starbasePlayer } = await deriveGameAccounts(borrowerProfile, borrowerFaction, gameId);
33
- // Let codama derive the rest (rentalThread, rentalState, rentalAuthority, etc.)
34
- const input = {
35
- borrower,
36
- borrowerProfile,
37
- borrowerProfileFaction: profileFaction,
38
- fleet,
39
- contract,
40
- gameId,
41
- starbase,
42
- starbasePlayer,
43
- amount,
44
- duration,
45
- };
46
- // Dynamically import network-specific codama functions
47
- const codamaModule = await getCachedNetworkModule('instructions');
48
- const { getAcceptRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
49
- return getAcceptRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
50
- }
51
84
  export function acceptRental(params) {
52
- return createNetworkSelector((network) => _acceptRental(params, network));
85
+ const baseSelector = createConfigSelector((config) => _acceptRental(params, config));
86
+ return createFluentConfigSelector(baseSelector);
53
87
  }
54
88
  export function getAcceptRentalInstructionAsync(input, options) {
55
- return createNetworkSelector(async (network) => {
56
- const codamaModule = await getCachedNetworkModule('instructions', network);
57
- return codamaModule.getAcceptRentalInstructionAsync(input, options);
89
+ return createConfigSelector(async (config) => {
90
+ const instructionsModule = getModule('instructions');
91
+ return instructionsModule.getAcceptRentalInstructionAsync(input, options);
58
92
  });
59
93
  }
60
94
  //# sourceMappingURL=accept.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAsC,MAAM,YAAY,CAAC;AAM/G,OAAO,EACL,kBAAkB,EAClB,eAAe,GAChB,MAAM,UAAU,CAAC;AAiDlB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,OAAiB;IAEjB,MAAM,EACJ,QAAQ,EACR,eAAe,EACf,eAAe,EACf,KAAK,EACL,QAAQ,EACR,MAAM,GAAG,eAAkC,EAC3C,MAAM,EACN,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,oCAAoC;IACpC,MAAM,EACJ,cAAc,EACd,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,kBAAkB,CAC1B,eAAe,EACf,eAAe,EACf,MAAM,CACP,CAAC;IAEF,gFAAgF;IAChF,MAAM,KAAK,GAAoC;QAC7C,QAAQ;QACR,eAAe;QACf,sBAAsB,EAAE,cAAc;QACtC,KAAK;QACL,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,cAAc;QACd,MAAM;QACN,QAAQ;KACT,CAAC;IAEF,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAClE,MAAM,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,GAAG,YAAY,CAAC;IAEhF,OAAO,+BAA+B,CACpC,KAAY,EACZ,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,MAA0B;IAE1B,OAAO,qBAAqB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,YAAY,CAAC,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,56 @@
1
- import { getCachedNetworkModule, createNetworkSelector } from '../network';
1
+ import { getModule, createConfigSelector } from '../utils/config';
2
+ import { toAddress } from '../utils/constants';
2
3
  /**
3
- * Asynchronously creates an instruction to cancel a rental with minimal required parameters.
4
- * Derives rentalState, rentalThread, borrowerTokenAccount, rentalTokenAccount and
5
- * rentalAuthority automatically if not provided.
4
+ * Internal function to cancel a rental instruction with configuration options
5
+ */
6
+ async function _cancelRental(params, config) {
7
+ const { borrower, contract, } = params;
8
+ // Let codama derive all the optional accounts
9
+ const input = {
10
+ borrower, // Pass as-is (string or signer)
11
+ contract: toAddress(contract), // Ensure string
12
+ };
13
+ // Get network-specific codama functions from centralized config
14
+ const instructionsModule = getModule('instructions');
15
+ const programsModule = getModule('programs');
16
+ const { getCancelRentalInstructionAsync } = instructionsModule;
17
+ const { SRSLY_PROGRAM_ADDRESS } = programsModule;
18
+ return getCancelRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
19
+ }
20
+ /**
21
+ * Creates an instruction to cancel a rental with fluent configuration.
6
22
  *
7
23
  * @example
8
24
  * ```typescript
9
- * // Create the instruction with minimal parameters - just borrower and contract
10
- * const ix = await cancelRental({
11
- * borrower: wallet,
12
- * contract: contractAddress
25
+ * // Works with any library - just use strings for addresses!
26
+ * const instruction = await cancelRental({
27
+ * borrower: wallet, // Can be signer object or string
28
+ * contract: "ContractAddr..." // String address
13
29
  * });
14
30
  *
15
- * // Add to transaction and sign
16
- * const tx = new Transaction().add(ix);
17
- * await sendAndConfirmTransaction(connection, tx, [wallet]);
31
+ * // Use mainnet configuration
32
+ * const instruction = await cancelRental(params).set({ programs: 'mainnet' });
33
+ *
34
+ * // Override specific constants
35
+ * const instruction = await cancelRental(params).set({
36
+ * programs: 'mainnet',
37
+ * sageProgramAddress: 'custom...'
38
+ * });
39
+ *
40
+ * // Use the instruction with your preferred Solana library
41
+ * // instruction is compatible with both @solana/kit and @solana/web3.js
18
42
  * ```
19
43
  *
20
44
  * @param params The simplified parameters for canceling a rental
21
- * @returns A promise that resolves to the instruction to cancel a rental
45
+ * @returns A ConfigSelector that can be configured with .set() or awaited directly
22
46
  */
23
- async function _cancelRental(params, network) {
24
- const { borrower, contract, } = params;
25
- // Let codama derive all the optional accounts
26
- const input = {
27
- borrower,
28
- contract,
29
- };
30
- // Dynamically import network-specific codama functions
31
- const codamaModule = await getCachedNetworkModule('instructions');
32
- const { getCancelRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
33
- return getCancelRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
34
- }
35
47
  export function cancelRental(params) {
36
- return createNetworkSelector((network) => _cancelRental(params, network));
48
+ return createConfigSelector((config) => _cancelRental(params, config));
37
49
  }
38
50
  export function getCancelRentalInstructionAsync(input, options) {
39
- return createNetworkSelector(async (network) => {
40
- const codamaModule = await getCachedNetworkModule('instructions', network);
41
- return codamaModule.getCancelRentalInstructionAsync(input, options);
51
+ return createConfigSelector(async (config) => {
52
+ const instructionsModule = getModule('instructions');
53
+ return instructionsModule.getCancelRentalInstructionAsync(input, options);
42
54
  });
43
55
  }
44
56
  //# sourceMappingURL=cancel.js.map