@sly-rentals/core 5.0.0 → 5.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 (187) hide show
  1. package/dist/api.json +10441 -7771
  2. package/dist/cjs/accounts/contract.js +60 -29
  3. package/dist/cjs/accounts/contract.js.map +1 -1
  4. package/dist/cjs/calculator/MinBidChart.js +45 -14
  5. package/dist/cjs/calculator/MinBidChart.js.map +1 -1
  6. package/dist/cjs/cost/estimate.js +18 -4
  7. package/dist/cjs/cost/estimate.js.map +1 -1
  8. package/dist/cjs/cost/estimate.test.js +11 -1
  9. package/dist/cjs/cost/estimate.test.js.map +1 -1
  10. package/dist/cjs/generated/codama/accounts/contractState.js +4 -4
  11. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  12. package/dist/cjs/generated/codama/instructions/createContract.js +2 -2
  13. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  14. package/dist/cjs/generated/codama/instructions/updateContract.js +2 -2
  15. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  16. package/dist/cjs/generated/codama/types/contractCreated.js +2 -2
  17. package/dist/cjs/generated/codama/types/contractCreated.js.map +1 -1
  18. package/dist/cjs/generated/codama/types/fleet.js +0 -14
  19. package/dist/cjs/generated/codama/types/fleet.js.map +1 -1
  20. package/dist/cjs/generated/codama/types/index.js +0 -1
  21. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  22. package/dist/cjs/generated/codama/types/shipStats.js +0 -2
  23. package/dist/cjs/generated/codama/types/shipStats.js.map +1 -1
  24. package/dist/cjs/generated/codama/types/staleDecayApplied.js +2 -2
  25. package/dist/cjs/generated/codama/types/staleDecayApplied.js.map +1 -1
  26. package/dist/cjs/idl/srsly.json +23 -118
  27. package/dist/cjs/instructions/createContract.js +1 -1
  28. package/dist/cjs/instructions/createContract.js.map +1 -1
  29. package/dist/cjs/instructions/index.js +5 -1
  30. package/dist/cjs/instructions/index.js.map +1 -1
  31. package/dist/cjs/instructions/migrateConfig.js +41 -0
  32. package/dist/cjs/instructions/migrateConfig.js.map +1 -0
  33. package/dist/cjs/instructions/migrateContract.js +47 -0
  34. package/dist/cjs/instructions/migrateContract.js.map +1 -0
  35. package/dist/cjs/instructions/reserveRental.js +4 -3
  36. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  37. package/dist/cjs/instructions/updateContract.js +2 -2
  38. package/dist/cjs/instructions/updateContract.js.map +1 -1
  39. package/dist/cjs/kit/index.js +6 -1
  40. package/dist/cjs/kit/index.js.map +1 -1
  41. package/dist/cjs/legacy/index.js +3 -1
  42. package/dist/cjs/legacy/index.js.map +1 -1
  43. package/dist/cjs/package.json +1 -2
  44. package/dist/cjs/params/index.js +1 -0
  45. package/dist/cjs/params/index.js.map +1 -1
  46. package/dist/cjs/params/points.js +110 -0
  47. package/dist/cjs/params/points.js.map +1 -0
  48. package/dist/cjs/utils/clock.js +42 -0
  49. package/dist/cjs/utils/clock.js.map +1 -0
  50. package/dist/cjs/utils/contestChain.js +20 -4
  51. package/dist/cjs/utils/contestChain.js.map +1 -1
  52. package/dist/cjs/utils/contractSnapshot.js +46 -5
  53. package/dist/cjs/utils/contractSnapshot.js.map +1 -1
  54. package/dist/cjs/utils/contractSnapshot.test.js +28 -3
  55. package/dist/cjs/utils/contractSnapshot.test.js.map +1 -1
  56. package/dist/cjs/utils/index.js +7 -1
  57. package/dist/cjs/utils/index.js.map +1 -1
  58. package/dist/cjs/utils/staleDecay.js +47 -0
  59. package/dist/cjs/utils/staleDecay.js.map +1 -0
  60. package/dist/cjs/utils/staleDecay.test.js +71 -0
  61. package/dist/cjs/utils/staleDecay.test.js.map +1 -0
  62. package/dist/cjs/version.js +1 -1
  63. package/dist/esm/accounts/contract.js +59 -29
  64. package/dist/esm/accounts/contract.js.map +1 -1
  65. package/dist/esm/calculator/MinBidChart.js +45 -14
  66. package/dist/esm/calculator/MinBidChart.js.map +1 -1
  67. package/dist/esm/cost/estimate.js +18 -4
  68. package/dist/esm/cost/estimate.js.map +1 -1
  69. package/dist/esm/cost/estimate.test.js +11 -1
  70. package/dist/esm/cost/estimate.test.js.map +1 -1
  71. package/dist/esm/generated/codama/accounts/contractState.js +4 -4
  72. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  73. package/dist/esm/generated/codama/instructions/createContract.js +2 -2
  74. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  75. package/dist/esm/generated/codama/instructions/updateContract.js +2 -2
  76. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  77. package/dist/esm/generated/codama/types/contractCreated.js +2 -2
  78. package/dist/esm/generated/codama/types/contractCreated.js.map +1 -1
  79. package/dist/esm/generated/codama/types/fleet.js +1 -15
  80. package/dist/esm/generated/codama/types/fleet.js.map +1 -1
  81. package/dist/esm/generated/codama/types/index.js +0 -1
  82. package/dist/esm/generated/codama/types/index.js.map +1 -1
  83. package/dist/esm/generated/codama/types/shipStats.js +1 -3
  84. package/dist/esm/generated/codama/types/shipStats.js.map +1 -1
  85. package/dist/esm/generated/codama/types/staleDecayApplied.js +2 -2
  86. package/dist/esm/generated/codama/types/staleDecayApplied.js.map +1 -1
  87. package/dist/esm/idl/srsly.json +23 -118
  88. package/dist/esm/instructions/createContract.js +1 -1
  89. package/dist/esm/instructions/createContract.js.map +1 -1
  90. package/dist/esm/instructions/index.js +2 -0
  91. package/dist/esm/instructions/index.js.map +1 -1
  92. package/dist/esm/instructions/migrateConfig.js +38 -0
  93. package/dist/esm/instructions/migrateConfig.js.map +1 -0
  94. package/dist/esm/instructions/migrateContract.js +44 -0
  95. package/dist/esm/instructions/migrateContract.js.map +1 -0
  96. package/dist/esm/instructions/reserveRental.js +4 -3
  97. package/dist/esm/instructions/reserveRental.js.map +1 -1
  98. package/dist/esm/instructions/updateContract.js +2 -2
  99. package/dist/esm/instructions/updateContract.js.map +1 -1
  100. package/dist/esm/kit/index.js +4 -0
  101. package/dist/esm/kit/index.js.map +1 -1
  102. package/dist/esm/legacy/index.js +2 -0
  103. package/dist/esm/legacy/index.js.map +1 -1
  104. package/dist/esm/package.json +1 -2
  105. package/dist/esm/params/index.js +1 -0
  106. package/dist/esm/params/index.js.map +1 -1
  107. package/dist/esm/params/points.js +104 -0
  108. package/dist/esm/params/points.js.map +1 -0
  109. package/dist/esm/utils/clock.js +39 -0
  110. package/dist/esm/utils/clock.js.map +1 -0
  111. package/dist/esm/utils/contestChain.js +20 -4
  112. package/dist/esm/utils/contestChain.js.map +1 -1
  113. package/dist/esm/utils/contractSnapshot.js +46 -5
  114. package/dist/esm/utils/contractSnapshot.js.map +1 -1
  115. package/dist/esm/utils/contractSnapshot.test.js +28 -3
  116. package/dist/esm/utils/contractSnapshot.test.js.map +1 -1
  117. package/dist/esm/utils/index.js +4 -0
  118. package/dist/esm/utils/index.js.map +1 -1
  119. package/dist/esm/utils/staleDecay.js +44 -0
  120. package/dist/esm/utils/staleDecay.js.map +1 -0
  121. package/dist/esm/utils/staleDecay.test.js +69 -0
  122. package/dist/esm/utils/staleDecay.test.js.map +1 -0
  123. package/dist/esm/version.js +1 -1
  124. package/dist/idl/srsly.json +23 -118
  125. package/dist/types/accounts/contract.d.ts +11 -5
  126. package/dist/types/accounts/contract.d.ts.map +1 -1
  127. package/dist/types/calculator/MinBidChart.d.ts.map +1 -1
  128. package/dist/types/cost/estimate.d.ts +17 -2
  129. package/dist/types/cost/estimate.d.ts.map +1 -1
  130. package/dist/types/generated/codama/accounts/configState.d.ts +4 -4
  131. package/dist/types/generated/codama/accounts/contractState.d.ts +16 -16
  132. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  133. package/dist/types/generated/codama/instructions/createContract.d.ts +4 -4
  134. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  135. package/dist/types/generated/codama/instructions/updateConfig.d.ts +2 -2
  136. package/dist/types/generated/codama/instructions/updateContract.d.ts +14 -14
  137. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  138. package/dist/types/generated/codama/types/contractCreated.d.ts +2 -2
  139. package/dist/types/generated/codama/types/contractCreated.d.ts.map +1 -1
  140. package/dist/types/generated/codama/types/fleet.d.ts +0 -14
  141. package/dist/types/generated/codama/types/fleet.d.ts.map +1 -1
  142. package/dist/types/generated/codama/types/index.d.ts +0 -1
  143. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  144. package/dist/types/generated/codama/types/shipStats.d.ts +1 -3
  145. package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -1
  146. package/dist/types/generated/codama/types/staleDecayApplied.d.ts +4 -4
  147. package/dist/types/generated/codama/types/staleDecayApplied.d.ts.map +1 -1
  148. package/dist/types/instructions/createContract.d.ts +6 -6
  149. package/dist/types/instructions/createContract.d.ts.map +1 -1
  150. package/dist/types/instructions/index.d.ts +2 -0
  151. package/dist/types/instructions/index.d.ts.map +1 -1
  152. package/dist/types/instructions/migrateConfig.d.ts +39 -0
  153. package/dist/types/instructions/migrateConfig.d.ts.map +1 -0
  154. package/dist/types/instructions/migrateContract.d.ts +44 -0
  155. package/dist/types/instructions/migrateContract.d.ts.map +1 -0
  156. package/dist/types/instructions/reserveRental.d.ts +10 -2
  157. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  158. package/dist/types/instructions/updateConfig.d.ts +1 -1
  159. package/dist/types/instructions/updateContract.d.ts +5 -5
  160. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  161. package/dist/types/kit/index.d.ts +1 -0
  162. package/dist/types/kit/index.d.ts.map +1 -1
  163. package/dist/types/legacy/index.d.ts +2 -0
  164. package/dist/types/legacy/index.d.ts.map +1 -1
  165. package/dist/types/params/index.d.ts +1 -0
  166. package/dist/types/params/index.d.ts.map +1 -1
  167. package/dist/types/params/points.d.ts +71 -0
  168. package/dist/types/params/points.d.ts.map +1 -0
  169. package/dist/types/utils/clock.d.ts +24 -0
  170. package/dist/types/utils/clock.d.ts.map +1 -0
  171. package/dist/types/utils/contestChain.d.ts.map +1 -1
  172. package/dist/types/utils/contractSnapshot.d.ts +24 -1
  173. package/dist/types/utils/contractSnapshot.d.ts.map +1 -1
  174. package/dist/types/utils/index.d.ts +2 -0
  175. package/dist/types/utils/index.d.ts.map +1 -1
  176. package/dist/types/utils/staleDecay.d.ts +21 -0
  177. package/dist/types/utils/staleDecay.d.ts.map +1 -0
  178. package/dist/types/utils/staleDecay.test.d.ts +2 -0
  179. package/dist/types/utils/staleDecay.test.d.ts.map +1 -0
  180. package/dist/types/version.d.ts +1 -1
  181. package/package.json +3 -4
  182. package/dist/cjs/generated/codama/types/combatStats.js +0 -49
  183. package/dist/cjs/generated/codama/types/combatStats.js.map +0 -1
  184. package/dist/esm/generated/codama/types/combatStats.js +0 -44
  185. package/dist/esm/generated/codama/types/combatStats.js.map +0 -1
  186. package/dist/types/generated/codama/types/combatStats.d.ts +0 -28
  187. package/dist/types/generated/codama/types/combatStats.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"contractSnapshot.test.js","sourceRoot":"","sources":["../../../src/utils/contractSnapshot.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contractSnapshot.test.js","sourceRoot":"","sources":["../../../src/utils/contractSnapshot.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * @module utils
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.requireValidReferrer = exports.resolveReferrer = exports.deserializeDiscountAuth = exports.createDiscount = exports.getMinimumBid = exports.computeMinimumBidFromSnapshot = exports.resolveContractSnapshot = exports.getContractSnapshot = exports.nextKnobId = exports.distributeSnipeHeavy = exports.distributeEven = exports.stardustToDisplay = exports.computeContestChain = exports.computeMinimumBid = exports.hasQueuedRental = exports.hasActiveRental = exports.getLookupTableAddress = exports.fetchLookupTable = exports.isRpcDebugEnabled = exports.setRpcDebug = exports.createRpc = exports.InstructionResult = exports.prepareInstructions = exports.toAddress = exports.toWeb3Instruction = exports.isAddressString = exports.isKitSigner = exports.isWeb3jsSigner = exports.validateAddress = exports.toTransactionSigner = exports.ATLASNET_ADDRESSES = exports.MAINNET_ADDRESSES = exports.ATLASNET_GENESIS = exports.DEVNET_GENESIS = exports.MAINNET_GENESIS = exports.resolveGenesisHash = exports.isValidNetwork = exports.isValidProgramSet = exports.getNetworkAddresses = exports.getProgramAddresses = exports.detectProgramSet = exports.getRpcUrl = exports.getAffiliateConfig = exports.getAddresses = exports.mergeConfig = exports.clearSdkConfig = exports.getSdkConfig = exports.setSdkConfig = void 0;
7
+ exports.requireValidReferrer = exports.resolveReferrer = exports.deserializeDiscountAuth = exports.createDiscount = exports.rateAfterStaleDecay = exports.fetchChainNowSeconds = exports.getMinimumBid = exports.computeMinimumBidFromSnapshot = exports.resolveContractSnapshot = exports.getContractSnapshot = exports.nextKnobId = exports.distributeSnipeHeavy = exports.distributeEven = exports.stardustToDisplay = exports.computeContestChain = exports.computeMinimumBid = exports.hasQueuedRental = exports.hasActiveRental = exports.getLookupTableAddress = exports.fetchLookupTable = exports.isRpcDebugEnabled = exports.setRpcDebug = exports.createRpc = exports.InstructionResult = exports.prepareInstructions = exports.toAddress = exports.toWeb3Instruction = exports.isAddressString = exports.isKitSigner = exports.isWeb3jsSigner = exports.validateAddress = exports.toTransactionSigner = exports.ATLASNET_ADDRESSES = exports.MAINNET_ADDRESSES = exports.ATLASNET_GENESIS = exports.DEVNET_GENESIS = exports.MAINNET_GENESIS = exports.resolveGenesisHash = exports.isValidNetwork = exports.isValidProgramSet = exports.getNetworkAddresses = exports.getProgramAddresses = exports.detectProgramSet = exports.getRpcUrl = exports.getAffiliateConfig = exports.getAddresses = exports.mergeConfig = exports.clearSdkConfig = exports.getSdkConfig = exports.setSdkConfig = void 0;
8
8
  // Configuration
9
9
  var config_1 = require("./config");
10
10
  Object.defineProperty(exports, "setSdkConfig", { enumerable: true, get: function () { return config_1.setSdkConfig; } });
@@ -73,6 +73,12 @@ Object.defineProperty(exports, "getContractSnapshot", { enumerable: true, get: f
73
73
  Object.defineProperty(exports, "resolveContractSnapshot", { enumerable: true, get: function () { return contractSnapshot_1.resolveContractSnapshot; } });
74
74
  Object.defineProperty(exports, "computeMinimumBidFromSnapshot", { enumerable: true, get: function () { return contractSnapshot_1.computeMinimumBidFromSnapshot; } });
75
75
  Object.defineProperty(exports, "getMinimumBid", { enumerable: true, get: function () { return contractSnapshot_1.getMinimumBid; } });
76
+ // Clock sysvar (chain time)
77
+ var clock_1 = require("./clock");
78
+ Object.defineProperty(exports, "fetchChainNowSeconds", { enumerable: true, get: function () { return clock_1.fetchChainNowSeconds; } });
79
+ // Stale-discount math (mirror of on-chain rate_after_stale_decay)
80
+ var staleDecay_1 = require("./staleDecay");
81
+ Object.defineProperty(exports, "rateAfterStaleDecay", { enumerable: true, get: function () { return staleDecay_1.rateAfterStaleDecay; } });
76
82
  // Discount Authorization
77
83
  var discountAuth_1 = require("./discountAuth");
78
84
  Object.defineProperty(exports, "createDiscount", { enumerable: true, get: function () { return discountAuth_1.createDiscount; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gBAAgB;AAChB,mCAYkB;AAXhB,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAClB,mGAAA,SAAS,OAAA;AACT,0GAAA,gBAAgB,OAAA;AAMlB,oBAAoB;AACpB,yCAeqB;AAdnB,gHAAA,mBAAmB,OAAA;AACnB,gHAAA,mBAAmB,OAAA;AACnB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAChB,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAOpB,mBAAmB;AACnB,mCAOkB;AANhB,6GAAA,mBAAmB,OAAA;AACnB,yGAAA,eAAe,OAAA;AACf,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,yGAAA,eAAe,OAAA;AAIjB,wBAAwB;AACxB,mCAMkB;AALhB,2GAAA,iBAAiB,OAAA;AACjB,mGAAA,SAAS,OAAA;AAMX,wBAAwB;AACxB,+CAAsF;AAA7E,mHAAA,mBAAmB,OAAA;AAE5B,qBAAqB;AACrB,yDAAgF;AAAvE,sHAAA,iBAAiB,OAAA;AAE1B,gBAAgB;AAChB,6BAAkE;AAAzD,gGAAA,SAAS,OAAA;AAAE,kGAAA,WAAW,OAAA;AAAE,wGAAA,iBAAiB,OAAA;AAElD,iCAAiC;AACjC,6CAIuB;AAHrB,+GAAA,gBAAgB,OAAA;AAChB,oHAAA,qBAAqB,OAAA;AAIvB,mBAAmB;AACnB,mCAA4D;AAAnD,yGAAA,eAAe,OAAA;AAAE,yGAAA,eAAe,OAAA;AAEzC,iCAAiC;AACjC,qCAA+D;AAAtD,4GAAA,iBAAiB,OAAA;AAE1B,qDAAqD;AACrD,+CAawB;AAZtB,mHAAA,mBAAmB,OAAA;AACnB,iHAAA,iBAAiB,OAAA;AACjB,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA;AACpB,0GAAA,UAAU,OAAA;AAUZ,8DAA8D;AAC9D,uDAO4B;AAN1B,uHAAA,mBAAmB,OAAA;AACnB,2HAAA,uBAAuB,OAAA;AACvB,iIAAA,6BAA6B,OAAA;AAC7B,iHAAA,aAAa,OAAA;AAKf,yBAAyB;AACzB,+CAMwB;AALtB,8GAAA,cAAc,OAAA;AACd,uHAAA,uBAAuB,OAAA;AAMzB,8CAA8C;AAC9C,uCAAmE;AAA1D,2GAAA,eAAe,OAAA;AAAE,gHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gBAAgB;AAChB,mCAYkB;AAXhB,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAClB,mGAAA,SAAS,OAAA;AACT,0GAAA,gBAAgB,OAAA;AAMlB,oBAAoB;AACpB,yCAeqB;AAdnB,gHAAA,mBAAmB,OAAA;AACnB,gHAAA,mBAAmB,OAAA;AACnB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAChB,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAOpB,mBAAmB;AACnB,mCAOkB;AANhB,6GAAA,mBAAmB,OAAA;AACnB,yGAAA,eAAe,OAAA;AACf,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,yGAAA,eAAe,OAAA;AAIjB,wBAAwB;AACxB,mCAMkB;AALhB,2GAAA,iBAAiB,OAAA;AACjB,mGAAA,SAAS,OAAA;AAMX,wBAAwB;AACxB,+CAAsF;AAA7E,mHAAA,mBAAmB,OAAA;AAE5B,qBAAqB;AACrB,yDAAgF;AAAvE,sHAAA,iBAAiB,OAAA;AAE1B,gBAAgB;AAChB,6BAAkE;AAAzD,gGAAA,SAAS,OAAA;AAAE,kGAAA,WAAW,OAAA;AAAE,wGAAA,iBAAiB,OAAA;AAElD,iCAAiC;AACjC,6CAIuB;AAHrB,+GAAA,gBAAgB,OAAA;AAChB,oHAAA,qBAAqB,OAAA;AAIvB,mBAAmB;AACnB,mCAA4D;AAAnD,yGAAA,eAAe,OAAA;AAAE,yGAAA,eAAe,OAAA;AAEzC,iCAAiC;AACjC,qCAA+D;AAAtD,4GAAA,iBAAiB,OAAA;AAE1B,qDAAqD;AACrD,+CAawB;AAZtB,mHAAA,mBAAmB,OAAA;AACnB,iHAAA,iBAAiB,OAAA;AACjB,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA;AACpB,0GAAA,UAAU,OAAA;AAUZ,8DAA8D;AAC9D,uDAO4B;AAN1B,uHAAA,mBAAmB,OAAA;AACnB,2HAAA,uBAAuB,OAAA;AACvB,iIAAA,6BAA6B,OAAA;AAC7B,iHAAA,aAAa,OAAA;AAKf,4BAA4B;AAC5B,iCAA+C;AAAtC,6GAAA,oBAAoB,OAAA;AAE7B,kEAAkE;AAClE,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA;AAE5B,yBAAyB;AACzB,+CAMwB;AALtB,8GAAA,cAAc,OAAA;AACd,uHAAA,uBAAuB,OAAA;AAMzB,8CAA8C;AAC9C,uCAAmE;AAA1D,2GAAA,eAAe,OAAA;AAAE,gHAAA,oBAAoB,OAAA"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ /**
3
+ * @purpose TS mirror of `ContractState::rate_after_stale_decay` (rust).
4
+ *
5
+ * Computes the rate a future `rental_accept` would write back, given the
6
+ * contract + config state at a specific moment in chain time. Pure — no
7
+ * RPC, no `Date.now()`. Caller supplies `nowSeconds` from the Clock
8
+ * sysvar (`fetchChainNowSeconds`) or any other authoritative source.
9
+ *
10
+ * Returns `contract.rate` unchanged when any of the on-chain short-circuits
11
+ * fire: active rental present, `stale_since == 0` sentinel,
12
+ * `stale_discount_max_bps == 0` (per-contract opt-out), or
13
+ * `stale_discount_per_day_bps == 0` (protocol-wide opt-out).
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.rateAfterStaleDecay = rateAfterStaleDecay;
17
+ const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
18
+ const SECONDS_PER_DAY = 86400n;
19
+ const BPS_BASE = 10000n;
20
+ /**
21
+ * Mirrors `rust/programs/srsly/src/state/contract.rs::rate_after_stale_decay`
22
+ * byte-for-byte. Any change there must be reflected here.
23
+ */
24
+ function rateAfterStaleDecay(contract, config, nowSeconds) {
25
+ const rate = BigInt(contract.rate);
26
+ if (contract.activeRental.toString() !== SYSTEM_PROGRAM_ID)
27
+ return rate;
28
+ const staleSince = BigInt(contract.staleSince);
29
+ if (staleSince === 0n)
30
+ return rate;
31
+ const maxBps = BigInt(contract.staleDiscountMaxBps);
32
+ if (maxBps === 0n)
33
+ return rate;
34
+ const perDay = BigInt(config.staleDiscountPerDayBps);
35
+ if (perDay === 0n)
36
+ return rate;
37
+ const now = typeof nowSeconds === 'bigint' ? nowSeconds : BigInt(Math.floor(nowSeconds));
38
+ const stale = now - staleSince;
39
+ const clampedStale = stale < 0n ? 0n : stale;
40
+ const rawDecay = (perDay * clampedStale) / SECONDS_PER_DAY;
41
+ const decay = rawDecay < maxBps ? rawDecay : maxBps;
42
+ const mult = BPS_BASE - decay;
43
+ const candidate = (rate * mult) / BPS_BASE;
44
+ const minRate = BigInt(config.stardustToAtlas);
45
+ return candidate < minRate ? minRate : candidate;
46
+ }
47
+ //# sourceMappingURL=staleDecay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staleDecay.js","sourceRoot":"","sources":["../../../src/utils/staleDecay.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAaH,kDA4BC;AApCD,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAC7D,MAAM,eAAe,GAAG,MAAO,CAAC;AAChC,MAAM,QAAQ,GAAG,MAAO,CAAC;AAEzB;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,QAAuB,EACvB,MAAmB,EACnB,UAA2B;IAE3B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAExE,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,UAAU,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACrD,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,GAAG,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,GAAG,GAAG,UAAU,CAAC;IAC/B,MAAM,YAAY,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7C,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,eAAe,CAAC;IAC3D,MAAM,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACpD,MAAM,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC9B,MAAM,SAAS,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;IAE3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC/C,OAAO,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const staleDecay_1 = require("./staleDecay");
5
+ const SYSTEM = '11111111111111111111111111111111';
6
+ const ACTIVE = 'So11111111111111111111111111111111111111112';
7
+ const baseConfig = (overrides = {}) => ({
8
+ stardustToAtlas: 100000000n,
9
+ staleDiscountPerDayBps: 1_000, // 10% / day
10
+ ...overrides,
11
+ });
12
+ const baseContract = (overrides = {}) => ({
13
+ rate: 500000000n,
14
+ activeRental: SYSTEM,
15
+ staleSince: 1700000000n,
16
+ staleDiscountMaxBps: 10_000, // unlimited per-contract cap
17
+ ...overrides,
18
+ });
19
+ const ONE_DAY = 86_400;
20
+ (0, vitest_1.describe)('rateAfterStaleDecay (TS mirror of on-chain helper)', () => {
21
+ (0, vitest_1.describe)('short-circuits return stored rate', () => {
22
+ (0, vitest_1.it)('active rental → returns rate untouched', () => {
23
+ const c = baseContract({ activeRental: ACTIVE });
24
+ (0, vitest_1.expect)((0, staleDecay_1.rateAfterStaleDecay)(c, baseConfig(), 1_700_000_000 + ONE_DAY)).toBe(500000000n);
25
+ });
26
+ (0, vitest_1.it)('staleSince == 0 sentinel → returns rate untouched', () => {
27
+ const c = baseContract({ staleSince: 0n });
28
+ (0, vitest_1.expect)((0, staleDecay_1.rateAfterStaleDecay)(c, baseConfig(), 1_700_000_000 + ONE_DAY)).toBe(500000000n);
29
+ });
30
+ (0, vitest_1.it)('staleDiscountMaxBps == 0 (per-contract opt-out) → returns rate', () => {
31
+ const c = baseContract({ staleDiscountMaxBps: 0 });
32
+ (0, vitest_1.expect)((0, staleDecay_1.rateAfterStaleDecay)(c, baseConfig(), 1_700_000_000 + ONE_DAY)).toBe(500000000n);
33
+ });
34
+ (0, vitest_1.it)('config.staleDiscountPerDayBps == 0 (protocol opt-out) → returns rate', () => {
35
+ const cfg = baseConfig({ staleDiscountPerDayBps: 0 });
36
+ (0, vitest_1.expect)((0, staleDecay_1.rateAfterStaleDecay)(baseContract(), cfg, 1_700_000_000 + ONE_DAY)).toBe(500000000n);
37
+ });
38
+ });
39
+ (0, vitest_1.describe)('decay math', () => {
40
+ (0, vitest_1.it)('one full day at 1000 bps/day → 10% off (× 9000/10000)', () => {
41
+ const decayed = (0, staleDecay_1.rateAfterStaleDecay)(baseContract(), baseConfig(), 1_700_000_000 + ONE_DAY);
42
+ (0, vitest_1.expect)(decayed).toBe((500000000n * 9000n) / 10000n);
43
+ });
44
+ (0, vitest_1.it)('half a day → 5% off (per-second precision)', () => {
45
+ const decayed = (0, staleDecay_1.rateAfterStaleDecay)(baseContract(), baseConfig(), 1_700_000_000 + ONE_DAY / 2);
46
+ (0, vitest_1.expect)(decayed).toBe((500000000n * 9500n) / 10000n);
47
+ });
48
+ (0, vitest_1.it)('per-contract cap clamps total decay', () => {
49
+ const c = baseContract({ staleDiscountMaxBps: 5_000 }); // 50% max off
50
+ const wayStale = 1_700_000_000 + 100 * ONE_DAY;
51
+ (0, vitest_1.expect)((0, staleDecay_1.rateAfterStaleDecay)(c, baseConfig(), wayStale)).toBe((500000000n * 5000n) / 10000n);
52
+ });
53
+ (0, vitest_1.it)('program-wide minimum (stardustToAtlas) shadows the cap', () => {
54
+ // rate=200M (2× the program min), unlimited per-contract cap.
55
+ // After many days the candidate would dip below stardustToAtlas;
56
+ // clamp pins it at stardustToAtlas.
57
+ const c = baseContract({ rate: 200000000n });
58
+ const wayStale = 1_700_000_000 + 1_000 * ONE_DAY;
59
+ (0, vitest_1.expect)((0, staleDecay_1.rateAfterStaleDecay)(c, baseConfig(), wayStale)).toBe(100000000n);
60
+ });
61
+ (0, vitest_1.it)('now before staleSince → no decay (saturating sub does not underflow)', () => {
62
+ const earlier = 1_700_000_000 - ONE_DAY;
63
+ (0, vitest_1.expect)((0, staleDecay_1.rateAfterStaleDecay)(baseContract(), baseConfig(), earlier)).toBe(500000000n);
64
+ });
65
+ (0, vitest_1.it)('accepts bigint nowSeconds', () => {
66
+ const decayed = (0, staleDecay_1.rateAfterStaleDecay)(baseContract(), baseConfig(), BigInt(1_700_000_000 + ONE_DAY));
67
+ (0, vitest_1.expect)(decayed).toBe((500000000n * 9000n) / 10000n);
68
+ });
69
+ });
70
+ });
71
+ //# sourceMappingURL=staleDecay.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staleDecay.test.js","sourceRoot":"","sources":["../../../src/utils/staleDecay.test.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
4
  // Auto-generated from package.json - DO NOT EDIT
5
5
  // Run "pnpm run generate:version" to update
6
- exports.VERSION = '5.0.0';
6
+ exports.VERSION = '5.2.0';
7
7
  //# sourceMappingURL=version.js.map
@@ -44,12 +44,48 @@ export async function fetchContract(contractAddress, rpcUrl) {
44
44
  }
45
45
  }
46
46
  /**
47
- * Fetch all contract state accounts from the SRSLY program
47
+ * Enumerate every account owned by the SRSLY program whose first 8 bytes
48
+ * match the ContractState discriminator. Codama doesn't generate a
49
+ * `getProgramAccounts` helper (its `fetchAll*` functions take a known
50
+ * address list), so the enumeration lives here.
48
51
  *
49
- * Uses getProgramAccounts with a discriminator filter to find all ContractState accounts.
52
+ * @param withData - When `false`, requests `dataSlice: 0` so the RPC
53
+ * skips returning the account body. Use this when callers only need
54
+ * pubkeys (e.g. preparing a `contract_migrate` sweep over v1 accounts
55
+ * the decoder can't read).
56
+ */
57
+ async function enumerateContractStateAccounts(rpcUrl, withData) {
58
+ const resolvedRpcUrl = rpcUrl || getRpcUrl();
59
+ const rpc = createRpc(resolvedRpcUrl);
60
+ const discriminatorBase64 = btoa(String.fromCharCode(...CONTRACT_STATE_DISCRIMINATOR));
61
+ const opts = {
62
+ encoding: 'base64',
63
+ filters: [
64
+ {
65
+ memcmp: {
66
+ offset: 0n,
67
+ bytes: discriminatorBase64,
68
+ encoding: 'base64',
69
+ },
70
+ },
71
+ ],
72
+ };
73
+ if (!withData) {
74
+ opts.dataSlice = { offset: 0, length: 0 };
75
+ }
76
+ const response = await rpc.getProgramAccounts(SRSLY_PROGRAM_ADDRESS, opts).send();
77
+ const accounts = Array.isArray(response) ? response : response.value;
78
+ return accounts.map(a => ({
79
+ pubkey: a.pubkey,
80
+ data: withData ? a.account.data[0] : undefined,
81
+ }));
82
+ }
83
+ /**
84
+ * Fetch all decodable ContractState accounts from the SRSLY program.
50
85
  *
51
- * @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
52
- * @returns Array of contract states with their addresses
86
+ * Silently drops accounts whose bytes don't match the current
87
+ * (v2) layout. If you need to discover pre-v2 accounts (e.g. for
88
+ * `contract_migrate`), use {@link fetchAllContractAddresses}.
53
89
  *
54
90
  * @example
55
91
  * ```typescript
@@ -60,38 +96,17 @@ export async function fetchContract(contractAddress, rpcUrl) {
60
96
  */
61
97
  export async function fetchAllContracts(rpcUrl) {
62
98
  try {
63
- const resolvedRpcUrl = rpcUrl || getRpcUrl();
64
- const rpc = createRpc(resolvedRpcUrl);
65
- // Convert discriminator to base64 string for memcmp filter (browser-compatible)
66
- const discriminatorBase64 = btoa(String.fromCharCode(...CONTRACT_STATE_DISCRIMINATOR));
67
- // getProgramAccounts uses branded string types — cast through any
68
- const response = await rpc
69
- .getProgramAccounts(SRSLY_PROGRAM_ADDRESS, {
70
- encoding: 'base64',
71
- filters: [
72
- {
73
- memcmp: {
74
- offset: 0n,
75
- bytes: discriminatorBase64,
76
- encoding: 'base64',
77
- },
78
- },
79
- ],
80
- })
81
- .send();
99
+ const accounts = await enumerateContractStateAccounts(rpcUrl, true);
82
100
  const base64Encoder = getBase64Encoder();
83
101
  const decoder = getContractStateDecoder();
84
- // @solana/kit returns the array directly, not wrapped in { value }
85
- const accounts = Array.isArray(response) ? response : response.value;
86
102
  const results = [];
87
103
  for (const account of accounts) {
88
104
  try {
89
- const bytes = base64Encoder.encode(account.account.data[0]);
90
- const decoded = decoder.decode(bytes);
91
- results.push({ data: decoded, address: account.pubkey });
105
+ const bytes = base64Encoder.encode(account.data);
106
+ results.push({ data: decoder.decode(bytes), address: account.pubkey });
92
107
  }
93
108
  catch {
94
- // Skip accounts that fail to decode
109
+ // Skip accounts that fail to decode (e.g. pre-migrate v1 layout).
95
110
  }
96
111
  }
97
112
  return results;
@@ -100,4 +115,19 @@ export async function fetchAllContracts(rpcUrl) {
100
115
  throw new Error(`Failed to fetch all contract states: ${error.message}`);
101
116
  }
102
117
  }
118
+ /**
119
+ * Fetch every ContractState PDA address without decoding the account
120
+ * data. Returns v1 and v2 accounts uniformly — use when preparing a
121
+ * `contract_migrate` crank sweep that needs to hit pre-v2 PDAs the
122
+ * codama decoder can't read.
123
+ */
124
+ export async function fetchAllContractAddresses(rpcUrl) {
125
+ try {
126
+ const accounts = await enumerateContractStateAccounts(rpcUrl, false);
127
+ return accounts.map(a => a.pubkey);
128
+ }
129
+ catch (error) {
130
+ throw new Error(`Failed to fetch contract state addresses: ${error.message}`);
131
+ }
132
+ }
103
133
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/accounts/contract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAgB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAElB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,eAAiC,EACjC,MAAe;IAEf,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QAEtC,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,eAA0B,CAAC,CAAC;QAE1E,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QAEtC,gFAAgF;QAChF,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC;QAEvF,kEAAkE;QAClE,MAAM,QAAQ,GAAG,MAAO,GAAW;aAChC,kBAAkB,CAAC,qBAAqB,EAAE;YACzC,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE;wBACN,MAAM,EAAE,EAAE;wBACV,KAAK,EAAE,mBAAmB;wBAC1B,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF;SACF,CAAC;aACD,IAAI,EAAE,CAAC;QAEV,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAE1C,mEAAmE;QACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrE,MAAM,OAAO,GAAqD,EAAE,CAAC;QACrE,KAAK,MAAM,OAAO,IAAI,QAAiB,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAiB,EAAE,CAAC,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/accounts/contract.ts"],"names":[],"mappings":"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"}
@@ -86,11 +86,15 @@ export class MinBidChart {
86
86
  el('span', { className: 'calc-chart-swatch calc-chart-swatch-cyan' }),
87
87
  ' min bid floor',
88
88
  ]),
89
- el('span', { className: classNames?.legendItem ?? 'calc-chart-legend-item' }, [
89
+ ];
90
+ // Bonus path doesn't fire for POINTS-only contests on chain; skip
91
+ // the swatch so the legend matches what the chart actually draws.
92
+ if (challengeCur !== 'POINTS') {
93
+ items.push(el('span', { className: classNames?.legendItem ?? 'calc-chart-legend-item' }, [
90
94
  el('span', { className: 'calc-chart-swatch calc-chart-swatch-mint-solid' }),
91
95
  ' defender bonus',
92
- ]),
93
- ];
96
+ ]));
97
+ }
94
98
  if (chain && chain.rows.length > 0) {
95
99
  items.push(el('span', { className: classNames?.legendItem ?? 'calc-chart-legend-item' }, [
96
100
  el('span', { className: 'calc-chart-swatch calc-chart-swatch-cyan-dashed' }),
@@ -126,6 +130,11 @@ export class MinBidChart {
126
130
  const xs = [];
127
131
  const floor = [];
128
132
  const bonus = [];
133
+ // POINTS challengeCur ⇒ points-only or no-contest path on chain; both
134
+ // pay zero bonus (`pointsOnly` returns 0, no-defender returns 0 too).
135
+ // Suppress the green curve entirely so it doesn't draw a misleading
136
+ // sliver at the chart baseline.
137
+ const suppressBonusCurve = this.props.challengeCur === 'POINTS';
129
138
  if (chain && (chain.segments.length > 0 || hasDefender)) {
130
139
  const reservedAt = hasDefender ? clamp(defenderReservedAt, 0, span) : 0;
131
140
  if (reservedAt > 0) {
@@ -160,21 +169,35 @@ export class MinBidChart {
160
169
  return;
161
170
  }
162
171
  const samples = segSpan <= 0 ? 1 : SAMPLES_PER_SEGMENT;
172
+ // PREVIEW(option-b): bonus closeness anchored to
173
+ // `active_end - reserve_time` (time defender had access), not
174
+ // `active_duration`. Mirrors the proposed change in
175
+ // `rental_reserve.rs::bonus_closeness_bps`. The sampled curve
176
+ // now ramps from 0 at segment start to full
177
+ // `(floor - defender_bid) × bonus_mult` by segment end — the
178
+ // sawtooth visualization.
179
+ const availableSpan = Math.max(0.0001, span - seg.startDay);
163
180
  for (let i = 0; i <= samples; i++) {
164
181
  const t = i / samples;
165
182
  const day = seg.startDay + segSpan * t;
166
183
  const closenessFloor = clamp(day / span, 0, 1);
167
184
  const floorStardust = this.callMinBid(closenessFloor, seg.defenderBidStardust);
168
185
  const floorDisplay = this.toDisplay(floorStardust);
169
- const bonusCloseness = clamp((day - seg.startDay) / span, 0, 1);
186
+ const bonusCloseness = clamp((day - seg.startDay) / availableSpan, 0, 1);
170
187
  // TODO(bonus_multiplier_bps): drop the `?? 100` fallback once
171
188
  // the on-chain field is guaranteed present on ConfigState.
172
189
  const bonusMult = (cfg.bonusMultiplierBps ?? 100) / 100;
173
- const bonusRaw = Math.max(0, (floorDisplay - defenderDisplay) * bonusCloseness * bonusMult);
174
- const bonusDisplay = Math.min(floorDisplay, bonusRaw);
190
+ const diff = Math.max(0, floorDisplay - defenderDisplay);
191
+ const bonusRaw = diff * bonusCloseness * bonusMult;
192
+ // PREVIEW(option-a): cap bonus at `diff` (= floor − defender_bid)
193
+ // not the floor itself. Mirrors the solvency constraint on
194
+ // chain: the new challenger only contributes `diff` over the
195
+ // defender's bid into the contract, so the bonus they fund
196
+ // can't exceed it without putting the escrow negative.
197
+ const bonusDisplay = Math.min(diff, bonusRaw);
175
198
  xs.push(day);
176
199
  floor.push(floorDisplay);
177
- bonus.push(bonusDisplay);
200
+ bonus.push(suppressBonusCurve ? null : bonusDisplay);
178
201
  }
179
202
  };
180
203
  for (const seg of chain.segments)
@@ -182,6 +205,10 @@ export class MinBidChart {
182
205
  return [xs, floor, bonus];
183
206
  }
184
207
  const reservedAt = hasDefender ? clamp(defenderReservedAt, 0, span) : 0;
208
+ // PREVIEW(option-b): same closeness-anchor change as the chain-segment
209
+ // branch above. Denominator is `active_end - reservedAt`, not the full
210
+ // active duration.
211
+ const availableSpan = Math.max(0.0001, span - reservedAt);
185
212
  for (let i = 0; i < SAMPLES; i++) {
186
213
  const day = (i / (SAMPLES - 1)) * span;
187
214
  xs.push(day);
@@ -194,16 +221,17 @@ export class MinBidChart {
194
221
  const floorStardust = this.callMinBid(closenessFloor, defenderBidStardust);
195
222
  const floorDisplay = this.toDisplay(floorStardust);
196
223
  const defenderDisplay = this.toDisplay(defenderBidStardust);
197
- const bonusCloseness = clamp((day - reservedAt) / span, 0, 1);
224
+ const bonusCloseness = clamp((day - reservedAt) / availableSpan, 0, 1);
198
225
  // TODO(bonus_multiplier_bps): drop the `?? 100` fallback once
199
226
  // the on-chain field is guaranteed present on ConfigState.
200
227
  const bonusMult = (cfg.bonusMultiplierBps ?? 100) / 100;
201
- const bonusRaw = defenderBidStardust > 0n
202
- ? Math.max(0, (floorDisplay - defenderDisplay) * bonusCloseness * bonusMult)
203
- : 0;
204
- const bonusDisplay = Math.min(floorDisplay, bonusRaw);
228
+ const diff = defenderBidStardust > 0n ? Math.max(0, floorDisplay - defenderDisplay) : 0;
229
+ const bonusRaw = diff * bonusCloseness * bonusMult;
230
+ // PREVIEW(option-a): cap bonus at `diff` (= floor − defender_bid)
231
+ // not the floor itself. Mirrors the solvency constraint on chain.
232
+ const bonusDisplay = Math.min(diff, bonusRaw);
205
233
  floor.push(floorDisplay);
206
- bonus.push(bonusDisplay > 0 ? bonusDisplay : null);
234
+ bonus.push(suppressBonusCurve ? null : bonusDisplay > 0 ? bonusDisplay : null);
207
235
  }
208
236
  return [xs, floor, bonus];
209
237
  }
@@ -383,10 +411,13 @@ export class MinBidChart {
383
411
  const cur = this.props.challengeCur;
384
412
  const dayCls = this.props.classNames?.tooltipDay ?? 'calc-chart-tooltip-day';
385
413
  const rowCls = this.props.classNames?.tooltipRow ?? 'calc-chart-tooltip-row';
414
+ const bonusRow = cur === 'POINTS'
415
+ ? ''
416
+ : `<div class="${rowCls}"><span class="dot mint"></span> bonus <strong>${fmt(bonusVal)}</strong> <span class="u">${cur}</span></div>`;
386
417
  tip.innerHTML = `
387
418
  <div class="${dayCls}">day ${day.toFixed(2)}</div>
388
419
  <div class="${rowCls}"><span class="dot cyan"></span> min bid <strong>${fmt(floorVal)}</strong> <span class="u">${cur}</span></div>
389
- <div class="${rowCls}"><span class="dot mint"></span> bonus <strong>${fmt(bonusVal)}</strong> <span class="u">${cur}</span></div>
420
+ ${bonusRow}
390
421
  `;
391
422
  const wrapW = u.bbox.left + u.bbox.width;
392
423
  const tipW = tip.offsetWidth || 140;
@@ -1 +1 @@
1
- {"version":3,"file":"MinBidChart.js","sourceRoot":"","sources":["../../../src/calculator/MinBidChart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MinBidChart.js","sourceRoot":"","sources":["../../../src/calculator/MinBidChart.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ import { fetchContract } from '../accounts/contract';
13
13
  import { fetchConfig } from '../accounts/config';
14
14
  import { getRpcUrl } from '../utils/config';
15
15
  import { createRpc } from '../utils/rpc';
16
+ import { fetchChainNowSeconds } from '../utils/clock';
17
+ import { rateAfterStaleDecay } from '../utils/staleDecay';
16
18
  import { convertSol } from '../params/sol';
17
19
  import { CONTRACT_STATE_SIZE, RENTAL_STATE_SIZE, BORROWER_STATE_SIZE, ANTEGEN_THREAD_SIZE, } from './sizes';
18
20
  import { computeThreadLamports, DEFAULT_EXECUTION_BUDGET, TX_BASE_FEE_LAMPORTS, PER_TICK_LAMPORTS, SECONDS_PER_DAY, SPL_ATA_SIZE, } from './constants';
@@ -69,18 +71,27 @@ export async function estimateBorrowerSetupCost(rpcUrl) {
69
71
  }
70
72
  /**
71
73
  * Quote the ATLAS cost a borrower will pay for a given rate + duration.
72
- * Pure helper — does not build a transaction.
74
+ * Pure helper — does not build a transaction. Lean fetch surface:
75
+ * config + contract + Clock sysvar (no rental accounts). For UIs that
76
+ * also need reservation/bid context, call `getContractSnapshot` once
77
+ * and derive both quote and bid floor from the same snapshot.
78
+ *
79
+ * Applies stale-discount decay before quoting so the escrow figure
80
+ * matches what `rental_accept` will write back if called at this
81
+ * cluster's current `Clock::unix_timestamp`.
73
82
  */
74
83
  export async function estimateRentalCost(params) {
75
- const [{ data: contract }, { data: config }] = await Promise.all([
84
+ const [{ data: contract }, { data: config }, nowSeconds] = await Promise.all([
76
85
  fetchContract(params.contract, params.rpcUrl),
77
86
  fetchConfig(params.rpcUrl),
87
+ fetchChainNowSeconds(params.rpcUrl),
78
88
  ]);
79
89
  const duration = BigInt(params.durationSeconds);
80
90
  const stardustToAtlas = BigInt(config.stardustToAtlas);
81
- const rate = BigInt(contract.rate);
91
+ const storedRate = BigInt(contract.rate);
92
+ const effectiveRate = rateAfterStaleDecay(contract, config, nowSeconds);
82
93
  // Mirror on-chain scaling: rate <1 ATLAS is treated as ATLAS-denominated.
83
- const rateStardust = rate < stardustToAtlas ? saturatingMul(rate, stardustToAtlas) : rate;
94
+ const rateStardust = effectiveRate < stardustToAtlas ? saturatingMul(effectiveRate, stardustToAtlas) : effectiveRate;
84
95
  const atlasEscrow = saturatingDiv(saturatingMul(rateStardust, duration), SECONDS_PER_DAY);
85
96
  const feeBps = BigInt(config.serviceFeeBps);
86
97
  const baseBps = BigInt(config.baseBps);
@@ -93,6 +104,9 @@ export async function estimateRentalCost(params) {
93
104
  atlasBid,
94
105
  atlasTotal: atlasEscrow + atlasBid,
95
106
  serviceFeeBps: Number(feeBps),
107
+ storedRate,
108
+ effectiveRate,
109
+ nowSeconds,
96
110
  };
97
111
  }
98
112
  /* -------------------------------------------------------------------------- */