@wuwei-labs/srsly 4.1.3 → 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 (219) 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 +4 -1
  10. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  11. package/dist/cjs/generated/codama/instructions/acceptRental.js +40 -14
  12. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  13. package/dist/cjs/generated/codama/instructions/activateRental.js +1 -75
  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 +4 -12
  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/deleteConfig.js +4 -4
  21. package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -1
  22. package/dist/cjs/generated/codama/instructions/deleteContract.js.map +1 -1
  23. package/dist/cjs/generated/codama/instructions/deleteContractThread.js +175 -0
  24. package/dist/cjs/generated/codama/instructions/deleteContractThread.js.map +1 -0
  25. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
  26. package/dist/cjs/generated/codama/instructions/index.js +1 -1
  27. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  28. package/dist/cjs/generated/codama/instructions/reserveRental.js +8 -32
  29. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  30. package/dist/cjs/generated/codama/instructions/updateConfig.js +2 -0
  31. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  32. package/dist/cjs/generated/codama/programs/srsly.js +19 -19
  33. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  34. package/dist/cjs/generated/codama/types/fleet.js +14 -0
  35. package/dist/cjs/generated/codama/types/fleet.js.map +1 -1
  36. package/dist/cjs/generated/codama/types/index.js +1 -1
  37. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  38. package/dist/cjs/generated/codama/types/rentalClosed.js +2 -0
  39. package/dist/cjs/generated/codama/types/rentalClosed.js.map +1 -1
  40. package/dist/cjs/generated/codama/types/reservationCreated.js +2 -0
  41. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  42. package/dist/cjs/generated/codama/types/shipStats.js +2 -0
  43. package/dist/cjs/generated/codama/types/shipStats.js.map +1 -1
  44. package/dist/cjs/instructions/acceptRental.js +15 -18
  45. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  46. package/dist/cjs/instructions/activateRental.js +0 -8
  47. package/dist/cjs/instructions/activateRental.js.map +1 -1
  48. package/dist/cjs/instructions/closeContract.js +79 -27
  49. package/dist/cjs/instructions/closeContract.js.map +1 -1
  50. package/dist/cjs/instructions/closeRental.js +25 -20
  51. package/dist/cjs/instructions/closeRental.js.map +1 -1
  52. package/dist/cjs/instructions/createConfig.js +1 -4
  53. package/dist/cjs/instructions/createConfig.js.map +1 -1
  54. package/dist/cjs/instructions/deleteContractThread.js +65 -0
  55. package/dist/cjs/instructions/deleteContractThread.js.map +1 -0
  56. package/dist/cjs/instructions/index.js +1 -1
  57. package/dist/cjs/instructions/index.js.map +1 -1
  58. package/dist/cjs/instructions/invalidateRental.js +10 -7
  59. package/dist/cjs/instructions/invalidateRental.js.map +1 -1
  60. package/dist/cjs/instructions/releaseRental.js +10 -7
  61. package/dist/cjs/instructions/releaseRental.js.map +1 -1
  62. package/dist/cjs/instructions/reserveRental.js +8 -10
  63. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  64. package/dist/cjs/instructions/updateConfig.js +1 -0
  65. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  66. package/dist/cjs/kit/index.js.map +1 -1
  67. package/dist/cjs/legacy/index.js +1 -2
  68. package/dist/cjs/legacy/index.js.map +1 -1
  69. package/dist/cjs/package.json +1 -1
  70. package/dist/cjs/utils/index.js +1 -4
  71. package/dist/cjs/utils/index.js.map +1 -1
  72. package/dist/cjs/version.js +1 -1
  73. package/dist/esm/demos.js +12 -25
  74. package/dist/esm/demos.js.map +1 -1
  75. package/dist/esm/generated/codama/accounts/configState.js +3 -1
  76. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  77. package/dist/esm/generated/codama/accounts/contractState.js +2 -0
  78. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  79. package/dist/esm/generated/codama/accounts/rentalState.js +5 -3
  80. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  81. package/dist/esm/generated/codama/errors/srsly.js +3 -0
  82. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  83. package/dist/esm/generated/codama/instructions/acceptRental.js +41 -15
  84. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  85. package/dist/esm/generated/codama/instructions/activateRental.js +1 -75
  86. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
  87. package/dist/esm/generated/codama/instructions/closeRental.js +170 -25
  88. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  89. package/dist/esm/generated/codama/instructions/createConfig.js +4 -12
  90. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
  91. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
  92. package/dist/esm/generated/codama/instructions/deleteConfig.js +4 -4
  93. package/dist/esm/generated/codama/instructions/deleteConfig.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 -32
  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 +19 -19
  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 -18
  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 +8 -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.map +1 -1
  139. package/dist/esm/legacy/index.js +0 -1
  140. package/dist/esm/legacy/index.js.map +1 -1
  141. package/dist/esm/package.json +1 -1
  142. package/dist/esm/utils/index.js +0 -2
  143. package/dist/esm/utils/index.js.map +1 -1
  144. package/dist/esm/version.js +1 -1
  145. package/dist/idl/srsly.json +429 -412
  146. package/dist/types/demos.d.ts +0 -2
  147. package/dist/types/demos.d.ts.map +1 -1
  148. package/dist/types/generated/codama/accounts/configState.d.ts +4 -0
  149. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  150. package/dist/types/generated/codama/accounts/contractState.d.ts +4 -0
  151. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  152. package/dist/types/generated/codama/accounts/rentalState.d.ts +12 -8
  153. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  154. package/dist/types/generated/codama/errors/srsly.d.ts +3 -1
  155. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  156. package/dist/types/generated/codama/instructions/acceptRental.d.ts +49 -30
  157. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  158. package/dist/types/generated/codama/instructions/activateRental.d.ts +18 -56
  159. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
  160. package/dist/types/generated/codama/instructions/closeRental.d.ts +83 -28
  161. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  162. package/dist/types/generated/codama/instructions/createConfig.d.ts +3 -3
  163. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
  164. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -0
  165. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
  166. package/dist/types/generated/codama/instructions/deleteConfig.d.ts +1 -1
  167. package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -1
  168. package/dist/types/generated/codama/instructions/deleteContract.d.ts +3 -0
  169. package/dist/types/generated/codama/instructions/deleteContract.d.ts.map +1 -1
  170. package/dist/types/generated/codama/instructions/deleteContractThread.d.ts +70 -0
  171. package/dist/types/generated/codama/instructions/deleteContractThread.d.ts.map +1 -0
  172. package/dist/types/generated/codama/instructions/deleteRental.d.ts +3 -0
  173. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
  174. package/dist/types/generated/codama/instructions/index.d.ts +1 -1
  175. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  176. package/dist/types/generated/codama/instructions/reserveRental.d.ts +18 -29
  177. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  178. package/dist/types/generated/codama/instructions/updateConfig.d.ts +6 -0
  179. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  180. package/dist/types/generated/codama/programs/srsly.d.ts +20 -20
  181. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  182. package/dist/types/generated/codama/types/fleet.d.ts +14 -0
  183. package/dist/types/generated/codama/types/fleet.d.ts.map +1 -1
  184. package/dist/types/generated/codama/types/index.d.ts +1 -1
  185. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  186. package/dist/types/generated/codama/types/rentalClosed.d.ts +8 -1
  187. package/dist/types/generated/codama/types/rentalClosed.d.ts.map +1 -1
  188. package/dist/types/generated/codama/types/reservationCreated.d.ts +2 -0
  189. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  190. package/dist/types/generated/codama/types/shipStats.d.ts +3 -1
  191. package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -1
  192. package/dist/types/instructions/acceptRental.d.ts +3 -12
  193. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  194. package/dist/types/instructions/activateRental.d.ts.map +1 -1
  195. package/dist/types/instructions/closeContract.d.ts +5 -0
  196. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  197. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  198. package/dist/types/instructions/createConfig.d.ts +4 -4
  199. package/dist/types/instructions/createConfig.d.ts.map +1 -1
  200. package/dist/types/instructions/deleteContractThread.d.ts +42 -0
  201. package/dist/types/instructions/deleteContractThread.d.ts.map +1 -0
  202. package/dist/types/instructions/index.d.ts +1 -1
  203. package/dist/types/instructions/index.d.ts.map +1 -1
  204. package/dist/types/instructions/invalidateRental.d.ts +4 -3
  205. package/dist/types/instructions/invalidateRental.d.ts.map +1 -1
  206. package/dist/types/instructions/releaseRental.d.ts +4 -3
  207. package/dist/types/instructions/releaseRental.d.ts.map +1 -1
  208. package/dist/types/instructions/reserveRental.d.ts +0 -7
  209. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  210. package/dist/types/instructions/updateConfig.d.ts +4 -4
  211. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  212. package/dist/types/kit/index.d.ts +1 -1
  213. package/dist/types/kit/index.d.ts.map +1 -1
  214. package/dist/types/legacy/index.d.ts +1 -2
  215. package/dist/types/legacy/index.d.ts.map +1 -1
  216. package/dist/types/utils/index.d.ts +0 -1
  217. package/dist/types/utils/index.d.ts.map +1 -1
  218. package/dist/types/version.d.ts +1 -1
  219. package/package.json +3 -3
