@wuwei-labs/srsly 4.1.4 → 4.2.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 (225) hide show
  1. package/dist/cjs/demos.js +13 -26
  2. package/dist/cjs/demos.js.map +1 -1
  3. package/dist/cjs/generated/codama/accounts/configState.js +3 -1
  4. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  5. package/dist/cjs/generated/codama/accounts/contractState.js +2 -0
  6. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  7. package/dist/cjs/generated/codama/accounts/rentalState.js +4 -2
  8. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  9. package/dist/cjs/generated/codama/errors/srsly.js +7 -4
  10. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  11. package/dist/cjs/generated/codama/instructions/acceptRental.js +39 -11
  12. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  13. package/dist/cjs/generated/codama/instructions/activateRental.js +1 -70
  14. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
  15. package/dist/cjs/generated/codama/instructions/closeRental.js +170 -25
  16. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  17. package/dist/cjs/generated/codama/instructions/createConfig.js +0 -8
  18. package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
  19. package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -1
  20. package/dist/cjs/generated/codama/instructions/deleteContract.js.map +1 -1
  21. package/dist/cjs/generated/codama/instructions/deleteContractThread.js +175 -0
  22. package/dist/cjs/generated/codama/instructions/deleteContractThread.js.map +1 -0
  23. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
  24. package/dist/cjs/generated/codama/instructions/index.js +1 -1
  25. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  26. package/dist/cjs/generated/codama/instructions/reserveRental.js +7 -10
  27. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  28. package/dist/cjs/generated/codama/instructions/updateConfig.js +2 -0
  29. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  30. package/dist/cjs/generated/codama/programs/srsly.js +18 -18
  31. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  32. package/dist/cjs/generated/codama/types/fleet.js +14 -0
  33. package/dist/cjs/generated/codama/types/fleet.js.map +1 -1
  34. package/dist/cjs/generated/codama/types/index.js +1 -1
  35. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  36. package/dist/cjs/generated/codama/types/rentalClosed.js +2 -0
  37. package/dist/cjs/generated/codama/types/rentalClosed.js.map +1 -1
  38. package/dist/cjs/generated/codama/types/reservationCreated.js +2 -0
  39. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  40. package/dist/cjs/generated/codama/types/shipStats.js +2 -0
  41. package/dist/cjs/generated/codama/types/shipStats.js.map +1 -1
  42. package/dist/cjs/instructions/acceptRental.js +15 -23
  43. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  44. package/dist/cjs/instructions/activateRental.js +0 -8
  45. package/dist/cjs/instructions/activateRental.js.map +1 -1
  46. package/dist/cjs/instructions/closeContract.js +79 -27
  47. package/dist/cjs/instructions/closeContract.js.map +1 -1
  48. package/dist/cjs/instructions/closeRental.js +25 -20
  49. package/dist/cjs/instructions/closeRental.js.map +1 -1
  50. package/dist/cjs/instructions/createConfig.js +1 -4
  51. package/dist/cjs/instructions/createConfig.js.map +1 -1
  52. package/dist/cjs/instructions/deleteContractThread.js +65 -0
  53. package/dist/cjs/instructions/deleteContractThread.js.map +1 -0
  54. package/dist/cjs/instructions/index.js +1 -1
  55. package/dist/cjs/instructions/index.js.map +1 -1
  56. package/dist/cjs/instructions/invalidateRental.js +10 -7
  57. package/dist/cjs/instructions/invalidateRental.js.map +1 -1
  58. package/dist/cjs/instructions/releaseRental.js +10 -7
  59. package/dist/cjs/instructions/releaseRental.js.map +1 -1
  60. package/dist/cjs/instructions/reserveRental.js +3 -10
  61. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  62. package/dist/cjs/instructions/updateConfig.js +1 -0
  63. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  64. package/dist/cjs/kit/index.js +2 -2
  65. package/dist/cjs/kit/index.js.map +1 -1
  66. package/dist/cjs/legacy/index.js +2 -3
  67. package/dist/cjs/legacy/index.js.map +1 -1
  68. package/dist/cjs/package.json +1 -1
  69. package/dist/cjs/utils/config.js.map +1 -1
  70. package/dist/cjs/utils/discountAuth.js +45 -106
  71. package/dist/cjs/utils/discountAuth.js.map +1 -1
  72. package/dist/cjs/utils/index.js +1 -7
  73. package/dist/cjs/utils/index.js.map +1 -1
  74. package/dist/cjs/version.js +1 -1
  75. package/dist/esm/demos.js +12 -25
  76. package/dist/esm/demos.js.map +1 -1
  77. package/dist/esm/generated/codama/accounts/configState.js +3 -1
  78. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  79. package/dist/esm/generated/codama/accounts/contractState.js +2 -0
  80. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  81. package/dist/esm/generated/codama/accounts/rentalState.js +6 -4
  82. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  83. package/dist/esm/generated/codama/errors/srsly.js +6 -3
  84. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  85. package/dist/esm/generated/codama/instructions/acceptRental.js +40 -12
  86. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  87. package/dist/esm/generated/codama/instructions/activateRental.js +1 -70
  88. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
  89. package/dist/esm/generated/codama/instructions/closeRental.js +170 -25
  90. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  91. package/dist/esm/generated/codama/instructions/createConfig.js +0 -8
  92. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
  93. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
  94. package/dist/esm/generated/codama/instructions/deleteContract.js.map +1 -1
  95. package/dist/esm/generated/codama/instructions/deleteContractThread.js +165 -0
  96. package/dist/esm/generated/codama/instructions/deleteContractThread.js.map +1 -0
  97. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
  98. package/dist/esm/generated/codama/instructions/index.js +1 -1
  99. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  100. package/dist/esm/generated/codama/instructions/reserveRental.js +8 -11
  101. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  102. package/dist/esm/generated/codama/instructions/updateConfig.js +2 -0
  103. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  104. package/dist/esm/generated/codama/programs/srsly.js +18 -18
  105. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  106. package/dist/esm/generated/codama/types/fleet.js +15 -1
  107. package/dist/esm/generated/codama/types/fleet.js.map +1 -1
  108. package/dist/esm/generated/codama/types/index.js +1 -1
  109. package/dist/esm/generated/codama/types/index.js.map +1 -1
  110. package/dist/esm/generated/codama/types/rentalClosed.js +3 -1
  111. package/dist/esm/generated/codama/types/rentalClosed.js.map +1 -1
  112. package/dist/esm/generated/codama/types/reservationCreated.js +3 -1
  113. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  114. package/dist/esm/generated/codama/types/shipStats.js +3 -1
  115. package/dist/esm/generated/codama/types/shipStats.js.map +1 -1
  116. package/dist/esm/instructions/acceptRental.js +15 -23
  117. package/dist/esm/instructions/acceptRental.js.map +1 -1
  118. package/dist/esm/instructions/activateRental.js +0 -8
  119. package/dist/esm/instructions/activateRental.js.map +1 -1
  120. package/dist/esm/instructions/closeContract.js +79 -27
  121. package/dist/esm/instructions/closeContract.js.map +1 -1
  122. package/dist/esm/instructions/closeRental.js +25 -20
  123. package/dist/esm/instructions/closeRental.js.map +1 -1
  124. package/dist/esm/instructions/createConfig.js +1 -4
  125. package/dist/esm/instructions/createConfig.js.map +1 -1
  126. package/dist/esm/instructions/deleteContractThread.js +62 -0
  127. package/dist/esm/instructions/deleteContractThread.js.map +1 -0
  128. package/dist/esm/instructions/index.js +1 -1
  129. package/dist/esm/instructions/index.js.map +1 -1
  130. package/dist/esm/instructions/invalidateRental.js +10 -7
  131. package/dist/esm/instructions/invalidateRental.js.map +1 -1
  132. package/dist/esm/instructions/releaseRental.js +10 -7
  133. package/dist/esm/instructions/releaseRental.js.map +1 -1
  134. package/dist/esm/instructions/reserveRental.js +3 -10
  135. package/dist/esm/instructions/reserveRental.js.map +1 -1
  136. package/dist/esm/instructions/updateConfig.js +1 -0
  137. package/dist/esm/instructions/updateConfig.js.map +1 -1
  138. package/dist/esm/kit/index.js +1 -1
  139. package/dist/esm/kit/index.js.map +1 -1
  140. package/dist/esm/legacy/index.js +1 -2
  141. package/dist/esm/legacy/index.js.map +1 -1
  142. package/dist/esm/package.json +1 -1
  143. package/dist/esm/utils/config.js.map +1 -1
  144. package/dist/esm/utils/discountAuth.js +45 -103
  145. package/dist/esm/utils/discountAuth.js.map +1 -1
  146. package/dist/esm/utils/index.js +0 -2
  147. package/dist/esm/utils/index.js.map +1 -1
  148. package/dist/esm/version.js +1 -1
  149. package/dist/idl/srsly.json +411 -352
  150. package/dist/types/demos.d.ts +0 -2
  151. package/dist/types/demos.d.ts.map +1 -1
  152. package/dist/types/generated/codama/accounts/configState.d.ts +4 -0
  153. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  154. package/dist/types/generated/codama/accounts/contractState.d.ts +4 -0
  155. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  156. package/dist/types/generated/codama/accounts/rentalState.d.ts +13 -9
  157. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  158. package/dist/types/generated/codama/errors/srsly.d.ts +5 -3
  159. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  160. package/dist/types/generated/codama/instructions/acceptRental.d.ts +53 -32
  161. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  162. package/dist/types/generated/codama/instructions/activateRental.d.ts +18 -49
  163. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
  164. package/dist/types/generated/codama/instructions/closeRental.d.ts +83 -28
  165. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  166. package/dist/types/generated/codama/instructions/createConfig.d.ts +3 -3
  167. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
  168. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -0
  169. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
  170. package/dist/types/generated/codama/instructions/deleteContract.d.ts +3 -0
  171. package/dist/types/generated/codama/instructions/deleteContract.d.ts.map +1 -1
  172. package/dist/types/generated/codama/instructions/deleteContractThread.d.ts +70 -0
  173. package/dist/types/generated/codama/instructions/deleteContractThread.d.ts.map +1 -0
  174. package/dist/types/generated/codama/instructions/deleteRental.d.ts +3 -0
  175. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
  176. package/dist/types/generated/codama/instructions/index.d.ts +1 -1
  177. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  178. package/dist/types/generated/codama/instructions/reserveRental.d.ts +18 -23
  179. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  180. package/dist/types/generated/codama/instructions/updateConfig.d.ts +6 -0
  181. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  182. package/dist/types/generated/codama/programs/srsly.d.ts +18 -18
  183. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  184. package/dist/types/generated/codama/types/fleet.d.ts +14 -0
  185. package/dist/types/generated/codama/types/fleet.d.ts.map +1 -1
  186. package/dist/types/generated/codama/types/index.d.ts +1 -1
  187. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  188. package/dist/types/generated/codama/types/rentalClosed.d.ts +8 -1
  189. package/dist/types/generated/codama/types/rentalClosed.d.ts.map +1 -1
  190. package/dist/types/generated/codama/types/reservationCreated.d.ts +2 -0
  191. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  192. package/dist/types/generated/codama/types/shipStats.d.ts +3 -1
  193. package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -1
  194. package/dist/types/instructions/acceptRental.d.ts +3 -12
  195. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  196. package/dist/types/instructions/activateRental.d.ts.map +1 -1
  197. package/dist/types/instructions/closeContract.d.ts +5 -0
  198. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  199. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  200. package/dist/types/instructions/createConfig.d.ts +4 -4
  201. package/dist/types/instructions/createConfig.d.ts.map +1 -1
  202. package/dist/types/instructions/deleteContractThread.d.ts +42 -0
  203. package/dist/types/instructions/deleteContractThread.d.ts.map +1 -0
  204. package/dist/types/instructions/index.d.ts +1 -1
  205. package/dist/types/instructions/index.d.ts.map +1 -1
  206. package/dist/types/instructions/invalidateRental.d.ts +4 -3
  207. package/dist/types/instructions/invalidateRental.d.ts.map +1 -1
  208. package/dist/types/instructions/releaseRental.d.ts +4 -3
  209. package/dist/types/instructions/releaseRental.d.ts.map +1 -1
  210. package/dist/types/instructions/reserveRental.d.ts +0 -7
  211. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  212. package/dist/types/instructions/updateConfig.d.ts +4 -4
  213. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  214. package/dist/types/kit/index.d.ts +1 -1
  215. package/dist/types/kit/index.d.ts.map +1 -1
  216. package/dist/types/legacy/index.d.ts +1 -2
  217. package/dist/types/legacy/index.d.ts.map +1 -1
  218. package/dist/types/utils/config.d.ts +3 -3
  219. package/dist/types/utils/config.d.ts.map +1 -1
  220. package/dist/types/utils/discountAuth.d.ts +38 -70
  221. package/dist/types/utils/discountAuth.d.ts.map +1 -1
  222. package/dist/types/utils/index.d.ts +0 -1
  223. package/dist/types/utils/index.d.ts.map +1 -1
  224. package/dist/types/version.d.ts +1 -1
  225. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;AAEH,iDAA+B;AAC/B,wDAAsC;AACtC,+CAA6B;AAC7B,mDAAiC;AACjC,oDAAkC;AAClC,wDAAsC;AACtC,yDAAuC;AACvC,sDAAoC;AACpC,yDAAuC;AACvC,0DAAwC;AACxC,0DAAwC;AACxC,oDAAkC;AAClC,0DAAwC;AACxC,gDAA8B;AAC9B,0CAAwB;AACxB,8CAA4B;AAC5B,kDAAgC;AAChC,4DAA0C;AAC1C,yDAAuC;AACvC,mDAAiC;AACjC,oDAAkC;AAClC,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC;AAChC,iDAA+B;AAC/B,uDAAqC;AACrC,wDAAsC;AACtC,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;AAEH,iDAA+B;AAC/B,wDAAsC;AACtC,+CAA6B;AAC7B,gDAA8B;AAC9B,mDAAiC;AACjC,oDAAkC;AAClC,wDAAsC;AACtC,yDAAuC;AACvC,sDAAoC;AACpC,yDAAuC;AACvC,0DAAwC;AACxC,0DAAwC;AACxC,oDAAkC;AAClC,gDAA8B;AAC9B,0CAAwB;AACxB,8CAA4B;AAC5B,kDAAgC;AAChC,4DAA0C;AAC1C,yDAAuC;AACvC,mDAAiC;AACjC,oDAAkC;AAClC,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC;AAChC,iDAA+B;AAC/B,uDAAqC;AACrC,wDAAsC;AACtC,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B"}
