@sly-rentals/core 4.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.json +14113 -8121
- package/dist/cjs/accounts/contract.js +60 -29
- package/dist/cjs/accounts/contract.js.map +1 -1
- package/dist/cjs/audit/events-registry.js +13 -0
- package/dist/cjs/audit/events-registry.js.map +1 -1
- package/dist/cjs/audit/events.js +220 -0
- package/dist/cjs/audit/events.js.map +1 -1
- package/dist/cjs/cost/estimate.js +18 -4
- package/dist/cjs/cost/estimate.js.map +1 -1
- package/dist/cjs/cost/estimate.test.js +11 -1
- package/dist/cjs/cost/estimate.test.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/configState.js +3 -1
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/contractState.js +4 -0
- package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/cjs/generated/codama/errors/srsly.js +3 -3
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createContract.js +2 -0
- package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/index.js +2 -0
- package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/migrateConfig.js +119 -0
- package/dist/cjs/generated/codama/instructions/migrateConfig.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/migrateContract.js +84 -0
- package/dist/cjs/generated/codama/instructions/migrateContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/updateConfig.js +2 -0
- package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateContract.js +2 -0
- package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
- package/dist/cjs/generated/codama/programs/srsly.js +15 -7
- package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/types/borrowerClaimed.js +31 -0
- package/dist/cjs/generated/codama/types/borrowerClaimed.js.map +1 -0
- package/dist/cjs/generated/codama/types/borrowerClosed.js +29 -0
- package/dist/cjs/generated/codama/types/borrowerClosed.js.map +1 -0
- package/dist/cjs/generated/codama/types/borrowerCreated.js +29 -0
- package/dist/cjs/generated/codama/types/borrowerCreated.js.map +1 -0
- package/dist/cjs/generated/codama/types/contractCloseQueued.js +29 -0
- package/dist/cjs/generated/codama/types/contractCloseQueued.js.map +1 -0
- package/dist/cjs/generated/codama/types/contractClosed.js +29 -0
- package/dist/cjs/generated/codama/types/contractClosed.js.map +1 -0
- package/dist/cjs/generated/codama/types/contractCreated.js +47 -0
- package/dist/cjs/generated/codama/types/contractCreated.js.map +1 -0
- package/dist/cjs/generated/codama/types/contractUpdated.js +39 -0
- package/dist/cjs/generated/codama/types/contractUpdated.js.map +1 -0
- package/dist/cjs/generated/codama/types/delegateSet.js +31 -0
- package/dist/cjs/generated/codama/types/delegateSet.js.map +1 -0
- package/dist/cjs/generated/codama/types/index.js +14 -0
- package/dist/cjs/generated/codama/types/index.js.map +1 -1
- package/dist/cjs/generated/codama/types/reservationKnockedOff.js +41 -0
- package/dist/cjs/generated/codama/types/reservationKnockedOff.js.map +1 -0
- package/dist/cjs/generated/codama/types/reservationPlaced.js +37 -0
- package/dist/cjs/generated/codama/types/reservationPlaced.js.map +1 -0
- package/dist/cjs/generated/codama/types/staleDecayApplied.js +33 -0
- package/dist/cjs/generated/codama/types/staleDecayApplied.js.map +1 -0
- package/dist/cjs/generated/codama/types/threadClosed.js +29 -0
- package/dist/cjs/generated/codama/types/threadClosed.js.map +1 -0
- package/dist/cjs/generated/codama/types/threadCreated.js +33 -0
- package/dist/cjs/generated/codama/types/threadCreated.js.map +1 -0
- package/dist/cjs/generated/codama/types/threadFunded.js +39 -0
- package/dist/cjs/generated/codama/types/threadFunded.js.map +1 -0
- package/dist/cjs/idl/srsly.json +3152 -302
- package/dist/cjs/instructions/createContract.js +1 -0
- package/dist/cjs/instructions/createContract.js.map +1 -1
- package/dist/cjs/instructions/index.js +5 -1
- package/dist/cjs/instructions/index.js.map +1 -1
- package/dist/cjs/instructions/migrateConfig.js +41 -0
- package/dist/cjs/instructions/migrateConfig.js.map +1 -0
- package/dist/cjs/instructions/migrateContract.js +47 -0
- package/dist/cjs/instructions/migrateContract.js.map +1 -0
- package/dist/cjs/instructions/reserveRental.js +4 -3
- package/dist/cjs/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/instructions/updateConfig.js +1 -0
- package/dist/cjs/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/instructions/updateContract.js +3 -1
- package/dist/cjs/instructions/updateContract.js.map +1 -1
- package/dist/cjs/kit/index.js +6 -1
- package/dist/cjs/kit/index.js.map +1 -1
- package/dist/cjs/legacy/index.js +3 -1
- package/dist/cjs/legacy/index.js.map +1 -1
- package/dist/cjs/package.json +1 -2
- package/dist/cjs/params/index.js +1 -0
- package/dist/cjs/params/index.js.map +1 -1
- package/dist/cjs/params/points.js +110 -0
- package/dist/cjs/params/points.js.map +1 -0
- package/dist/cjs/utils/clock.js +42 -0
- package/dist/cjs/utils/clock.js.map +1 -0
- package/dist/cjs/utils/contractSnapshot.js +46 -5
- package/dist/cjs/utils/contractSnapshot.js.map +1 -1
- package/dist/cjs/utils/contractSnapshot.test.js +28 -3
- package/dist/cjs/utils/contractSnapshot.test.js.map +1 -1
- package/dist/cjs/utils/index.js +7 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/staleDecay.js +47 -0
- package/dist/cjs/utils/staleDecay.js.map +1 -0
- package/dist/cjs/utils/staleDecay.test.js +71 -0
- package/dist/cjs/utils/staleDecay.test.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/esm/accounts/contract.js +59 -29
- package/dist/esm/accounts/contract.js.map +1 -1
- package/dist/esm/audit/events-registry.js +13 -0
- package/dist/esm/audit/events-registry.js.map +1 -1
- package/dist/esm/audit/events.js +220 -0
- package/dist/esm/audit/events.js.map +1 -1
- package/dist/esm/cost/estimate.js +18 -4
- package/dist/esm/cost/estimate.js.map +1 -1
- package/dist/esm/cost/estimate.test.js +11 -1
- package/dist/esm/cost/estimate.test.js.map +1 -1
- package/dist/esm/generated/codama/accounts/configState.js +3 -1
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/contractState.js +5 -1
- package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/esm/generated/codama/errors/srsly.js +5 -5
- package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createContract.js +2 -0
- package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/index.js +2 -0
- package/dist/esm/generated/codama/instructions/index.js.map +1 -1
- package/dist/esm/generated/codama/instructions/migrateConfig.js +109 -0
- package/dist/esm/generated/codama/instructions/migrateConfig.js.map +1 -0
- package/dist/esm/generated/codama/instructions/migrateContract.js +75 -0
- package/dist/esm/generated/codama/instructions/migrateContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/updateConfig.js +2 -0
- package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateContract.js +3 -1
- package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
- package/dist/esm/generated/codama/programs/srsly.js +15 -7
- package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
- package/dist/esm/generated/codama/types/borrowerClaimed.js +26 -0
- package/dist/esm/generated/codama/types/borrowerClaimed.js.map +1 -0
- package/dist/esm/generated/codama/types/borrowerClosed.js +24 -0
- package/dist/esm/generated/codama/types/borrowerClosed.js.map +1 -0
- package/dist/esm/generated/codama/types/borrowerCreated.js +24 -0
- package/dist/esm/generated/codama/types/borrowerCreated.js.map +1 -0
- package/dist/esm/generated/codama/types/contractCloseQueued.js +24 -0
- package/dist/esm/generated/codama/types/contractCloseQueued.js.map +1 -0
- package/dist/esm/generated/codama/types/contractClosed.js +24 -0
- package/dist/esm/generated/codama/types/contractClosed.js.map +1 -0
- package/dist/esm/generated/codama/types/contractCreated.js +42 -0
- package/dist/esm/generated/codama/types/contractCreated.js.map +1 -0
- package/dist/esm/generated/codama/types/contractUpdated.js +34 -0
- package/dist/esm/generated/codama/types/contractUpdated.js.map +1 -0
- package/dist/esm/generated/codama/types/delegateSet.js +26 -0
- package/dist/esm/generated/codama/types/delegateSet.js.map +1 -0
- package/dist/esm/generated/codama/types/index.js +14 -0
- package/dist/esm/generated/codama/types/index.js.map +1 -1
- package/dist/esm/generated/codama/types/reservationKnockedOff.js +36 -0
- package/dist/esm/generated/codama/types/reservationKnockedOff.js.map +1 -0
- package/dist/esm/generated/codama/types/reservationPlaced.js +32 -0
- package/dist/esm/generated/codama/types/reservationPlaced.js.map +1 -0
- package/dist/esm/generated/codama/types/staleDecayApplied.js +28 -0
- package/dist/esm/generated/codama/types/staleDecayApplied.js.map +1 -0
- package/dist/esm/generated/codama/types/threadClosed.js +24 -0
- package/dist/esm/generated/codama/types/threadClosed.js.map +1 -0
- package/dist/esm/generated/codama/types/threadCreated.js +28 -0
- package/dist/esm/generated/codama/types/threadCreated.js.map +1 -0
- package/dist/esm/generated/codama/types/threadFunded.js +34 -0
- package/dist/esm/generated/codama/types/threadFunded.js.map +1 -0
- package/dist/esm/idl/srsly.json +3152 -302
- package/dist/esm/instructions/createContract.js +1 -0
- package/dist/esm/instructions/createContract.js.map +1 -1
- package/dist/esm/instructions/index.js +2 -0
- package/dist/esm/instructions/index.js.map +1 -1
- package/dist/esm/instructions/migrateConfig.js +38 -0
- package/dist/esm/instructions/migrateConfig.js.map +1 -0
- package/dist/esm/instructions/migrateContract.js +44 -0
- package/dist/esm/instructions/migrateContract.js.map +1 -0
- package/dist/esm/instructions/reserveRental.js +4 -3
- package/dist/esm/instructions/reserveRental.js.map +1 -1
- package/dist/esm/instructions/updateConfig.js +1 -0
- package/dist/esm/instructions/updateConfig.js.map +1 -1
- package/dist/esm/instructions/updateContract.js +3 -1
- package/dist/esm/instructions/updateContract.js.map +1 -1
- package/dist/esm/kit/index.js +4 -0
- package/dist/esm/kit/index.js.map +1 -1
- package/dist/esm/legacy/index.js +2 -0
- package/dist/esm/legacy/index.js.map +1 -1
- package/dist/esm/package.json +1 -2
- package/dist/esm/params/index.js +1 -0
- package/dist/esm/params/index.js.map +1 -1
- package/dist/esm/params/points.js +104 -0
- package/dist/esm/params/points.js.map +1 -0
- package/dist/esm/utils/clock.js +39 -0
- package/dist/esm/utils/clock.js.map +1 -0
- package/dist/esm/utils/contractSnapshot.js +46 -5
- package/dist/esm/utils/contractSnapshot.js.map +1 -1
- package/dist/esm/utils/contractSnapshot.test.js +28 -3
- package/dist/esm/utils/contractSnapshot.test.js.map +1 -1
- package/dist/esm/utils/index.js +4 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/staleDecay.js +44 -0
- package/dist/esm/utils/staleDecay.js.map +1 -0
- package/dist/esm/utils/staleDecay.test.js +69 -0
- package/dist/esm/utils/staleDecay.test.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/idl/srsly.json +3153 -303
- package/dist/types/accounts/contract.d.ts +11 -5
- package/dist/types/accounts/contract.d.ts.map +1 -1
- package/dist/types/audit/events-registry.d.ts +1 -1
- package/dist/types/audit/events-registry.d.ts.map +1 -1
- package/dist/types/audit/events.d.ts.map +1 -1
- package/dist/types/audit/index.d.ts +1 -1
- package/dist/types/audit/index.d.ts.map +1 -1
- package/dist/types/audit/types.d.ts +121 -1
- package/dist/types/audit/types.d.ts.map +1 -1
- package/dist/types/cost/estimate.d.ts +17 -2
- package/dist/types/cost/estimate.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/configState.d.ts +16 -0
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/contractState.d.ts +40 -0
- package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
- package/dist/types/generated/codama/errors/srsly.d.ts +1 -1
- package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createContract.d.ts +4 -0
- package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/index.d.ts +2 -0
- package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/migrateConfig.d.ts +66 -0
- package/dist/types/generated/codama/instructions/migrateConfig.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/migrateContract.d.ts +59 -0
- package/dist/types/generated/codama/instructions/migrateContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/updateConfig.d.ts +16 -0
- package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateContract.d.ts +22 -0
- package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
- package/dist/types/generated/codama/programs/srsly.d.ts +14 -8
- package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/types/borrowerClaimed.d.ts +23 -0
- package/dist/types/generated/codama/types/borrowerClaimed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/borrowerClosed.d.ts +18 -0
- package/dist/types/generated/codama/types/borrowerClosed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/borrowerCreated.d.ts +18 -0
- package/dist/types/generated/codama/types/borrowerCreated.d.ts.map +1 -0
- package/dist/types/generated/codama/types/contractCloseQueued.d.ts +22 -0
- package/dist/types/generated/codama/types/contractCloseQueued.d.ts.map +1 -0
- package/dist/types/generated/codama/types/contractClosed.d.ts +18 -0
- package/dist/types/generated/codama/types/contractClosed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/contractCreated.d.ts +39 -0
- package/dist/types/generated/codama/types/contractCreated.d.ts.map +1 -0
- package/dist/types/generated/codama/types/contractUpdated.d.ts +34 -0
- package/dist/types/generated/codama/types/contractUpdated.d.ts.map +1 -0
- package/dist/types/generated/codama/types/delegateSet.d.ts +23 -0
- package/dist/types/generated/codama/types/delegateSet.d.ts.map +1 -0
- package/dist/types/generated/codama/types/index.d.ts +14 -0
- package/dist/types/generated/codama/types/index.d.ts.map +1 -1
- package/dist/types/generated/codama/types/reservationKnockedOff.d.ts +33 -0
- package/dist/types/generated/codama/types/reservationKnockedOff.d.ts.map +1 -0
- package/dist/types/generated/codama/types/reservationPlaced.d.ts +32 -0
- package/dist/types/generated/codama/types/reservationPlaced.d.ts.map +1 -0
- package/dist/types/generated/codama/types/staleDecayApplied.d.ts +31 -0
- package/dist/types/generated/codama/types/staleDecayApplied.d.ts.map +1 -0
- package/dist/types/generated/codama/types/threadClosed.d.ts +18 -0
- package/dist/types/generated/codama/types/threadClosed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/threadCreated.d.ts +25 -0
- package/dist/types/generated/codama/types/threadCreated.d.ts.map +1 -0
- package/dist/types/generated/codama/types/threadFunded.d.ts +28 -0
- package/dist/types/generated/codama/types/threadFunded.d.ts.map +1 -0
- package/dist/types/instructions/createContract.d.ts +10 -0
- package/dist/types/instructions/createContract.d.ts.map +1 -1
- package/dist/types/instructions/index.d.ts +2 -0
- package/dist/types/instructions/index.d.ts.map +1 -1
- package/dist/types/instructions/migrateConfig.d.ts +39 -0
- package/dist/types/instructions/migrateConfig.d.ts.map +1 -0
- package/dist/types/instructions/migrateContract.d.ts +44 -0
- package/dist/types/instructions/migrateContract.d.ts.map +1 -0
- package/dist/types/instructions/reserveRental.d.ts +10 -2
- package/dist/types/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/instructions/updateConfig.d.ts +7 -0
- package/dist/types/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/instructions/updateContract.d.ts +7 -0
- package/dist/types/instructions/updateContract.d.ts.map +1 -1
- package/dist/types/kit/index.d.ts +1 -0
- package/dist/types/kit/index.d.ts.map +1 -1
- package/dist/types/legacy/index.d.ts +2 -0
- package/dist/types/legacy/index.d.ts.map +1 -1
- package/dist/types/params/index.d.ts +1 -0
- package/dist/types/params/index.d.ts.map +1 -1
- package/dist/types/params/points.d.ts +71 -0
- package/dist/types/params/points.d.ts.map +1 -0
- package/dist/types/utils/clock.d.ts +24 -0
- package/dist/types/utils/clock.d.ts.map +1 -0
- package/dist/types/utils/contractSnapshot.d.ts +24 -1
- package/dist/types/utils/contractSnapshot.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/staleDecay.d.ts +21 -0
- package/dist/types/utils/staleDecay.d.ts.map +1 -0
- package/dist/types/utils/staleDecay.test.d.ts +2 -0
- package/dist/types/utils/staleDecay.test.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -4
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Read the on-chain Clock sysvar to get `unix_timestamp`.
|
|
3
|
+
*
|
|
4
|
+
* Use this instead of `Date.now()` whenever the SDK quotes a value the
|
|
5
|
+
* on-chain program would compute against `Clock::get()` — wall-clock skew
|
|
6
|
+
* between the client and the cluster can otherwise produce a stale or
|
|
7
|
+
* future-dated answer (matters for `rate_after_stale_decay` and any time
|
|
8
|
+
* projection that crosses the `stale_since` sentinel).
|
|
9
|
+
*
|
|
10
|
+
* Layout (offsets, little-endian):
|
|
11
|
+
* 0 slot u64
|
|
12
|
+
* 8 epoch_start_timestamp i64
|
|
13
|
+
* 16 epoch u64
|
|
14
|
+
* 24 leader_schedule_epoch u64
|
|
15
|
+
* 32 unix_timestamp i64 ← this is what callers want
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Fetch the cluster's `Clock::unix_timestamp` as a JS `number` (seconds).
|
|
19
|
+
*
|
|
20
|
+
* One RPC round-trip (`getAccountInfo` on the sysvar). Safe to call in
|
|
21
|
+
* parallel with other fetches.
|
|
22
|
+
*/
|
|
23
|
+
export declare function fetchChainNowSeconds(rpcUrl?: string): Promise<number>;
|
|
24
|
+
//# sourceMappingURL=clock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../../src/utils/clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW3E"}
|
|
@@ -34,6 +34,17 @@ export type ContractSnapshot = {
|
|
|
34
34
|
* time-projected floors (`delaySeconds`, custom `nowSeconds`), call
|
|
35
35
|
* `computeMinimumBidFromSnapshot(snap, opts)` — no extra RPC needed. */
|
|
36
36
|
minimumBid: MinimumBid;
|
|
37
|
+
/** Chain `Clock::unix_timestamp` at fetch time. Used as the default
|
|
38
|
+
* evaluation moment for `effectiveRate` and any time-projected
|
|
39
|
+
* derivations. Fetched from the Sysvar Clock account, not `Date.now()`. */
|
|
40
|
+
nowSeconds: number;
|
|
41
|
+
/** Rate `rental_accept` would write back if called at `nowSeconds` —
|
|
42
|
+
* i.e. `contract.rate` with any pending stale-decay applied. Equals
|
|
43
|
+
* `contract.rate` exactly when decay short-circuits (active rental,
|
|
44
|
+
* `staleSince == 0`, `staleDiscountMaxBps == 0`, or protocol-wide
|
|
45
|
+
* `staleDiscountPerDayBps == 0`). UIs quoting an accept-time cost
|
|
46
|
+
* should use this rather than `contract.rate`. */
|
|
47
|
+
effectiveRate: bigint;
|
|
37
48
|
};
|
|
38
49
|
/**
|
|
39
50
|
* Fetch a contract and every account directly attached to it in one shot,
|
|
@@ -91,8 +102,20 @@ export declare function resolveContractSnapshot(args: {
|
|
|
91
102
|
* projection (`delaySeconds` / `nowSeconds`) or with an overridden
|
|
92
103
|
* `atlasPerPoint` ratio. For the at-fetch-time floor, read
|
|
93
104
|
* `snap.minimumBid` directly.
|
|
105
|
+
*
|
|
106
|
+
* Both `.atlas` and `.points` are on-chain-ready bid values — callers
|
|
107
|
+
* can feed them straight into `reserveRental(...)` without further
|
|
108
|
+
* conversion or threshold-clamping:
|
|
109
|
+
*
|
|
110
|
+
* - First-reservation contracts (`current === null`): both fields are
|
|
111
|
+
* clamped up to `config.min_capture_threshold` (and its atlas
|
|
112
|
+
* equivalent) so a bid built from either field clears the
|
|
113
|
+
* `bid_threshold` check.
|
|
114
|
+
* - Contested contracts (`current !== null`): `.atlas` is the
|
|
115
|
+
* rate-derived ramp floor only; `.points` additionally clamps to
|
|
116
|
+
* `min_capture_threshold` (the ramp dominates atlas by design).
|
|
94
117
|
*/
|
|
95
|
-
export declare function computeMinimumBidFromSnapshot(snap: Omit<ContractSnapshot, 'minimumBid'>, opts?: {
|
|
118
|
+
export declare function computeMinimumBidFromSnapshot(snap: Omit<ContractSnapshot, 'minimumBid' | 'effectiveRate'>, opts?: {
|
|
96
119
|
delaySeconds?: number;
|
|
97
120
|
nowSeconds?: number;
|
|
98
121
|
atlasPerPoint?: bigint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractSnapshot.d.ts","sourceRoot":"","sources":["../../../src/utils/contractSnapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAM5E,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"contractSnapshot.d.ts","sourceRoot":"","sources":["../../../src/utils/contractSnapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAM5E,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAM/D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACpC,QAAQ,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IACxC;8EAC0E;IAC1E,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IACjD;8EAC0E;IAC1E,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IACjD;;6EAEyE;IACzE,UAAU,EAAE,UAAU,CAAC;IACvB;;gFAE4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;uDAKmD;IACnD,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,eAAe,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,eAAe,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+B5B;AAUD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,eAAe,CAAC,EAC5D,IAAI,GAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GACL,UAAU,CAkGZ;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,eAAe,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC;oDACgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;+BAC2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;wDACoD;IACpD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,GAAG,OAAO,CAAC,UAAU,CAAC,CA2BtB"}
|
|
@@ -14,6 +14,8 @@ export { hasActiveRental, hasQueuedRental } from './rental';
|
|
|
14
14
|
export { computeMinimumBid, type MinimumBid } from './bidMath';
|
|
15
15
|
export { computeContestChain, stardustToDisplay, distributeEven, distributeSnipeHeavy, nextKnobId, type ContestChain, type ContestChainConfig, type ContestKnob, type ContestRow, type ContestSegment, type EventSource, type Cur, } from './contestChain';
|
|
16
16
|
export { getContractSnapshot, resolveContractSnapshot, computeMinimumBidFromSnapshot, getMinimumBid, type ContractSnapshot, type FetchedAccount, } from './contractSnapshot';
|
|
17
|
+
export { fetchChainNowSeconds } from './clock';
|
|
18
|
+
export { rateAfterStaleDecay } from './staleDecay';
|
|
17
19
|
export { createDiscount, deserializeDiscountAuth, type CreateDiscountParams, type SerializedDiscountAuth, type MessageSigner, } from './discountAuth';
|
|
18
20
|
export { resolveReferrer, requireValidReferrer } from './referrer';
|
|
19
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,GACrC,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAGtF,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAGlE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/D,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,GAAG,GACT,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,GACrC,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAGtF,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAGlE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/D,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,GAAG,GACT,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose TS mirror of `ContractState::rate_after_stale_decay` (rust).
|
|
3
|
+
*
|
|
4
|
+
* Computes the rate a future `rental_accept` would write back, given the
|
|
5
|
+
* contract + config state at a specific moment in chain time. Pure — no
|
|
6
|
+
* RPC, no `Date.now()`. Caller supplies `nowSeconds` from the Clock
|
|
7
|
+
* sysvar (`fetchChainNowSeconds`) or any other authoritative source.
|
|
8
|
+
*
|
|
9
|
+
* Returns `contract.rate` unchanged when any of the on-chain short-circuits
|
|
10
|
+
* fire: active rental present, `stale_since == 0` sentinel,
|
|
11
|
+
* `stale_discount_max_bps == 0` (per-contract opt-out), or
|
|
12
|
+
* `stale_discount_per_day_bps == 0` (protocol-wide opt-out).
|
|
13
|
+
*/
|
|
14
|
+
import type { ContractState } from '../generated/codama/accounts/contractState';
|
|
15
|
+
import type { ConfigState } from '../generated/codama/accounts/configState';
|
|
16
|
+
/**
|
|
17
|
+
* Mirrors `rust/programs/srsly/src/state/contract.rs::rate_after_stale_decay`
|
|
18
|
+
* byte-for-byte. Any change there must be reflected here.
|
|
19
|
+
*/
|
|
20
|
+
export declare function rateAfterStaleDecay(contract: ContractState, config: ConfigState, nowSeconds: number | bigint): bigint;
|
|
21
|
+
//# sourceMappingURL=staleDecay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staleDecay.d.ts","sourceRoot":"","sources":["../../../src/utils/staleDecay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAM5E;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,GAAG,MAAM,GAC1B,MAAM,CAwBR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staleDecay.test.d.ts","sourceRoot":"","sources":["../../../src/utils/staleDecay.test.ts"],"names":[],"mappings":""}
|
package/dist/types/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "
|
|
1
|
+
export declare const VERSION = "5.1.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sly-rentals/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "TypeScript SDK for SRSLY",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"@codama/renderers-js": "^1.4.2",
|
|
101
101
|
"@solana/kit": "^2.1.1",
|
|
102
102
|
"uplot": "^1.6.32",
|
|
103
|
-
"@sly-rentals/vault": "
|
|
103
|
+
"@sly-rentals/vault": "2.0.1"
|
|
104
104
|
},
|
|
105
105
|
"devDependencies": {
|
|
106
106
|
"@types/node": "^24.0.3",
|
|
@@ -109,8 +109,7 @@
|
|
|
109
109
|
"react": "^18.2.0",
|
|
110
110
|
"tsconfig-to-dual-package": "^1.2.0",
|
|
111
111
|
"typescript": "^5.9.2",
|
|
112
|
-
"vitest": "^3.2.4"
|
|
113
|
-
"@sly-rentals/programs": "0.1.0"
|
|
112
|
+
"vitest": "^3.2.4"
|
|
114
113
|
},
|
|
115
114
|
"peerDependencies": {
|
|
116
115
|
"@solana/web3.js": "^1.95.0",
|