@@ -1,8 +1,8 @@
1
1
  {
2
- "address": "5qh8b6LrXYVQ4UFg9AxE3eizVrinfGkTbxzsYwMFb6KD",
2
+ "address": "SRSLYxcFnjd5jG2DpJw4as6UEyjwJQK1U4J1TD1hvZH",
3
3
  "metadata": {
4
4
  "name": "srsly",
5
- "version": "4.1.0",
5
+ "version": "5.0.0",
6
6
  "spec": "0.1.0",
7
7
  "description": "Space Rental from SLY"
8
8
  },
@@ -12,7 +12,7 @@
12
12
  "docs": [
13
13
  "Accept a rental contract by providing payment and specifying duration.",
14
14
  "Used when no active rental exists. For queued rentals, use reserve_rental.",
15
- "Optionally includes a Discount PDA for referrer/affiliate discounts."
15
+ "Optionally verifies an ed25519 discount signature via slyvault CPI."
16
16
  ],
17
17
  "discriminator": [
18
18
  192,
@@ -87,7 +87,7 @@
87
87
  {
88
88
  "name": "fleet",
89
89
  "docs": [
90
- "Fleet validated by contract.has_one"
90
+ "Fleet validated by contract"
91
91
  ],
92
92
  "writable": true
93
93
  },
@@ -133,7 +133,10 @@
133
133
  }
134
134
  },