@@ -17,6 +17,7 @@ function getRentalClosedEncoder() {
17
17
  ["contract", (0, kit_1.getAddressEncoder)()],
18
18
  ["borrower", (0, kit_1.getAddressEncoder)()],
19
19
  ["pointsAwarded", (0, kit_1.getU32Encoder)()],
20
+ ["feeFlushed", (0, kit_1.getU64Encoder)()],
20
21
  ]);
21
22
  }
22
23
  function getRentalClosedDecoder() {
@@ -25,6 +26,7 @@ function getRentalClosedDecoder() {
25
26
  ["contract", (0, kit_1.getAddressDecoder)()],
26
27
  ["borrower", (0, kit_1.getAddressDecoder)()],
27
28
  ["pointsAwarded", (0, kit_1.getU32Decoder)()],
29
+ ["feeFlushed", (0, kit_1.getU64Decoder)()],
28
30
  ]);
29
31
  }
30
32
  function getRentalClosedCodec() {
@@ -1 +1 @@
1
- {"version":3,"file":"rentalClosed.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/rentalClosed.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAyBH,wDAOC;AAED,wDAOC;AAED,oDAKC;AA9CD,qCAYqB;AAWrB,SAAgB,sBAAsB;IACpC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,aAAa,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACpC,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,eAAe,EAAE,IAAA,mBAAa,GAAE,CAAC;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB;IACpC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,aAAa,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACpC,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,eAAe,EAAE,IAAA,mBAAa,GAAE,CAAC;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,oBAAoB;IAIlC,OAAO,IAAA,kBAAY,EAAC,sBAAsB,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"rentalClosed.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/rentalClosed.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAkCH,wDAQC;AAED,wDAQC;AAED,oDAKC;AAzDD,qCAcqB;AAkBrB,SAAgB,sBAAsB;IACpC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,aAAa,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACpC,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,eAAe,EAAE,IAAA,mBAAa,GAAE,CAAC;QAClC,CAAC,YAAY,EAAE,IAAA,mBAAa,GAAE,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB;IACpC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,aAAa,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACpC,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,eAAe,EAAE,IAAA,mBAAa,GAAE,CAAC;QAClC,CAAC,YAAY,EAAE,IAAA,mBAAa,GAAE,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,oBAAoB;IAIlC,OAAO,IAAA,kBAAY,EAAC,sBAAsB,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAC1E,CAAC"}
@@ -19,6 +19,7 @@ function getReservationCreatedEncoder() {
19
19
  ["bidAtlas", (0, kit_1.getU64Encoder)()],
20
20
  ["escrowAmount", (0, kit_1.getU64Encoder)()],
21
21
  ["serviceFee", (0, kit_1.getU64Encoder)()],
22
+ ["feeBps", (0, kit_1.getU16Encoder)()],
22
23
  ["durationSeconds", (0, kit_1.getI64Encoder)()],
23
24
  ]);
24
25
  }