135
135
  {
136
- "name": "rental_state",
136
+ "name": "active_rental",
137
+ "docs": [
138
+ "Active rental slot"
139
+ ],
137
140
  "writable": true,
138
141
  "pda": {
139
142
  "seeds": [
@@ -173,144 +176,11 @@
173
176
  }
174
177
  },
175
178
  {
176
- "name": "rental_authority",
177
- "writable": true,
178
- "pda": {
179
- "seeds": [
180
- {
181
- "kind": "const",
182
- "value": [
183
- 114,
184
- 101,
185
- 110,
186
- 116,
187
- 97,
188
- 108,
189
- 95,
190
- 97,
191
- 117,
192
- 116,
193
- 104,
194
- 111,
195
- 114,
196
- 105,
197
- 116,
198
- 121
199
- ]
200
- }
201
- ]
202
- }
203
- },
204
- {
205
- "name": "contract_token_account",
206
- "writable": true
207
- },
208
- {
209
- "name": "vault",
210
- "writable": true
211
- },
212
- {
213
- "name": "vault_token_account",
214
- "writable": true
215
- },
216
- {
217
- "name": "referrer",
218
- "writable": true,
219
- "optional": true
220
- },
221
- {
222
- "name": "discount",
179
+ "name": "queued_rental",
223
180
  "docs": [
224
- "Optional Discount PDA — passed through to slyvault deposit CPI (consumed there)"
181
+ "Queued rental slot"
225
182
  ],
226
183
  "writable": true,
227
- "optional": true
228
- },
229
- {
230
- "name": "contract_thread",
231
- "writable": true,
232
- "optional": true
233
- },
234
- {
235
- "name": "close_rental_fiber",
236
- "writable": true,
237
- "optional": true
238
- },
239
- {
240
- "name": "sage_program"
241
- },
242
- {
243
- "name": "slyvault_program",
244
- "address": "6F45Qqc6fnzhxxo5ABwDMHcfxxtVhB8kbjJNabnpsZi7"
245
- },
246
- {
247
- "name": "antegen_program",
248
- "address": "AgTv5w1UvUb6zeqkThwMrztGu9hpepBu8YLghuR4dpSx"
249
- },
250
- {
251
- "name": "fiber_program",
252
- "address": "AgFv5afjW9DmSPkiEvJ1er5bAAmRUqaBeTB6Cr8e1hKx"
253
- },
254
- {
255
- "name": "token_program",
256
- "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
257
- },
258
- {
259
- "name": "system_program",
260
- "address": "11111111111111111111111111111111"
261
- }
262
- ],
263
- "args": [
264
- {
265
- "name": "duration",
266
- "type": "i64"
267
- }
268
- ]
269
- },
270
- {
271
- "name": "activate_rental",
272
- "docs": [
273
- "Activate a pending (queued) rental.",
274
- "Works as fallback when automation is delayed/stuck, OR for non-threaded contracts.",
275
- "If a per-contract thread exists, updates fiber 1 with new active borrower's accounts."
276
- ],
277
- "discriminator": [
278
- 180,
279
- 101,
280
- 147,
281
- 128,
282
- 92,
283
- 153,
284
- 230,
285
- 127
286
- ],
287
- "accounts": [
288
- {
289
- "name": "payer",
290
- "writable": true,
291
- "signer": true
292
- },
293
- {
294
- "name": "config",
295
- "pda": {
296
- "seeds": [
297
- {
298
- "kind": "const",
299
- "value": [
300
- 99,
301
- 111,
302
- 110,
303
- 102,
304
- 105,
305
- 103
306
- ]
307
- }
308
- ]
309
- }
310
- },
311
- {
312
- "name": "active_rental",
313
- "writable": true,
314
184
  "pda": {
315
185
  "seeds": [
316
186
  {
@@ -337,19 +207,19 @@
337
207
  {
338
208
  "kind": "const",
339
209
  "value": [
340
- 97,
341
- 99,
342
- 116,
343
- 105,
344
- 118,
345
- 101
210
+ 113,
211
+ 117,
212
+ 101,
213
+ 117,
214
+ 101,
215
+ 100
346
216
  ]
347
217
  }
348
218
  ]
349
219
  }
350
220
  },
351
221
  {
352
- "name": "queued_rental",
222
+ "name": "rental_authority",
353
223
  "writable": true,
354
224
  "pda": {
355
225
  "seeds": [
@@ -363,68 +233,24 @@
363
233
  97,
364
234
  108,
365
235
  95,
366
- 115,
367
- 116,
368
236
  97,
369
- 116,
370
- 101
371
- ]
372
- },
373
- {
374
- "kind": "account",
375
- "path": "contract"
376
- },
377
- {
378
- "kind": "const",
379
- "value": [
380
- 113,
381
- 117,
382
- 101,
383
237
  117,
384
- 101,
385
- 100
238
+ 116,
239
+ 104,
240
+ 111,
241
+ 114,
242
+ 105,
243
+ 116,
244
+ 121
386
245
  ]
387
246
  }
388
247
  ]
389
248
  }
390
249
  },
391
- {
392
- "name": "contract",
393
- "writable": true
394
- },
395
250
  {
396
251
  "name": "contract_token_account",
397
- "docs": [
398
- "Contract's token account (source for deferred fee payment)"
399
- ],
400
- "writable": true
401
- },
402
- {
403
- "name": "mint"
404
- },
405
- {
406
- "name": "borrower_profile"
407
- },
408
- {
409
- "name": "borrower_profile_faction"
410
- },
411
- {
412
- "name": "fleet",
413
252
  "writable": true
414
253
  },
415
- {
416
- "name": "game_id"
417
- },
418
- {
419
- "name": "contract_thread",
420
- "writable": true,
421
- "optional": true
422
- },
423
- {
424
- "name": "close_rental_fiber",
425
- "writable": true,
426
- "optional": true
427
- },
428
254
  {
429
255
  "name": "vault",
430
256
  "writable": true
@@ -439,57 +265,30 @@
439
265
  "optional": true
440
266
  },
441
267
  {
442
- "name": "discount",
443
- "docs": [
444
- "Optional Discount PDA — must be locked, consumed via slyvault deposit CPI"
445
- ],
268
+ "name": "contract_thread",
446
269
  "writable": true,
447
270
  "optional": true
448
271
  },
449
272
  {
450
- "name": "rental_authority",
273
+ "name": "close_rental_fiber",
451
274
  "writable": true,
452
- "pda": {
453
- "seeds": [
454
- {
455
- "kind": "const",
456
- "value": [
457
- 114,
458
- 101,
459
- 110,
460
- 116,
461
- 97,
462
- 108,
463
- 95,
464
- 97,
465
- 117,
466
- 116,
467
- 104,
468
- 111,
469
- 114,
470
- 105,
471
- 116,
472
- 121
473
- ]
474
- }
475
- ]
476
- }
275
+ "optional": true
477
276
  },
478
277
  {
479
278
  "name": "sage_program"
480
279
  },
481
280
  {
482
281
  "name": "slyvault_program",
483
- "address": "6F45Qqc6fnzhxxo5ABwDMHcfxxtVhB8kbjJNabnpsZi7"
484
- },
485
- {
486
- "name": "fiber_program",
487
- "address": "AgFv5afjW9DmSPkiEvJ1er5bAAmRUqaBeTB6Cr8e1hKx"
282
+ "address": "VLTukwau1TDGhQUgBJfSSojSMv3BfnMHKrewnGN98M3"
488
283
  },
489
284
  {
490
285
  "name": "antegen_program",
491
286
  "address": "AgTv5w1UvUb6zeqkThwMrztGu9hpepBu8YLghuR4dpSx"
492
287
  },
288
+ {
289
+ "name": "fiber_program",
290
+ "address": "AgFv5afjW9DmSPkiEvJ1er5bAAmRUqaBeTB6Cr8e1hKx"
291
+ },
493
292
  {
494
293
  "name": "token_program",
495
294
  "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
@@ -499,12 +298,41 @@
499
298
  "address": "11111111111111111111111111111111"
500
299
  }
501
300
  ],
502
- "args": [],
503
- "returns": {
504
- "defined": {
505
- "name": "Signal"
301
+ "args": [
302
+ {
303
+ "name": "duration",
304
+ "type": "i64"
305
+ },
306
+ {
307
+ "name": "discount_signature",
308
+ "type": {
309
+ "option": {
310
+ "array": [
311
+ "u8",
312
+ 64
313
+ ]
314
+ }
315
+ }
316
+ },
317
+ {
318
+ "name": "discount_member_nonce",
319
+ "type": {
320
+ "option": "u32"
321
+ }
322
+ },
323
+ {
324
+ "name": "discount_bps",
325
+ "type": {
326
+ "option": "u16"
327
+ }
328
+ },
329
+ {
330
+ "name": "discount_expires_at",
331
+ "type": {
332
+ "option": "i64"
333
+ }
506
334
  }
507
- }
335
+ ]
508
336
  },
509
337
  {
510
338
  "name": "cancel_rental",
@@ -1852,7 +1680,7 @@
1852
1680
  {
1853
1681
  "name": "close_rental",
1854
1682
  "docs": [
1855
- "Close a completed or expired rental and clean up state.",
1683
+ "Close a completed or expired rental, optionally activating a queued rental inline.",
1856
1684
  "Serves both fiber 1 (automated) and manual fallback.",
1857
1685
  "Returns Signal for fiber dispatch (manual callers ignore return_data)."
1858
1686
  ],
@@ -1891,51 +1719,92 @@
1891
1719
  }
1892
1720
  },
1893
1721
  {
1894
- "name": "borrower",
1895
- "writable": true,
1896
- "relations": [
1897
- "rental_state"
1898
- ]
1899
- },
1900
- {
1901
- "name": "borrower_state",
1722
+ "name": "contract",
1902
1723
  "writable": true,
1903
1724
  "pda": {
1904
1725
  "seeds": [
1905
1726
  {
1906
1727
  "kind": "const",
1907
1728
  "value": [
1908
- 98,
1909
- 111,
1910
- 114,
1911
1729
  114,
1912
- 111,
1913
- 119,
1914
1730
  101,
1915
- 114,
1916
- 95,
1917
- 115,
1731
+ 110,
1918
1732
  116,
1919
1733
  97,
1734
+ 108,
1735
+ 95,
1736
+ 99,
1737
+ 111,
1738
+ 110,
1920
1739
  116,
1921
- 101
1740
+ 114,
1741
+ 97,
1742
+ 99,
1743
+ 116
1922
1744
  ]
1923
1745
  },
1924
1746
  {
1925
1747
  "kind": "account",
1926
- "path": "rental_state.borrower",
1927
- "account": "RentalState"
1748
+ "path": "contract.fleet",
1749
+ "account": "ContractState"
1928
1750
  }
1929
1751
  ]
1930
1752
  }
1931
1753
  },
1932
1754
  {
1933
- "name": "contract",
1755
+ "name": "rental_state",
1934
1756
  "writable": true
1935
1757
  },