@@ -30,6 +31,7 @@ function getReservationCreatedDecoder() {
30
31
  ["bidAtlas", (0, kit_1.getU64Decoder)()],
31
32
  ["escrowAmount", (0, kit_1.getU64Decoder)()],
32
33
  ["serviceFee", (0, kit_1.getU64Decoder)()],
34
+ ["feeBps", (0, kit_1.getU16Decoder)()],
33
35
  ["durationSeconds", (0, kit_1.getI64Decoder)()],
34
36
  ]);
35
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reservationCreated.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/reservationCreated.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAwCH,oEAUC;AAED,oEAUC;AAED,gEAQC;AAtED,qCAgBqB;AAsBrB,SAAgB,4BAA4B;IAC1C,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,YAAY,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACnC,CAAC,WAAW,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC9B,CAAC,UAAU,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC7B,CAAC,cAAc,EAAE,IAAA,mBAAa,GAAE,CAAC;QACjC,CAAC,YAAY,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC/B,CAAC,iBAAiB,EAAE,IAAA,mBAAa,GAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,4BAA4B;IAC1C,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,YAAY,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACnC,CAAC,WAAW,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC9B,CAAC,UAAU,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC7B,CAAC,cAAc,EAAE,IAAA,mBAAa,GAAE,CAAC;QACjC,CAAC,YAAY,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC/B,CAAC,iBAAiB,EAAE,IAAA,mBAAa,GAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,0BAA0B;IAIxC,OAAO,IAAA,kBAAY,EACjB,4BAA4B,EAAE,EAC9B,4BAA4B,EAAE,CAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"reservationCreated.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/reservationCreated.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA4CH,oEAWC;AAED,oEAWC;AAED,gEAQC;AA5ED,qCAkBqB;AAwBrB,SAAgB,4BAA4B;IAC1C,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,YAAY,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACnC,CAAC,WAAW,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC9B,CAAC,UAAU,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC7B,CAAC,cAAc,EAAE,IAAA,mBAAa,GAAE,CAAC;QACjC,CAAC,YAAY,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC/B,CAAC,QAAQ,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC3B,CAAC,iBAAiB,EAAE,IAAA,mBAAa,GAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,4BAA4B;IAC1C,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,UAAU,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACjC,CAAC,YAAY,EAAE,IAAA,uBAAiB,GAAE,CAAC;QACnC,CAAC,WAAW,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC9B,CAAC,UAAU,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC7B,CAAC,cAAc,EAAE,IAAA,mBAAa,GAAE,CAAC;QACjC,CAAC,YAAY,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC/B,CAAC,QAAQ,EAAE,IAAA,mBAAa,GAAE,CAAC;QAC3B,CAAC,iBAAiB,EAAE,IAAA,mBAAa,GAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,0BAA0B;IAIxC,OAAO,IAAA,kBAAY,EACjB,4BAA4B,EAAE,EAC9B,4BAA4B,EAAE,CAC/B,CAAC;AACJ,CAAC"}
@@ -16,6 +16,7 @@ function getShipStatsEncoder() {
16
16
  return (0, kit_1.getStructEncoder)([
17
17
  ["movementStats", (0, _1.getMovementStatsEncoder)()],
18
18
  ["cargoStats", (0, _1.getCargoStatsEncoder)()],
19
+ ["combatStats", (0, _1.getCombatStatsEncoder)()],
19
20
  ["miscStats", (0, _1.getMiscStatsEncoder)()],
20
21
  ]);
21
22
  }