1936
1758
  {
1937
- "name": "rental_state",
1759
+ "name": "borrower_state",
1760
+ "writable": true
1761
+ },
1762
+ {
1763
+ "name": "fleet",
1764
+ "docs": [
1765
+ "Fleet validated by contract"
1766
+ ],
1767
+ "writable": true
1768
+ },
1769
+ {
1770
+ "name": "game_id"
1771
+ },
1772
+ {
1773
+ "name": "starbase"
1774
+ },
1775
+ {
1776
+ "name": "starbase_player",
1777
+ "writable": true
1778
+ },
1779
+ {
1780
+ "name": "contract_token_account",
1781
+ "docs": [
1782
+ "Contract's escrow token account (source for fee flush)"
1783
+ ],
1784
+ "writable": true
1785
+ },
1786
+ {
1787
+ "name": "vault",
1788
+ "writable": true
1789
+ },
1790
+ {
1791
+ "name": "vault_token_account",
1792
+ "writable": true
1793
+ },
1794
+ {
1795
+ "name": "referrer",
1796
+ "writable": true,
1797
+ "optional": true
1798
+ },
1799
+ {
1800
+ "name": "borrower_token_account",
1801
+ "writable": true,
1802
+ "optional": true
1803
+ },
1804
+ {
1805
+ "name": "queued_rental",
1938
1806
  "writable": true,
1807
+ "optional": true,
1939
1808
  "pda": {
1940
1809
  "seeds": [
1941
1810
  {
@@ -1962,17 +1831,35 @@
1962
1831
  {
1963
1832
  "kind": "const",
1964
1833
  "value": [
1965
- 97,
1966
- 99,
1967
- 116,
1968
- 105,
1969
- 118,
1970
- 101
1834
+ 113,
1835
+ 117,
1836
+ 101,
1837
+ 117,
1838
+ 101,
1839
+ 100
1971
1840
  ]
1972
1841
  }
1973
1842
  ]
1974
1843
  }
1975
1844
  },
1845
+ {
1846
+ "name": "queued_borrower_profile",
1847
+ "optional": true
1848
+ },
1849
+ {
1850
+ "name": "queued_borrower_profile_faction",
1851
+ "optional": true
1852
+ },
1853
+ {
1854
+ "name": "contract_thread",
1855
+ "writable": true,
1856
+ "optional": true
1857
+ },
1858
+ {
1859
+ "name": "close_rental_fiber",
1860
+ "writable": true,
1861
+ "optional": true
1862
+ },
1976
1863
  {
1977
1864
  "name": "rental_authority",
1978
1865
  "pda": {
@@ -2002,24 +1889,23 @@
2002
1889
  }
2003
1890
  },
2004
1891
  {
2005
- "name": "fleet",
2006
- "docs": [
2007
- "Fleet validated by contract"
2008
- ],
2009
- "writable": true
1892
+ "name": "sage_program"
2010
1893
  },
2011
1894
  {
2012
- "name": "game_id"
1895
+ "name": "slyvault_program",
1896
+ "address": "VLTukwau1TDGhQUgBJfSSojSMv3BfnMHKrewnGN98M3"
2013
1897
  },
2014
1898
  {
2015
- "name": "starbase"
1899
+ "name": "fiber_program",
1900
+ "address": "AgFv5afjW9DmSPkiEvJ1er5bAAmRUqaBeTB6Cr8e1hKx"
2016
1901
  },
2017
1902
  {
2018
- "name": "starbase_player",
2019
- "writable": true
1903
+ "name": "antegen_program",
1904
+ "address": "AgTv5w1UvUb6zeqkThwMrztGu9hpepBu8YLghuR4dpSx"
2020
1905
  },
2021
1906
  {
2022
- "name": "sage_program"
1907
+ "name": "token_program",
1908
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
2023
1909
  },
2024
1910
  {
2025
1911
  "name": "system_program",
@@ -2235,8 +2121,7 @@
2235
2121
  {
2236
2122
  "name": "authority",
2237
2123
  "writable": true,
2238
- "signer": true,
2239
- "address": "5xoQptcACAAAwPunPAgNgoGfEqywR5VyZdUdzGpaTp2z"
2124
+ "signer": true
2240
2125
  },
2241
2126
  {
2242
2127
  "name": "config",
@@ -2284,11 +2169,11 @@
2284
2169
  },
2285
2170
  {
2286
2171
  "name": "srsly_program",
2287
- "address": "5qh8b6LrXYVQ4UFg9AxE3eizVrinfGkTbxzsYwMFb6KD"
2172
+ "address": "SRSLYxcFnjd5jG2DpJw4as6UEyjwJQK1U4J1TD1hvZH"
2288
2173
  },
2289
2174
  {
2290
2175
  "name": "slyvault_program",
2291
- "address": "6F45Qqc6fnzhxxo5ABwDMHcfxxtVhB8kbjJNabnpsZi7"
2176
+ "address": "VLTukwau1TDGhQUgBJfSSojSMv3BfnMHKrewnGN98M3"
2292
2177
  },
2293
2178
  {
2294
2179
  "name": "token_program",
@@ -2642,8 +2527,8 @@
2642
2527
  "name": "create_contract_thread",
2643
2528
  "docs": [
2644
2529
  "Create per-contract automation thread with fiber-based dispatch.",
2645
- "Creates thread (fiber 0: controller) + fiber 1 (rental_close) + fiber 2 (rental_activate).",
2646
- "Owner-managed — thread lifecycle is independent of contract lifecycle."
2530
+ "Creates thread (fiber 0: controller) + fiber 1 (rental_close).",
2531
+ "Activation is handled inline by rental_close. Owner-managed."
2647
2532
  ],
2648
2533
  "discriminator": [
2649
2534
  233,
@@ -2999,6 +2884,9 @@
2999
2884
  },
3000
2885
  {
3001
2886
  "name": "config",
2887
+ "docs": [
2888
+ "Bypassed when admin is AUTHORIZED_INITIALIZER (break-glass)."
2889
+ ],
3002
2890
  "pda": {
3003
2891
  "seeds": [
3004
2892
  {
@@ -3082,37 +2970,91 @@
3082
2970
  },
3083
2971
  {
3084
2972
  "name": "srsly_program",
3085
- "address": "5qh8b6LrXYVQ4UFg9AxE3eizVrinfGkTbxzsYwMFb6KD"
2973
+ "address": "SRSLYxcFnjd5jG2DpJw4as6UEyjwJQK1U4J1TD1hvZH"
3086
2974
  },
3087
2975
  {
3088
2976
  "name": "slyvault_program",
3089
- "address": "6F45Qqc6fnzhxxo5ABwDMHcfxxtVhB8kbjJNabnpsZi7"
2977
+ "address": "VLTukwau1TDGhQUgBJfSSojSMv3BfnMHKrewnGN98M3"
2978
+ },
2979
+ {
2980
+ "name": "token_program",
2981
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
2982
+ },
2983
+ {
2984
+ "name": "system_program",
2985
+ "address": "11111111111111111111111111111111"
2986
+ }
2987
+ ],
2988
+ "args": []
2989
+ },
2990
+ {
2991
+ "name": "delete_contract",
2992
+ "docs": [
2993
+ "Delete contract state (dev-only for schema migrations)"
2994
+ ],
2995
+ "discriminator": [
2996
+ 189,
2997
+ 115,
2998
+ 12,
2999
+ 22,
3000
+ 241,
3001
+ 49,
3002
+ 35,
3003
+ 6
3004
+ ],
3005
+ "accounts": [
3006
+ {
3007
+ "name": "admin",
3008
+ "writable": true,
3009
+ "signer": true
3010
+ },
3011
+ {
3012
+ "name": "config",
3013
+ "docs": [
3014
+ "Bypassed when admin is AUTHORIZED_INITIALIZER (break-glass)."
3015
+ ],
3016
+ "pda": {
3017
+ "seeds": [
3018
+ {
3019
+ "kind": "const",
3020
+ "value": [
3021
+ 99,
3022
+ 111,
3023
+ 110,
3024
+ 102,
3025
+ 105,
3026
+ 103
3027
+ ]
3028
+ }
3029
+ ]
3030
+ }
3090
3031
  },
3091
3032
  {
3092
- "name": "token_program",
3093
- "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
3033
+ "name": "owner",
3034
+ "writable": true
3094
3035
  },
3095
3036
  {
3096
- "name": "system_program",
3097
- "address": "11111111111111111111111111111111"
3037
+ "name": "contract",
3038
+ "writable": true
3098
3039
  }
3099
3040
  ],
3100
3041
  "args": []
3101
3042
  },
3102
3043
  {
3103
- "name": "delete_contract",
3044
+ "name": "delete_contract_thread",
3104
3045
  "docs": [
3105
- "Delete contract state (dev-only for schema migrations)"
3046
+ "Admin-only thread deletion for schema migrations / redeployments.",
3047
+ "Like close_contract_thread but uses admin auth and skips contract deserialization."
3106
3048
  ],
3107
3049
  "discriminator": [
3108
- 189,
3109
- 115,
3110
- 12,
3111
- 22,
3112
- 241,
3113
- 49,
3114
- 35,
3115
- 6
3050
+ 113,
3051
+ 179,
3052
+ 247,
3053
+ 242,
3054
+ 60,
3055
+ 125,
3056
+ 240,
3057
+ 68
3116
3058
  ],
3117
3059
  "accounts": [
3118
3060
  {
@@ -3122,6 +3064,9 @@
3122
3064
  },
3123
3065
  {
3124
3066
  "name": "config",
3067
+ "docs": [
3068
+ "Bypassed when admin is AUTHORIZED_INITIALIZER (break-glass)."
3069
+ ],
3125
3070
  "pda": {
3126
3071
  "seeds": [
3127
3072
  {
@@ -3139,12 +3084,48 @@
3139
3084
  }
3140
3085
  },
3141
3086
  {
3142
- "name": "owner",
3143
- "writable": true
3087
+ "name": "rental_authority",
3088
+ "pda": {
3089
+ "seeds": [
3090
+ {
3091
+ "kind": "const",
3092
+ "value": [
3093
+ 114,
3094
+ 101,
3095
+ 110,
3096
+ 116,
3097
+ 97,
3098
+ 108,
3099
+ 95,
3100
+ 97,
3101
+ 117,
3102
+ 116,
3103
+ 104,
3104
+ 111,
3105
+ 114,
3106
+ 105,
3107
+ 116,
3108
+ 121
3109
+ ]
3110
+ }
3111
+ ]
3112
+ }
3144
3113
  },
3145
3114
  {
3146
- "name": "contract",
3115
+ "name": "thread",
3147
3116
  "writable": true
3117
+ },
3118
+ {
3119
+ "name": "antegen_program",
3120
+ "address": "AgTv5w1UvUb6zeqkThwMrztGu9hpepBu8YLghuR4dpSx"
3121
+ },
3122
+ {
3123
+ "name": "fiber_program",
3124
+ "address": "AgFv5afjW9DmSPkiEvJ1er5bAAmRUqaBeTB6Cr8e1hKx"
3125
+ },
3126
+ {
3127
+ "name": "system_program",
3128
+ "address": "11111111111111111111111111111111"
3148
3129
  }
3149
3130
  ],
3150
3131
  "args": []
@@ -3173,6 +3154,9 @@
3173
3154
  },
3174
3155
  {
3175
3156
  "name": "config",
3157
+ "docs": [
3158
+ "Bypassed when admin is AUTHORIZED_INITIALIZER (break-glass)."
3159
+ ],
3176
3160
  "pda": {
3177
3161
  "seeds": [
3178
3162
  {
@@ -3734,7 +3718,7 @@
3734
3718
  "writable": true
3735
3719
  },
3736
3720
  {
3737
- "name": "activate_rental_fiber",
3721
+ "name": "close_rental_fiber",
3738
3722
  "writable": true
3739
3723
  },
3740
3724
  {
@@ -3934,13 +3918,6 @@
3934
3918
  "writable": true,
3935
3919
  "optional": true
3936
3920
  },
3937
- {
3938
- "name": "discount",
3939
- "docs": [
3940
- "Optional Discount PDA — read-only at reserve time, stored for deferred use at activation"
3941
- ],
3942
- "optional": true
3943
- },
3944
3921
  {
3945
3922
  "name": "rental_authority",
3946
3923
  "pda": {
@@ -3972,10 +3949,6 @@
3972
3949
  {
3973
3950
  "name": "sage_program"
3974
3951
  },
3975
- {
3976
- "name": "slyvault_program",
3977
- "address": "6F45Qqc6fnzhxxo5ABwDMHcfxxtVhB8kbjJNabnpsZi7"
3978
- },
3979
3952
  {
3980
3953
  "name": "antegen_program",
3981
3954
  "address": "AgTv5w1UvUb6zeqkThwMrztGu9hpepBu8YLghuR4dpSx"
@@ -5052,6 +5025,11 @@
5052
5025
  "code": 6091,
5053
5026
  "name": "DiscountNotLocked",
5054
5027
  "msg": "Discount must be locked before it can be used in activation"
5028
+ },
5029
+ {
5030
+ "code": 6092,
5031
+ "name": "MissingReferrer",
5032
+ "msg": "Referrer account required when discount params are provided"
5055
5033
  }
5056
5034
  ],
5057
5035
  "types": [
@@ -5222,6 +5200,65 @@
5222
5200
  ]
5223
5201
  }
5224
5202
  },
5203
+ {
5204
+ "name": "CombatStats",
5205
+ "docs": [
5206
+ "A ship's combat stats"
5207
+ ],
5208
+ "type": {
5209
+ "kind": "struct",
5210
+ "fields": [
5211
+ {
5212
+ "name": "ap",
5213
+ "type": "u32"
5214
+ },
5215
+ {
5216
+ "name": "hp",
5217
+ "type": "u32"
5218
+ },
5219
+ {
5220
+ "name": "sp",
5221
+ "type": "u32"
5222
+ },
5223
+ {
5224
+ "name": "ammo_consumption_rate",
5225
+ "type": "u32"
5226
+ },
5227
+ {
5228
+ "name": "ap_regen_rate",
5229
+ "type": "u32"
5230
+ },
5231
+ {
5232
+ "name": "shield_recharge_rate",
5233
+ "type": "u32"
5234
+ },
5235
+ {
5236
+ "name": "repair_rate",
5237
+ "type": "u32"
5238
+ },
5239
+ {
5240
+ "name": "repair_ability",
5241
+ "type": "u32"
5242
+ },
5243
+ {
5244
+ "name": "repair_efficiency",
5245
+ "type": "u32"
5246
+ },
5247
+ {
5248
+ "name": "loot_rate",
5249
+ "type": "u32"
5250
+ },
5251
+ {
5252
+ "name": "shield_break_delay",
5253
+ "type": "u16"
5254
+ },
5255
+ {
5256
+ "name": "warp_spool_duration",
5257
+ "type": "u16"
5258
+ }
5259
+ ]
5260
+ }
5261
+ },
5225
5262
  {
5226
5263
  "name": "ConfigState",
5227
5264
  "docs": [
@@ -5366,6 +5403,13 @@
5366
5403
  ],
5367
5404
  "type": "u64"
5368
5405
  },
5406
+ {
5407
+ "name": "knockoff_bonus_bps",
5408
+ "docs": [
5409
+ "Knockoff bonus in basis points awarded to defender (default: 500 = 5%)"
5410
+ ],
5411
+ "type": "u64"
5412
+ },
5369
5413
  {
5370
5414
  "name": "lookup_table",
5371
5415
  "docs": [
@@ -5543,6 +5587,15 @@
5543
5587
  "type": {
5544
5588
  "option": "u64"
5545
5589
  }
5590
+ },
5591
+ {
5592
+ "name": "knockoff_bonus_bps",
5593
+ "docs": [
5594
+ "Knockoff bonus in basis points (500 = 5%)"
5595
+ ],
5596
+ "type": {
5597
+ "option": "u64"
5598
+ }
5546
5599
  }
5547
5600
  ]
5548
5601
  }
@@ -5824,6 +5877,13 @@
5824
5877
  ],
5825
5878
  "type": "u64"
5826
5879
  },
5880
+ {
5881
+ "name": "fee_claimable",
5882
+ "docs": [
5883
+ "Accumulated service fees, not yet paid to slyvault (flushed at rental_close)"
5884
+ ],
5885
+ "type": "u64"
5886
+ },
5827
5887
  {
5828
5888
  "name": "created_at",
5829
5889
  "docs": [
@@ -5997,98 +6057,6 @@
5997
6057
  ]
5998
6058
  }
5999
6059
  },
6000
- {
6001
- "name": "Discount",
6002
- "docs": [
6003
- "Single-use discount voucher PDA.",
6004
- "",
6005
- "Created by the discount authority (server-side), consumed at deposit time.",
6006
- "Acts as a nullifier — once closed, the same nonce can never recreate it.",
6007
- "Rent is paid by the affiliate MemberState PDA and returned on close.",
6008
- "",
6009
- "Seeds: [DISCOUNT_SEED, context.as_ref(), &nonce]"
6010
- ],
6011
- "type": {
6012
- "kind": "struct",
6013
- "fields": [
6014
- {
6015
- "name": "version",
6016
- "docs": [
6017
- "Account version for future migrations"
6018
- ],
6019
- "type": "u8"
6020
- },
6021
- {
6022
- "name": "vault",
6023
- "docs": [
6024
- "Which vault this discount applies to"
6025
- ],
6026
- "type": "pubkey"
6027
- },
6028
- {
6029
- "name": "context",
6030
- "docs": [
6031
- "Context binding (e.g. borrower wallet — validated by the calling program)"
6032
- ],
6033
- "type": "pubkey"
6034
- },
6035
- {
6036
- "name": "rent_payer",
6037
- "docs": [
6038
- "Affiliate PDA that paid rent (gets it back on close)"
6039
- ],
6040
- "type": "pubkey"
6041
- },
6042
- {
6043
- "name": "member_nonce",
6044
- "docs": [
6045
- "Which member authorized this discount"
6046
- ],
6047
- "type": "u32"
6048
- },
6049
- {
6050
- "name": "discount_bps",
6051
- "docs": [
6052
- "Basis points discount (0-10000)"
6053
- ],
6054
- "type": "u16"
6055
- },
6056
- {
6057
- "name": "expires_at",
6058
- "docs": [
6059
- "Unix timestamp after which this discount expires"
6060
- ],
6061
- "type": "i64"
6062
- },
6063
- {
6064
- "name": "nonce",
6065
- "docs": [
6066
- "Random nonce — makes PDA unique per issuance"
6067
- ],
6068
- "type": {
6069
- "array": [
6070
- "u8",
6071
- 16
6072
- ]
6073
- }
6074
- },
6075
- {
6076
- "name": "locked",
6077
- "docs": [
6078
- "Whether this discount has been locked (reserved for deferred use)"
6079
- ],
6080
- "type": "bool"
6081
- },
6082
- {
6083
- "name": "bump",
6084
- "docs": [
6085
- "PDA bump seed"
6086
- ],
6087
- "type": "u8"
6088
- }
6089
- ]
6090
- }
6091
- },
6092
6060
  {
6093
6061
  "name": "FieldUpdate",
6094
6062
  "docs": [
@@ -6199,6 +6167,34 @@
6199
6167
  "name": "ammo_bank",
6200
6168
  "type": "pubkey"
6201
6169
  },
6170
+ {
6171
+ "name": "ap",
6172
+ "type": "u32"
6173
+ },
6174
+ {
6175
+ "name": "sp",
6176
+ "type": "u32"
6177
+ },
6178
+ {
6179
+ "name": "hp",
6180
+ "type": "u32"
6181
+ },
6182
+ {
6183
+ "name": "pending_hp",
6184
+ "type": "u32"
6185
+ },
6186
+ {
6187
+ "name": "ap_reload_expires_at",
6188
+ "type": "i64"
6189
+ },
6190
+ {
6191
+ "name": "shield_break_delay_expires_at",
6192
+ "type": "i64"
6193
+ },
6194
+ {
6195
+ "name": "last_combat_update",
6196
+ "type": "i64"
6197
+ },
6202
6198
  {
6203
6199
  "name": "update_id",
6204
6200
  "type": "u64"
@@ -6443,6 +6439,10 @@
6443
6439
  {
6444
6440
  "name": "points_awarded",
6445
6441
  "type": "u32"
6442
+ },
6443
+ {
6444
+ "name": "fee_flushed",
6445
+ "type": "u64"
6446
6446
  }
6447
6447
  ]
6448
6448
  }
@@ -6523,7 +6523,7 @@
6523
6523
  {
6524
6524
  "name": "rate",
6525
6525
  "docs": [
6526
- "Effective rental rate per day in Stardust (after fees)"
6526
+ "Net rate per day in Stardust (after fee deduction)"
6527
6527
  ],
6528
6528
  "type": "u64"
6529
6529
  },
@@ -6558,10 +6558,17 @@
6558
6558
  {
6559
6559
  "name": "service_fee",
6560
6560
  "docs": [
6561
- "Deferred service fee (paid to slyvault at activation, not at claim)"
6561
+ "Total fee target for post-rental collection (total * fee_bps / base_bps)"
6562
6562
  ],
6563
6563
  "type": "u64"
6564
6564
  },
6565
+ {
6566
+ "name": "fee_bps",
6567
+ "docs": [
6568
+ "Fee basis points snapshotted from config (for cancel proration)"
6569
+ ],
6570
+ "type": "u16"
6571
+ },
6565
6572
  {
6566
6573
  "name": "referrer",
6567
6574
  "docs": [
@@ -6572,13 +6579,11 @@
6572
6579
  }
6573
6580
  },
6574
6581
  {
6575
- "name": "discount",
6582
+ "name": "discount_bps",
6576
6583
  "docs": [
6577
- "Discount PDA address for deferred fee payment (consumed at activation)"
6584
+ "Discount basis points verified at accept time (0 = no discount)"
6578
6585
  ],
6579
- "type": {
6580
- "option": "pubkey"
6581
- }
6586
+ "type": "u16"
6582
6587
  },
6583
6588
  {
6584
6589
  "name": "bid_points",
@@ -6674,6 +6679,10 @@
6674
6679
  "name": "service_fee",
6675
6680
  "type": "u64"
6676
6681
  },
6682
+ {
6683
+ "name": "fee_bps",
6684
+ "type": "u16"
6685
+ },
6677
6686
  {
6678
6687
  "name": "duration_seconds",
6679
6688
  "type": "i64"
@@ -6831,6 +6840,14 @@
6831
6840
  }
6832
6841
  }
6833
6842
  },
6843
+ {
6844
+ "name": "combat_stats",
6845
+ "type": {
6846
+ "defined": {
6847
+ "name": "CombatStats"
6848
+ }
6849
+ }
6850
+ },
6834
6851
  {
6835
6852
  "name": "misc_stats",
6836
6853
  "type": {