@@ -23,6 +24,7 @@ function getShipStatsDecoder() {
23
24
  return (0, kit_1.getStructDecoder)([
24
25
  ["movementStats", (0, _1.getMovementStatsDecoder)()],
25
26
  ["cargoStats", (0, _1.getCargoStatsDecoder)()],
27
+ ["combatStats", (0, _1.getCombatStatsDecoder)()],
26
28
  ["miscStats", (0, _1.getMiscStatsDecoder)()],
27
29
  ]);
28
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shipStats.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/shipStats.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAsCH,kDAMC;AAED,kDAMC;AAED,8CAEC;AAtDD,qCAOqB;AACrB,wBAaW;AAeX,SAAgB,mBAAmB;IACjC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,eAAe,EAAE,IAAA,0BAAuB,GAAE,CAAC;QAC5C,CAAC,YAAY,EAAE,IAAA,uBAAoB,GAAE,CAAC;QACtC,CAAC,WAAW,EAAE,IAAA,sBAAmB,GAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,eAAe,EAAE,IAAA,0BAAuB,GAAE,CAAC;QAC5C,CAAC,YAAY,EAAE,IAAA,uBAAoB,GAAE,CAAC;QACtC,CAAC,WAAW,EAAE,IAAA,sBAAmB,GAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,IAAA,kBAAY,EAAC,mBAAmB,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"shipStats.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/shipStats.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA4CH,kDAOC;AAED,kDAOC;AAED,8CAEC;AA9DD,qCAOqB;AACrB,wBAiBW;AAiBX,SAAgB,mBAAmB;IACjC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,eAAe,EAAE,IAAA,0BAAuB,GAAE,CAAC;QAC5C,CAAC,YAAY,EAAE,IAAA,uBAAoB,GAAE,CAAC;QACtC,CAAC,aAAa,EAAE,IAAA,wBAAqB,GAAE,CAAC;QACxC,CAAC,WAAW,EAAE,IAAA,sBAAmB,GAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,eAAe,EAAE,IAAA,0BAAuB,GAAE,CAAC;QAC5C,CAAC,YAAY,EAAE,IAAA,uBAAoB,GAAE,CAAC;QACtC,CAAC,aAAa,EAAE,IAAA,wBAAqB,GAAE,CAAC;QACxC,CAAC,WAAW,EAAE,IAAA,sBAAmB,GAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,IAAA,kBAAY,EAAC,mBAAmB,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;AACpE,CAAC"}
@@ -22,7 +22,6 @@ const srsly_1 = require("../pda/srsly");
22
22
  const token_1 = require("../pda/token");
23
23
  const thread_1 = require("../pda/thread");
24
24
  const instructions_2 = require("../utils/instructions");
25
- const discountAuth_1 = require("../utils/discountAuth");
26
25
  const types_1 = require("../generated/codama/types");
27
26
  /**
28
27
  * Accept a rental contract
@@ -41,9 +40,9 @@ const types_1 = require("../generated/codama/types");
41
40
  *
42
41
  * @example
43
42
  * ```typescript
44
- * // Accept a 7-day rental (borrowerProfile auto-fetched)
45
43
  * const ixs = await acceptRental({
46
44
  * borrower: wallet,
45
+ * borrowerProfile: "BORROWER_PROFILE_ADDRESS",
47
46
  * contract: "CONTRACT_ADDRESS",
48
47
  * duration: { days: 7 },
49
48
  * computeUnits: 400_000
@@ -63,11 +62,13 @@ async function acceptRental(params, config) {
63
62
  if (!params.duration) {
64
63
  throw new Error('duration is required');
65
64
  }
65
+ if (!params.borrowerProfile) {
66
+ throw new Error('borrowerProfile is required');
67
+ }
66
68
  // Convert borrower to transaction signer
67
69
  const borrowerSigner = (0, signer_1.toTransactionSigner)(params.borrower);
68
- // Fetch config to get vault
70
+ // Fetch config
69
71
  const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
70
- const vault = configAccount.data.slyvault;
71
72
  // Fetch contract to get fleet, gameId
72
73
  const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
73
74
  const fleet = contractAccount.data.fleet;
@@ -83,14 +84,7 @@ async function acceptRental(params, config) {
83
84
  // Fetch fleet data for faction (needed to derive SAGE accounts)
84
85
  const fleetState = await (0, fleet_1.fetchFleet)(fleet, finalConfig.rpcUrl);
85
86
  const faction = fleetState.faction;
86
- // Use param if provided, fallback to fleet.subProfile (current occupant's profile)
87
- let borrowerProfile;
88
- if (params.borrowerProfile) {
89
- borrowerProfile = (0, kit_1.address)(params.borrowerProfile);
90
- }
91
- else {
92
- borrowerProfile = fleetState.subProfile.key;
93
- }
87
+ const borrowerProfile = (0, kit_1.address)(params.borrowerProfile);
94
88
  // Derive all SAGE game accounts (profile faction, starbase, starbase player)
95
89
  const gameAccounts = await (0, sage_1.deriveGameAccounts)(borrowerProfile, faction, gameId);
96
90
  // Derive active rental PDA (no more slot logic)
@@ -135,17 +129,13 @@ async function acceptRental(params, config) {
135
129
  const addresses = (0, config_1.getAddresses)(config);
136
130
  const sageProgram = (0, kit_1.address)(addresses.sage);
137
131
  const programAddress = (0, kit_1.address)(addresses.srsly);
138
- // Deserialize discount auth if provided
139
- let discountAuth = null;
140
- if (params.discountAuth) {
141
- discountAuth = (0, discountAuth_1.deserializeDiscountAuth)(params.discountAuth);
142
- }
143
132
  const referrer = params.referrer ? (0, kit_1.address)(params.referrer) : undefined;
144
- // Derive vault token account (ATA)
145
- const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vault, atlasMint);
146
133
  // Derive contract token account (ATA of contract PDA)
147
134
  const contractAddress = (0, kit_1.address)(params.contract);
148
135
  const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
136
+ // Derive vault accounts for fee flush
137
+ const vaultAddress = (0, kit_1.address)(configAccount.data.slyvault);
138
+ const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vaultAddress, atlasMint);
149
139
  // Derive borrower token account (ATA)
150
140
  const borrowerTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(borrowerSigner.address, atlasMint);
151
141
  // Call Codama-generated acceptRental instruction
@@ -155,16 +145,18 @@ async function acceptRental(params, config) {
155
145
  fleet: (0, kit_1.address)(fleet),
156
146
  expiredBorrowerState,
157
147
  contract: contractAddress,
158
- rentalState,
159
- vault: (0, kit_1.address)(vault),
160
- vaultTokenAccount,
161
148
  contractTokenAccount,
149
+ vault: vaultAddress,
150
+ vaultTokenAccount,
162
151
  ...(contractThread && { contractThread }),
163
152
  ...(closeRentalFiber && { closeRentalFiber }),
164
153
  referrer,
165
154
  sageProgram,
166
155
  duration: BigInt(durationSeconds),
167
- discountAuth
156
+ discountSignature: null,
157
+ discountMemberNonce: null,
158
+ discountBps: null,
159
+ discountExpiresAt: null,
168
160
  }, { programAddress });
169
161
  // Append SAGE pass-through accounts as remaining accounts
170
162
  const sageRemainingAccounts = [
@@ -1 +1 @@
1
- {"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,6 @@ const rental_1 = require("../accounts/rental");
19
19
  const sage_1 = require("../pda/sage");
20
20
  const srsly_1 = require("../pda/srsly");
21
21
  const thread_1 = require("../pda/thread");
22
- const token_1 = require("../pda/token");
23
22
  /**
24
23
  * Manually activate a queued rental
25
24
  *
@@ -66,22 +65,15 @@ async function activateRental(params, config) {
66
65
  const borrowerProfileAddr = (0, kit_1.address)(params.borrowerProfile);
67
66
  const fleetState = await (0, fleet_1.fetchFleet)(contractAccount.data.fleet, finalConfig.rpcUrl);
68
67
  const gameAccounts = await (0, sage_1.deriveGameAccounts)(borrowerProfileAddr, fleetState.faction, contractAccount.data.gameId);
69
- // Get vault from config and derive vault token account
70
- const vault = configAccount.data.slyvault;
71
- const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vault, atlasMint);
72
68
  const kitInstruction = await (0, instructions_1.getActivateRentalInstructionAsync)({
73
69
  payer: payerSigner,
74
70
  contract: contractAddress,
75
- contractTokenAccount: contractAccount.data.managedTokenAccount,
76
- mint: atlasMint,
77
71
  borrowerProfile: borrowerProfileAddr,
78
72
  borrowerProfileFaction: gameAccounts.profileFaction,
79
73
  fleet: contractAccount.data.fleet,
80
74
  gameId: contractAccount.data.gameId,
81
75
  ...(contractThread && { contractThread }),
82
76
  ...(closeRentalFiber && { closeRentalFiber }),
83
- vault,
84
- vaultTokenAccount,
85
77
  sageProgram: (0, kit_1.address)(addresses.sage),
86
78
  }, { programAddress });
87
79
  // Append starbase + starbasePlayer as remaining accounts (for fiber 1 building)
@@ -1 +1 @@
1
- {"version":3,"file":"activateRental.js","sourceRoot":"","sources":["../../../src/instructions/activateRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activateRental.js","sourceRoot":"","sources":["../../../src/instructions/activateRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAsDH,wCA2EC;AA/HD,qCAAiE;AACjE,mEAAqF;AACrF,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,+CAAiD;AACjD,mDAAqD;AACrD,6CAA+C;AAC/C,+CAAiD;AACjD,sCAAiD;AACjD,wCAA6F;AAE7F,0CAAkE;AA4BlE;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEjF,qBAAqB;IACrB,MAAM,YAAY,GAAG,MAAM,IAAA,0BAAkB,EAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,MAAM,IAAA,0BAAkB,EAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAqB,GAAE,CAAC;IAEtD,iDAAiD;IACjD,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,eAAe,CAAC,IAAI,CAAC,MAAiB,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,MAAM,KAAK,kCAAkC,CAAC;IAChE,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAoB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,MAAM,gBAAgB,GAAG,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,IAAA,oBAAW,EAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExG,2CAA2C;IAC3C,MAAM,mBAAmB,GAAG,MAAM,IAAA,oBAAW,EAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEhF,4DAA4D;IAC5D,MAAM,mBAAmB,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,eAA0B,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAU,EAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAkB,EAC3C,mBAAmB,EACnB,UAAU,CAAC,OAAO,EAClB,eAAe,CAAC,IAAI,CAAC,MAAM,CAC5B,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,IAAA,gDAAiC,EAC5D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,eAAe,EAAE,mBAAmB;QACpC,sBAAsB,EAAE,YAAY,CAAC,cAAc;QACnD,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK;QACjC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM;QACnC,GAAG,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,CAAC;QACzC,GAAG,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAC7C,WAAW,EAAE,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC;KAChD,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,gFAAgF;IAChF,MAAM,qBAAqB,GAAG;QAC5B,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,iBAAW,CAAC,QAAQ,EAAE;QAC9D,EAAE,OAAO,EAAE,YAAY,CAAC,cAAc,EAAE,IAAI,EAAE,iBAAW,CAAC,QAAQ,EAAE;KACrE,CAAC;IACD,cAAc,CAAC,QAAyC,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;IAEzF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -46,6 +46,7 @@ const config_1 = require("../utils/config");
46
46
  const signer_1 = require("../utils/signer");
47
47
  const contract_1 = require("../accounts/contract");
48
48
  const config_2 = require("../accounts/config");
49
+ const rental_1 = require("../accounts/rental");
49
50
  const thread_1 = require("../accounts/thread");
50
51
  const token_1 = require("../pda/token");
51
52
  const srsly_1 = require("../pda/srsly");
@@ -141,51 +142,102 @@ async function closeContract(params, config) {
141
142
  : (0, kit_1.address)(addresses.sage);
142
143
  // Derive contract token account (ATA of contract PDA for ATLAS)
143
144
  const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
144
- // Check if contract has an automation thread that needs closing first
145
+ // Check contract state
145
146
  const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
146
147
  const hasThread = contractAccount.data.thread !== SYSTEM_PROGRAM_ID;
147
- let hasActiveRental = contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
148
- || contractAccount.data.queuedRental !== SYSTEM_PROGRAM_ID;
149
- // If active rental is expired (and no queued), treat as closeable immediately
150
- if (hasActiveRental && contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
151
- && contractAccount.data.queuedRental === SYSTEM_PROGRAM_ID) {
152
- const { fetchRental } = await Promise.resolve().then(() => __importStar(require('../accounts/rental')));
153
- const activeRental = await fetchRental(contractAccount.data.activeRental, finalConfig.rpcUrl);
148
+ const hasActiveSlot = contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID;
149
+ const hasQueuedSlot = contractAccount.data.queuedRental !== SYSTEM_PROGRAM_ID;
150
+ // Check if active rental is expired
151
+ let activeExpired = false;
152
+ if (hasActiveSlot) {
153
+ const activeRental = await (0, rental_1.fetchRental)(contractAccount.data.activeRental, finalConfig.rpcUrl);
154
154
  const now = Math.floor(Date.now() / 1000);
155
155
  if (activeRental.data.endTime <= BigInt(now)) {
156
- hasActiveRental = false;
156
+ activeExpired = true;
157
157
  }
158
158
  }
159
- let threadCloseIx;
160
- if (hasThread && !hasActiveRental) {
159
+ // Resolve queued borrower accounts when a queued rental exists
160
+ let queuedBorrowerState;
161
+ let queuedBorrowerTokenAccount;
162
+ if (hasQueuedSlot) {
163
+ let queuedBorrower;
164
+ if (params.queuedBorrower) {
165
+ queuedBorrower = (0, kit_1.address)(params.queuedBorrower);
166
+ }
167
+ else {
168
+ const queuedRental = await (0, rental_1.fetchRental)(contractAccount.data.queuedRental, finalConfig.rpcUrl);
169
+ queuedBorrower = queuedRental.data.borrower;
170
+ }
171
+ queuedBorrowerState = await (0, srsly_1.deriveBorrowerState)(queuedBorrower);
172
+ queuedBorrowerTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(queuedBorrower, atlasMint);
173
+ }
174
+ // Helper: build a closeContractThread instruction
175
+ const buildThreadCloseIx = async () => {
161
176
  const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
162
177
  const contractThread = await (0, thread_2.deriveContractThread)(contractAddress, rentalAuthority);
163
- // Fetch thread to get fiber IDs for remaining accounts
164
178
  const threadAccount = await (0, thread_1.fetchThread)(contractThread, finalConfig.rpcUrl);
165
179
  const fiberIds = Array.from(threadAccount.data.fiberIds);
166
- // Derive fiber PDAs
167
180
  const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
168
181
  address: await (0, thread_2.deriveFiber)(contractThread, id),
169
182
  role: kit_1.AccountRole.WRITABLE,
170
183
  })));
171
- threadCloseIx = await (0, instructions_1.getCloseContractThreadInstructionAsync)({
184
+ const ix = await (0, instructions_1.getCloseContractThreadInstructionAsync)({ owner: ownerSigner, contract: contractAddress, thread: contractThread }, { programAddress });
185
+ ix.accounts.push(...fiberAccounts);
186
+ return ix;
187
+ };
188
+ // Helper: build a closeContract instruction with optional queued borrower accounts
189
+ const buildCloseContractIx = async (includeQueued) => {
190
+ return (0, instructions_1.getCloseContractInstructionAsync)({
172
191
  owner: ownerSigner,
173
192
  contract: contractAddress,
174
- thread: contractThread,
193
+ mint: atlasMint,
194
+ fleet: fleetAddress,
195
+ contractTokenAccount: contractTokenAccount,
196
+ sageProgram,
197
+ ...(includeQueued && queuedBorrowerState && queuedBorrowerTokenAccount
198
+ ? { queuedBorrowerState, queuedBorrowerTokenAccount }
199
+ : {}),
175
200
  }, { programAddress });
176
- threadCloseIx.accounts.push(...fiberAccounts);
201
+ };
202
+ // Compose instructions based on scenario
203
+ const ixs = [];
204
+ if (activeExpired && hasQueuedSlot) {
205
+ // Expired active + queued: multi-instruction composition
206
+ // 1. closeRental — settles expired active
207
+ const { closeRental } = await Promise.resolve().then(() => __importStar(require('./closeRental')));
208
+ const closeRentalResult = await closeRental({ payer: params.owner, contract: contractAddress }, config);
209
+ ixs.push(...closeRentalResult.instructions);
210
+ // 2. closeContractThread (if thread exists)
211
+ if (hasThread) {
212
+ ixs.push(await buildThreadCloseIx());
213
+ }
214
+ // 3. closeContract — force-closes queued, sets to_close
215
+ ixs.push(await buildCloseContractIx(true));
216
+ // 4. closeContract — final close (no active, no queued, no thread)
217
+ ixs.push(await buildCloseContractIx(false));
218
+ }
219
+ else if (activeExpired && !hasQueuedSlot) {
220
+ // Expired active only, no queued — settle then close
221
+ const { closeRental } = await Promise.resolve().then(() => __importStar(require('./closeRental')));
222
+ const closeRentalResult = await closeRental({ payer: params.owner, contract: contractAddress }, config);
223
+ ixs.push(...closeRentalResult.instructions);
224
+ if (hasThread) {
225
+ ixs.push(await buildThreadCloseIx());
226
+ }
227
+ ixs.push(await buildCloseContractIx(false));
228
+ }
229
+ else if (!activeExpired && hasQueuedSlot) {
230
+ // Non-expired active + queued — deferred close with queued borrower accounts
231
+ ixs.push(await buildCloseContractIx(true));
232
+ }
233
+ else {
234
+ // No active rental (or no rental at all) — simple close
235
+ if (hasThread) {
236
+ ixs.push(await buildThreadCloseIx());
237
+ }
238
+ ixs.push(await buildCloseContractIx(false));
177
239
  }
178
- // Call Codama-generated instruction
179
- const kitInstruction = await (0, instructions_1.getCloseContractInstructionAsync)({
180
- owner: ownerSigner,
181
- contract: contractAddress,
182
- mint: atlasMint,
183
- fleet: fleetAddress,
184
- contractTokenAccount: contractTokenAccount,
185
- sageProgram,
186
- }, { programAddress });
187
- const instructions = threadCloseIx ? [threadCloseIx, kitInstruction] : kitInstruction;
188
- return (0, instructions_2.prepareInstructions)(instructions, {
240
+ return (0, instructions_2.prepareInstructions)(ixs, {
189
241
  computeUnits: params.computeUnits,
190
242
  PublicKey: finalConfig.PublicKey
191
243
  });
@@ -1 +1 @@
1
- {"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
@@ -8,15 +8,17 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.closeRental = closeRental;
10
10
  const kit_1 = require("@solana/kit");
11
+ const kit_2 = require("@solana/kit");
11
12
  const instructions_1 = require("../generated/codama/instructions");
12
13
  const config_1 = require("../utils/config");
13
14
  const signer_1 = require("../utils/signer");
14
- const contract_1 = require("../accounts/contract");
15
15
  const config_2 = require("../accounts/config");
16
+ const contract_1 = require("../accounts/contract");
16
17
  const fleet_1 = require("../accounts/fleet");
17
18
  const rental_1 = require("../accounts/rental");
18
19
  const sage_1 = require("../pda/sage");
19
20
  const srsly_1 = require("../pda/srsly");
21
+ const token_1 = require("../pda/token");
20
22
  const instructions_2 = require("../utils/instructions");
21
23
  /**
22
24
  * Close a rental
@@ -52,7 +54,9 @@ async function closeRental(params, config) {
52
54
  if (!params.contract) {
53
55
  throw new Error('contract is required');
54
56
  }
55
- // Fetch contract to get owner, fleet, gameId
57
+ // Fetch config and contract
58
+ const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
59
+ const atlasMint = configAccount.data.atlasMint;
56
60
  const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
57
61
  const fleet = contractAccount.data.fleet;
58
62
  const gameId = contractAccount.data.gameId;
@@ -60,21 +64,12 @@ async function closeRental(params, config) {
60
64
  const payerSigner = (0, signer_1.toTransactionSigner)(params.payer);
61
65
  // Derive active rental PDA (no more slot logic)
62
66
  const rentalState = await (0, srsly_1.deriveActiveRental)(params.contract);
63
- // Get borrower - use provided value, or fetch from rental state, or fall back to payer
67
+ // Fetch rental state for borrower, referrer
64
68
  let borrower;
65
- if (params.borrower) {
66
- borrower = (0, kit_1.address)(params.borrower);
67
- }
68
- else {
69
- try {
70
- const rental = await (0, rental_1.fetchRental)(rentalState, finalConfig.rpcUrl);
71
- borrower = rental.data.borrower;
72
- }
73
- catch {
74
- // Rental state doesn't exist, fall back to payer
75
- borrower = payerSigner.address;
76
- }
77
- }
69
+ let referrer;
70
+ const rental = await (0, rental_1.fetchRental)(rentalState, finalConfig.rpcUrl);
71
+ borrower = params.borrower ? (0, kit_1.address)(params.borrower) : rental.data.borrower;
72
+ referrer = (0, kit_2.isOption)(rental.data.referrer) ? (0, kit_2.unwrapOption)(rental.data.referrer) ?? undefined : undefined;
78
73
  // Derive borrower state PDA
79
74
  const borrowerState = await (0, srsly_1.deriveBorrowerState)(borrower);
80
75
  // Fetch fleet to get faction and derive SAGE accounts
@@ -84,22 +79,32 @@ async function closeRental(params, config) {
84
79
  const faction = fleetState.faction;
85
80
  // Derive SAGE game accounts using borrower's profile
86
81
  const gameAccounts = await (0, sage_1.deriveGameAccounts)(borrowerProfile, faction, gameId);
87
- // Get atlasMint from on-chain config
88
- const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
82
+ // Get addresses
89
83
  const addresses = (0, config_1.getAddresses)(config);
90
84
  const sageProgram = (0, kit_1.address)(addresses.sage);
91
85
  const programAddress = (0, kit_1.address)(addresses.srsly);
86
+ const contractAddress = (0, kit_1.address)(params.contract);
87
+ // Derive fee flush accounts
88
+ const vaultAddress = (0, kit_1.address)(configAccount.data.slyvault);
89
+ const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vaultAddress, atlasMint);
90
+ const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
91
+ // Borrower's managed ATA for discount refund
92
+ const borrowerTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(borrowerState, atlasMint);
92
93
  // Call Codama-generated instruction
93
94
  const kitInstruction = await (0, instructions_1.getCloseRentalInstructionAsync)({
94
95
  payer: payerSigner,
95
- borrower,
96
96
  borrowerState,
97
- contract: (0, kit_1.address)(params.contract),
97
+ contract: contractAddress,
98
98
  rentalState,
99
99
  fleet: (0, kit_1.address)(fleet),
100
100
  gameId: (0, kit_1.address)(gameId),
101
101
  starbase: gameAccounts.starbase,
102
102
  starbasePlayer: gameAccounts.starbasePlayer,
103
+ contractTokenAccount,
104
+ vault: vaultAddress,
105
+ vaultTokenAccount,
106
+ referrer,
107
+ borrowerTokenAccount,
103
108
  sageProgram,
104
109
  }, { programAddress });
105
110
  return (0, instructions_2.prepareInstructions)(kitInstruction, {
@@ -1 +1 @@
1
- {"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"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"}
@@ -61,10 +61,7 @@ async function createConfig(params, config) {
61
61
  const sageProgram = (0, kit_1.address)(addresses.sage);
62
62
  const antegenProgram = (0, kit_1.address)(addresses.antegen);
63
63
  // Convert authority to TransactionSigner
64
- // Handles both real signers (CLI/backend) and addresses (browser/wallet)
65
- const authoritySigner = params.authority
66
- ? (0, signer_1.toTransactionSigner)(params.authority)
67
- : undefined;
64
+ const authoritySigner = (0, signer_1.toTransactionSigner)(params.authority);
68
65
  // Call Codama-generated instruction
69
66
  // srslyProgram is passed automatically as programAddress for vault derivation
70
67
  const kitInstruction = await (0, instructions_1.getCreateConfigInstructionAsync)({
@@ -1 +1 @@
1
- {"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../../../src/instructions/createConfig.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA2EH,oCAuDC;AAhID,qCAAoD;AACpD,mEAAmF;AACnF,4CAA4E;AAC5E,4CAA4E;AAE5E,wDAA4D;AA0C5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,OAAkB,CAAC,CAAC;IAE7D,yCAAyC;IACzC,yEAAyE;IACzE,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS;QACtC,CAAC,CAAC,IAAA,4BAAmB,EAAC,MAAM,CAAC,SAAS,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC;IAEd,oCAAoC;IACpC,8EAA8E;IAC9E,MAAM,cAAc,GAAG,MAAM,IAAA,8CAA+B,EAC1D;QACE,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,iBAAiB,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,iBAA4B,CAAC;QAC/D,WAAW,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,WAAsB,CAAC;QACnD,WAAW;QACX,cAAc;QACd,YAAY,EAAE,cAAc;QAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;KACtC,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../../../src/instructions/createConfig.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA2EH,oCAoDC;AA7HD,qCAAoD;AACpD,mEAAmF;AACnF,4CAA4E;AAC5E,4CAA4E;AAE5E,wDAA4D;AA0C5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,OAAkB,CAAC,CAAC;IAE7D,yCAAyC;IACzC,MAAM,eAAe,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE9D,oCAAoC;IACpC,8EAA8E;IAC9E,MAAM,cAAc,GAAG,MAAM,IAAA,8CAA+B,EAC1D;QACE,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,iBAAiB,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,iBAA4B,CAAC;QAC/D,WAAW,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,WAAsB,CAAC;QACnD,WAAW;QACX,cAAc;QACd,YAAY,EAAE,cAAc;QAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;KACtC,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ /**
3
+ * @purpose Simplified deleteContractThread instruction wrapper
4
+ *
5
+ * Thin convenience wrapper around Codama-generated deleteContractThread instruction.
6
+ * Admin-only instruction to delete a contract's thread for schema migrations.
7
+ * Unlike closeContractThread, does not require the contract account.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.deleteContractThread = deleteContractThread;
11
+ const kit_1 = require("@solana/kit");
12
+ const instructions_1 = require("../generated/codama/instructions");
13
+ const config_1 = require("../utils/config");
14
+ const signer_1 = require("../utils/signer");
15
+ const instructions_2 = require("../utils/instructions");
16
+ const thread_1 = require("../accounts/thread");
17
+ const thread_2 = require("../pda/thread");
18
+ const srsly_1 = require("../pda/srsly");
19
+ /**
20
+ * Admin-delete a per-contract automation thread
21
+ *
22
+ * Like closeContractThread but uses admin auth and does not require the
23
+ * contract account on-chain (for when contracts are already deleted or
24
+ * undeserializable). Fetches the thread account to read `fiberIds`, then
25
+ * derives and passes fiber PDAs as remaining accounts.
26
+ *
27
+ * @param params - Thread deletion parameters
28
+ * @param config - Optional SDK configuration overrides
29
+ * @returns Kit instruction (or web3.js if PublicKey in config)
30
+ */
31
+ async function deleteContractThread(params, config) {
32
+ const finalConfig = (0, config_1.mergeConfig)(config);
33
+ if (!params.admin) {
34
+ throw new Error('admin is required');
35
+ }
36
+ if (!params.contract) {
37
+ throw new Error('contract is required');
38
+ }
39
+ const adminSigner = (0, signer_1.toTransactionSigner)(params.admin);
40
+ const addresses = (0, config_1.getAddresses)(config);
41
+ const programAddress = (0, kit_1.address)(addresses.srsly);
42
+ const contractAddress = (0, kit_1.address)(params.contract);
43
+ // Derive thread PDA
44
+ const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
45
+ const contractThread = await (0, thread_2.deriveContractThread)(contractAddress, rentalAuthority);
46
+ // Fetch thread account to read actual fiber_ids
47
+ const threadAccount = await (0, thread_1.fetchThread)(contractThread, finalConfig.rpcUrl);
48
+ const fiberIds = Array.from(threadAccount.data.fiberIds);
49
+ // Derive fiber PDAs only for fibers that actually exist on the thread
50
+ const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
51
+ address: await (0, thread_2.deriveFiber)(contractThread, id),
52
+ role: kit_1.AccountRole.WRITABLE,
53
+ })));
54
+ const kitInstruction = await (0, instructions_1.getDeleteContractThreadInstructionAsync)({
55
+ admin: adminSigner,
56
+ thread: contractThread,
57
+ }, { programAddress });
58
+ // Add fiber PDAs as remaining accounts (writable, non-signer)
59
+ kitInstruction.accounts.push(...fiberAccounts);
60
+ return (0, instructions_2.prepareInstructions)(kitInstruction, {
61
+ computeUnits: params.computeUnits,
62
+ PublicKey: finalConfig.PublicKey
63
+ });
64
+ }
65
+ //# sourceMappingURL=deleteContractThread.js.map