@wuwei-labs/srsly 3.0.0-beta.21 → 3.0.0-beta.22
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/cjs/accounts/index.js +23 -0
- package/dist/cjs/accounts/index.js.map +1 -0
- package/dist/cjs/demos.js +157 -57
- package/dist/cjs/demos.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/borrowerState.js +8 -2
- package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/configState.js +0 -2
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/contractState.js +23 -30
- package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/index.js +0 -1
- package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/rentalState.js +20 -14
- package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/cjs/generated/codama/errors/srsly.js +43 -43
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/acceptRental.js +60 -47
- package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/activateRental.js +144 -22
- package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/cancelRental.js +13 -42
- package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/claimContract.js +197 -0
- package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeContract.js +130 -14
- package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/closeContractThread.js +154 -0
- package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeRental.js +10 -121
- package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createBorrower.js +211 -0
- package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/createContract.js +40 -24
- package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createContractThread.js +299 -0
- package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/index.js +6 -5
- package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/payContract.js +237 -0
- package/dist/cjs/generated/codama/instructions/payContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/reserveRental.js +81 -60
- package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateBorrower.js +7 -43
- package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateConfig.js +0 -2
- package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateContract.js +0 -10
- package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
- package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
- package/dist/cjs/generated/codama/programs/srsly.js +36 -36
- package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/types/bidType.js +30 -0
- package/dist/cjs/generated/codama/types/bidType.js.map +1 -0
- package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
- package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
- package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
- package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
- package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
- package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
- package/dist/cjs/generated/codama/types/index.js +6 -2
- package/dist/cjs/generated/codama/types/index.js.map +1 -1
- package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
- package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalActivated.js +2 -0
- package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -1
- package/dist/cjs/generated/codama/types/rentalExpiredInline.js +31 -0
- package/dist/cjs/generated/codama/types/rentalExpiredInline.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalStatus.js +4 -3
- package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -1
- package/dist/cjs/generated/codama/types/reservationCreated.js +9 -4
- package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
- package/dist/cjs/index.js +4 -221
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instructions/acceptRental.js +23 -79
- package/dist/cjs/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/instructions/activateRental.js +83 -0
- package/dist/cjs/instructions/activateRental.js.map +1 -0
- package/dist/cjs/instructions/cancelRental.js +21 -23
- package/dist/cjs/instructions/cancelRental.js.map +1 -1
- package/dist/cjs/instructions/claimBorrower.js +27 -14
- package/dist/cjs/instructions/claimBorrower.js.map +1 -1
- package/dist/cjs/instructions/claimContract.js +56 -0
- package/dist/cjs/instructions/claimContract.js.map +1 -0
- package/dist/cjs/instructions/closeContract.js +13 -12
- package/dist/cjs/instructions/closeContract.js.map +1 -1
- package/dist/cjs/instructions/closeContractThread.js +58 -0
- package/dist/cjs/instructions/closeContractThread.js.map +1 -0
- package/dist/cjs/instructions/closeRental.js +34 -45
- package/dist/cjs/instructions/closeRental.js.map +1 -1
- package/dist/cjs/instructions/createBorrower.js +64 -0
- package/dist/cjs/instructions/createBorrower.js.map +1 -0
- package/dist/cjs/instructions/createContract.js +2 -34
- package/dist/cjs/instructions/createContract.js.map +1 -1
- package/dist/cjs/instructions/createContractThread.js +74 -0
- package/dist/cjs/instructions/createContractThread.js.map +1 -0
- package/dist/cjs/instructions/index.js +41 -49
- package/dist/cjs/instructions/index.js.map +1 -1
- package/dist/cjs/instructions/reserveRental.js +70 -68
- package/dist/cjs/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/instructions/updateBorrower.js +44 -40
- package/dist/cjs/instructions/updateBorrower.js.map +1 -1
- package/dist/cjs/instructions/updateConfig.js +0 -1
- package/dist/cjs/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/instructions/updateContract.js +14 -30
- package/dist/cjs/instructions/updateContract.js.map +1 -1
- package/dist/cjs/instructions/updateContractThread.js +60 -0
- package/dist/cjs/instructions/updateContractThread.js.map +1 -0
- package/dist/cjs/kit/index.js +37 -3
- package/dist/cjs/kit/index.js.map +1 -1
- package/dist/cjs/legacy/index.js +13 -16
- package/dist/cjs/legacy/index.js.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/params/index.js +21 -0
- package/dist/cjs/params/index.js.map +1 -0
- package/dist/cjs/params/sol.js +71 -0
- package/dist/cjs/params/sol.js.map +1 -0
- package/dist/cjs/pda/constants.js +4 -2
- package/dist/cjs/pda/constants.js.map +1 -1
- package/dist/cjs/pda/index.js +7 -23
- package/dist/cjs/pda/index.js.map +1 -1
- package/dist/cjs/pda/srsly.js +30 -37
- package/dist/cjs/pda/srsly.js.map +1 -1
- package/dist/cjs/pda/thread.js +37 -24
- package/dist/cjs/pda/thread.js.map +1 -1
- package/dist/cjs/utils/index.js +3 -5
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/rental.js +23 -109
- package/dist/cjs/utils/rental.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/accounts/index.js +7 -0
- package/dist/esm/accounts/index.js.map +1 -0
- package/dist/esm/demos.js +156 -56
- package/dist/esm/demos.js.map +1 -1
- package/dist/esm/generated/codama/accounts/borrowerState.js +9 -3
- package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/configState.js +0 -2
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/contractState.js +24 -31
- package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/index.js +0 -1
- package/dist/esm/generated/codama/accounts/index.js.map +1 -1
- package/dist/esm/generated/codama/accounts/rentalState.js +22 -16
- package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/esm/generated/codama/errors/srsly.js +41 -41
- package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
- package/dist/esm/generated/codama/instructions/acceptRental.js +60 -47
- package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/activateRental.js +146 -24
- package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/cancelRental.js +14 -43
- package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
- package/dist/esm/generated/codama/instructions/claimContract.js +187 -0
- package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeContract.js +130 -14
- package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/closeContractThread.js +144 -0
- package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeRental.js +11 -122
- package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createBorrower.js +201 -0
- package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/createContract.js +41 -25
- package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createContractThread.js +289 -0
- package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
- package/dist/esm/generated/codama/instructions/index.js +6 -5
- package/dist/esm/generated/codama/instructions/index.js.map +1 -1
- package/dist/esm/generated/codama/instructions/payContract.js +227 -0
- package/dist/esm/generated/codama/instructions/payContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/reserveRental.js +82 -61
- package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateBorrower.js +8 -43
- package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateConfig.js +0 -2
- package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateContract.js +1 -11
- package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
- package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
- package/dist/esm/generated/codama/programs/srsly.js +36 -36
- package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
- package/dist/esm/generated/codama/types/bidType.js +24 -0
- package/dist/esm/generated/codama/types/bidType.js.map +1 -0
- package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
- package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
- package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
- package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
- package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
- package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
- package/dist/esm/generated/codama/types/index.js +6 -2
- package/dist/esm/generated/codama/types/index.js.map +1 -1
- package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
- package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalActivated.js +3 -1
- package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -1
- package/dist/esm/generated/codama/types/rentalExpiredInline.js +26 -0
- package/dist/esm/generated/codama/types/rentalExpiredInline.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalStatus.js +4 -3
- package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
- package/dist/esm/generated/codama/types/reservationCreated.js +10 -5
- package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
- package/dist/esm/index.js +1 -99
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instructions/acceptRental.js +26 -82
- package/dist/esm/instructions/acceptRental.js.map +1 -1
- package/dist/esm/instructions/activateRental.js +80 -0
- package/dist/esm/instructions/activateRental.js.map +1 -0
- package/dist/esm/instructions/cancelRental.js +22 -24
- package/dist/esm/instructions/cancelRental.js.map +1 -1
- package/dist/esm/instructions/claimBorrower.js +27 -14
- package/dist/esm/instructions/claimBorrower.js.map +1 -1
- package/dist/esm/instructions/claimContract.js +53 -0
- package/dist/esm/instructions/claimContract.js.map +1 -0
- package/dist/esm/instructions/closeContract.js +13 -12
- package/dist/esm/instructions/closeContract.js.map +1 -1
- package/dist/esm/instructions/closeContractThread.js +55 -0
- package/dist/esm/instructions/closeContractThread.js.map +1 -0
- package/dist/esm/instructions/closeRental.js +35 -46
- package/dist/esm/instructions/closeRental.js.map +1 -1
- package/dist/esm/instructions/createBorrower.js +61 -0
- package/dist/esm/instructions/createBorrower.js.map +1 -0
- package/dist/esm/instructions/createContract.js +2 -34
- package/dist/esm/instructions/createContract.js.map +1 -1
- package/dist/esm/instructions/createContractThread.js +71 -0
- package/dist/esm/instructions/createContractThread.js.map +1 -0
- package/dist/esm/instructions/index.js +27 -24
- package/dist/esm/instructions/index.js.map +1 -1
- package/dist/esm/instructions/reserveRental.js +71 -69
- package/dist/esm/instructions/reserveRental.js.map +1 -1
- package/dist/esm/instructions/updateBorrower.js +45 -41
- package/dist/esm/instructions/updateBorrower.js.map +1 -1
- package/dist/esm/instructions/updateConfig.js +0 -1
- package/dist/esm/instructions/updateConfig.js.map +1 -1
- package/dist/esm/instructions/updateContract.js +14 -30
- package/dist/esm/instructions/updateContract.js.map +1 -1
- package/dist/esm/instructions/updateContractThread.js +57 -0
- package/dist/esm/instructions/updateContractThread.js.map +1 -0
- package/dist/esm/kit/index.js +11 -3
- package/dist/esm/kit/index.js.map +1 -1
- package/dist/esm/legacy/index.js +11 -14
- package/dist/esm/legacy/index.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/params/index.js +5 -0
- package/dist/esm/params/index.js.map +1 -0
- package/dist/esm/params/sol.js +68 -0
- package/dist/esm/params/sol.js.map +1 -0
- package/dist/esm/pda/constants.js +3 -1
- package/dist/esm/pda/constants.js.map +1 -1
- package/dist/esm/pda/index.js +3 -21
- package/dist/esm/pda/index.js.map +1 -1
- package/dist/esm/pda/srsly.js +29 -36
- package/dist/esm/pda/srsly.js.map +1 -1
- package/dist/esm/pda/thread.js +36 -24
- package/dist/esm/pda/thread.js.map +1 -1
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/rental.js +22 -106
- package/dist/esm/utils/rental.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/idl/srsly.json +1704 -1909
- package/dist/types/accounts/index.d.ts +7 -0
- package/dist/types/accounts/index.d.ts.map +1 -0
- package/dist/types/demos.d.ts +24 -10
- package/dist/types/demos.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/borrowerState.d.ts +15 -3
- package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/configState.d.ts +0 -4
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/contractState.d.ts +51 -74
- package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/index.d.ts +0 -1
- package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/rentalState.d.ts +46 -34
- package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/generated/codama/errors/srsly.d.ts +39 -39
- package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/acceptRental.d.ts +50 -35
- package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/activateRental.d.ts +72 -32
- package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/cancelRental.d.ts +20 -28
- package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts +3 -18
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/claimContract.d.ts +75 -0
- package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeContract.d.ts +70 -18
- package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/closeContractThread.d.ts +63 -0
- package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeRental.d.ts +20 -70
- package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createBorrower.d.ts +88 -0
- package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/createContract.d.ts +28 -32
- package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createContractThread.d.ts +125 -0
- package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/index.d.ts +6 -5
- package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/payContract.d.ts +104 -0
- package/dist/types/generated/codama/instructions/payContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/reserveRental.d.ts +84 -68
- package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateBorrower.d.ts +21 -19
- package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateConfig.d.ts +0 -6
- package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateContract.d.ts +2 -14
- package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
- package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
- package/dist/types/generated/codama/programs/srsly.d.ts +34 -32
- package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/types/bidType.d.ts +18 -0
- package/dist/types/generated/codama/types/bidType.d.ts.map +1 -0
- package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
- package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
- package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
- package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
- package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
- package/dist/types/generated/codama/types/index.d.ts +6 -2
- package/dist/types/generated/codama/types/index.d.ts.map +1 -1
- package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
- package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalActivated.d.ts +7 -1
- package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -1
- package/dist/types/generated/codama/types/rentalExpiredInline.d.ts +18 -0
- package/dist/types/generated/codama/types/rentalExpiredInline.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalStatus.d.ts +4 -3
- package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
- package/dist/types/generated/codama/types/reservationCreated.d.ts +9 -4
- package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -42
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/instructions/acceptRental.d.ts +2 -31
- package/dist/types/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/instructions/activateRental.d.ts +41 -0
- package/dist/types/instructions/activateRental.d.ts.map +1 -0
- package/dist/types/instructions/cancelRental.d.ts +8 -18
- package/dist/types/instructions/cancelRental.d.ts.map +1 -1
- package/dist/types/instructions/claimBorrower.d.ts +27 -10
- package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
- package/dist/types/instructions/claimContract.d.ts +40 -0
- package/dist/types/instructions/claimContract.d.ts.map +1 -0
- package/dist/types/instructions/closeContract.d.ts +1 -12
- package/dist/types/instructions/closeContract.d.ts.map +1 -1
- package/dist/types/instructions/closeContractThread.d.ts +40 -0
- package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
- package/dist/types/instructions/closeRental.d.ts +6 -14
- package/dist/types/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/instructions/createBorrower.d.ts +49 -0
- package/dist/types/instructions/createBorrower.d.ts.map +1 -0
- package/dist/types/instructions/createContract.d.ts +1 -41
- package/dist/types/instructions/createContract.d.ts.map +1 -1
- package/dist/types/instructions/createContractThread.d.ts +50 -0
- package/dist/types/instructions/createContractThread.d.ts.map +1 -0
- package/dist/types/instructions/index.d.ts +27 -24
- package/dist/types/instructions/index.d.ts.map +1 -1
- package/dist/types/instructions/reserveRental.d.ts +33 -29
- package/dist/types/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/instructions/updateBorrower.d.ts +23 -29
- package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
- package/dist/types/instructions/updateConfig.d.ts +0 -4
- package/dist/types/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/instructions/updateContract.d.ts +11 -33
- package/dist/types/instructions/updateContract.d.ts.map +1 -1
- package/dist/types/instructions/updateContractThread.d.ts +48 -0
- package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
- package/dist/types/kit/index.d.ts +10 -3
- package/dist/types/kit/index.d.ts.map +1 -1
- package/dist/types/legacy/index.d.ts +11 -39
- package/dist/types/legacy/index.d.ts.map +1 -1
- package/dist/types/params/index.d.ts +5 -0
- package/dist/types/params/index.d.ts.map +1 -0
- package/dist/types/params/sol.d.ts +34 -0
- package/dist/types/params/sol.d.ts.map +1 -0
- package/dist/types/pda/constants.d.ts +3 -1
- package/dist/types/pda/constants.d.ts.map +1 -1
- package/dist/types/pda/index.d.ts +3 -21
- package/dist/types/pda/index.d.ts.map +1 -1
- package/dist/types/pda/srsly.d.ts +13 -15
- package/dist/types/pda/srsly.d.ts.map +1 -1
- package/dist/types/pda/thread.d.ts +17 -18
- package/dist/types/pda/thread.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/rental.d.ts +8 -66
- package/dist/types/utils/rental.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -3,52 +3,48 @@
|
|
|
3
3
|
* @purpose Simplified reserveRental instruction wrapper
|
|
4
4
|
*
|
|
5
5
|
* Thin convenience wrapper around Codama-generated reserveRental instruction.
|
|
6
|
-
* Reserves a rental contract using
|
|
6
|
+
* Reserves a rental contract using ATLAS for a GBM-style auction.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.reserveRental = reserveRental;
|
|
10
10
|
const kit_1 = require("@solana/kit");
|
|
11
|
-
const rpc_1 = require("../utils/rpc");
|
|
12
11
|
const instructions_1 = require("../generated/codama/instructions");
|
|
13
12
|
const config_1 = require("../utils/config");
|
|
14
13
|
const signer_1 = require("../utils/signer");
|
|
14
|
+
const amount_1 = require("../params/amount");
|
|
15
|
+
const duration_1 = require("../params/duration");
|
|
15
16
|
const contract_1 = require("../accounts/contract");
|
|
16
17
|
const config_2 = require("../accounts/config");
|
|
17
|
-
const
|
|
18
|
+
const borrower_1 = require("../accounts/borrower");
|
|
19
|
+
const rental_1 = require("../accounts/rental");
|
|
20
|
+
const types_1 = require("../generated/codama/types");
|
|
18
21
|
const srsly_1 = require("../pda/srsly");
|
|
19
22
|
const token_1 = require("../pda/token");
|
|
23
|
+
const thread_1 = require("../pda/thread");
|
|
20
24
|
const instructions_2 = require("../utils/instructions");
|
|
25
|
+
const discountAuth_1 = require("../utils/discountAuth");
|
|
21
26
|
/**
|
|
22
27
|
* Reserve a rental contract via GBM-style auction
|
|
23
28
|
*
|
|
24
|
-
* Allows a user to reserve (bid on) a rental contract using
|
|
25
|
-
*
|
|
26
|
-
*
|
|
29
|
+
* Allows a user to reserve (bid on) a rental contract using ATLAS tokens.
|
|
30
|
+
* Winners get an exclusive reservation window to accept the rental once
|
|
31
|
+
* the current rental ends.
|
|
27
32
|
*
|
|
28
|
-
* The reservation
|
|
29
|
-
*
|
|
30
|
-
* - If `useAtlas=true`: Transfers ATLAS from challenger's wallet
|
|
33
|
+
* The reservation uses the queued rental PDA and requires the contract
|
|
34
|
+
* thread and activate_rental fiber for scheduling.
|
|
31
35
|
*
|
|
32
36
|
* @param params - Reservation parameters
|
|
33
37
|
* @param config - Optional SDK configuration overrides
|
|
34
38
|
* @returns Array of instructions (Kit format or web3.js if PublicKey in config)
|
|
35
39
|
*
|
|
36
|
-
* @
|
|
40
|
+
* @example
|
|
37
41
|
* ```typescript
|
|
38
|
-
* // Reserve with 5
|
|
42
|
+
* // Reserve with 5 ATLAS for a 7-day rental
|
|
39
43
|
* const ixs = await reserveRental({
|
|
40
44
|
* challenger: wallet,
|
|
41
45
|
* contract: "CONTRACT_ADDRESS",
|
|
42
|
-
* amount: 5,
|
|
43
|
-
*
|
|
44
|
-
* });
|
|
45
|
-
*
|
|
46
|
-
* // Reserve with 5 point-equivalents in ATLAS
|
|
47
|
-
* const ixs2 = await reserveRental({
|
|
48
|
-
* challenger: wallet,
|
|
49
|
-
* contract: "CONTRACT_ADDRESS",
|
|
50
|
-
* amount: 5, // 5 * atlas_per_point = ATLAS lamports transferred
|
|
51
|
-
* useAtlas: true,
|
|
46
|
+
* amount: 5,
|
|
47
|
+
* duration: { days: 7 },
|
|
52
48
|
* computeUnits: 200_000
|
|
53
49
|
* });
|
|
54
50
|
* ```
|
|
@@ -66,69 +62,75 @@ async function reserveRental(params, config) {
|
|
|
66
62
|
if (params.amount === undefined || params.amount === null) {
|
|
67
63
|
throw new Error('amount is required');
|
|
68
64
|
}
|
|
65
|
+
if (!params.duration) {
|
|
66
|
+
throw new Error('duration is required');
|
|
67
|
+
}
|
|
69
68
|
// Convert challenger to transaction signer
|
|
70
69
|
const challengerSigner = (0, signer_1.toTransactionSigner)(params.challenger);
|
|
71
70
|
// Get network-specific addresses
|
|
72
71
|
const addresses = (0, config_1.getAddresses)(config);
|
|
73
72
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// Fetch contract to get owner for ownerState derivation
|
|
77
|
-
const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
|
|
78
|
-
// Fetch config for mint and validation
|
|
73
|
+
const sageProgram = (0, kit_1.address)(addresses.sage);
|
|
74
|
+
// Fetch config for mint
|
|
79
75
|
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
80
76
|
const atlasMint = configAccount.data.atlasMint;
|
|
81
|
-
//
|
|
82
|
-
const
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
//
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
77
|
+
// Fetch contract to get contractTokenAccount
|
|
78
|
+
const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
|
|
79
|
+
// Derive queued rental PDA
|
|
80
|
+
const rentalState = await (0, srsly_1.deriveQueuedRental)(params.contract);
|
|
81
|
+
// Derive rental authority
|
|
82
|
+
const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
|
|
83
|
+
// Derive contract thread and activate_rental fiber (fiber index 2)
|
|
84
|
+
const contractThread = await (0, thread_1.deriveContractThread)(params.contract, rentalAuthority);
|
|
85
|
+
const activateRentalFiber = await (0, thread_1.deriveFiber)(contractThread, 2);
|
|
86
|
+
// Derive contract token account (ATA of contract PDA)
|
|
87
|
+
const contractAddress = (0, kit_1.address)(params.contract);
|
|
88
|
+
const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
|
|
89
|
+
// Derive challenger's token account
|
|
90
|
+
const challengerTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(challengerSigner.address, atlasMint);
|
|
91
|
+
// Convert amount to stardust
|
|
92
|
+
const amountValue = (0, amount_1.convertAmount)(params.amount);
|
|
93
|
+
// Convert duration to seconds
|
|
94
|
+
const durationSeconds = (0, duration_1.convertDuration)(params.duration);
|
|
95
|
+
// Deserialize discount auth if provided
|
|
96
|
+
let discountAuth = null;
|
|
97
|
+
if (params.discountAuth) {
|
|
98
|
+
discountAuth = (0, discountAuth_1.deserializeDiscountAuth)(params.discountAuth);
|
|
99
|
+
}
|
|
100
|
+
const referrer = params.referrer ? (0, kit_1.address)(params.referrer) : undefined;
|
|
91
101
|
// Build instruction input
|
|
92
102
|
const instructionInput = {
|
|
93
103
|
challenger: challengerSigner,
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
104
|
+
contract: contractAddress,
|
|
105
|
+
contractThread,
|
|
106
|
+
activateRentalFiber,
|
|
107
|
+
contractTokenAccount,
|
|
108
|
+
challengerTokenAccount,
|
|
109
|
+
rentalState,
|
|
110
|
+
referrer,
|
|
111
|
+
sageProgram,
|
|
99
112
|
amount: amountValue,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
defenderState: undefined,
|
|
103
|
-
defenderManagedTokenAccount: undefined,
|
|
113
|
+
duration: BigInt(durationSeconds),
|
|
114
|
+
discountAuth,
|
|
104
115
|
};
|
|
105
|
-
// If
|
|
106
|
-
if
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
const defenderState = contractAccount.data.reservationHolder.value;
|
|
116
|
-
instructionInput.defenderState = defenderState;
|
|
117
|
-
// Fetch defender state to get their managed token account
|
|
118
|
-
const rpc = (0, rpc_1.createRpc)(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
|
|
119
|
-
try {
|
|
120
|
-
const defenderStateAccount = await (0, accounts_1.fetchBorrowerState)(rpc, defenderState);
|
|
121
|
-
if (defenderStateAccount.data.managedTokenAccount) {
|
|
122
|
-
instructionInput.defenderManagedTokenAccount = defenderStateAccount.data.managedTokenAccount;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
catch {
|
|
126
|
-
// Defender state might not exist or be readable, continue without it
|
|
116
|
+
// If there's a current queued reservation, provide defender accounts
|
|
117
|
+
// Fetch queued rental to check if there's an existing reservation holder
|
|
118
|
+
try {
|
|
119
|
+
const queuedRental = await (0, rental_1.fetchRental)(rentalState, finalConfig.rpcUrl);
|
|
120
|
+
if (queuedRental.data.status === types_1.RentalStatus.Queued) {
|
|
121
|
+
const defenderBorrowerState = queuedRental.data.borrowerState;
|
|
122
|
+
instructionInput.defenderState = defenderBorrowerState;
|
|
123
|
+
// Fetch defender's managed token account from their borrower state
|
|
124
|
+
const defenderAccount = await (0, borrower_1.fetchBorrower)(defenderBorrowerState, finalConfig.rpcUrl);
|
|
125
|
+
instructionInput.defenderManagedTokenAccount = defenderAccount.data.managedTokenAccount;
|
|
127
126
|
}
|
|
128
127
|
}
|
|
128
|
+
catch {
|
|
129
|
+
// Queued rental doesn't exist or is Available — no defender
|
|
130
|
+
}
|
|
129
131
|
// Call Codama-generated instruction
|
|
130
132
|
const kitInstruction = await (0, instructions_1.getReserveRentalInstructionAsync)(instructionInput, { programAddress });
|
|
131
|
-
// Prepare instructions with optional compute budget
|
|
133
|
+
// Prepare instructions with optional compute budget
|
|
132
134
|
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
133
135
|
computeUnits: params.computeUnits,
|
|
134
136
|
PublicKey: finalConfig.PublicKey
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @purpose Simplified updateBorrower instruction wrapper
|
|
4
4
|
*
|
|
5
5
|
* Thin convenience wrapper around Codama-generated updateBorrower instruction.
|
|
6
|
-
* Updates the borrower's
|
|
6
|
+
* Updates the borrower's SAGE profile addresses.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.updateBorrower = updateBorrower;
|
|
@@ -12,48 +12,35 @@ const instructions_1 = require("../generated/codama/instructions");
|
|
|
12
12
|
const config_1 = require("../utils/config");
|
|
13
13
|
const signer_1 = require("../utils/signer");
|
|
14
14
|
const instructions_2 = require("../utils/instructions");
|
|
15
|
-
const
|
|
15
|
+
const srsly_1 = require("../pda/srsly");
|
|
16
16
|
/**
|
|
17
17
|
* Update borrower account
|
|
18
18
|
*
|
|
19
|
-
* Updates the borrower's SAGE
|
|
20
|
-
*
|
|
21
|
-
* will be used for refunds and payment claims if initialized.
|
|
19
|
+
* Updates the borrower's SAGE-related addresses. These addresses are stored
|
|
20
|
+
* on-chain in the BorrowerState and used during rental operations.
|
|
22
21
|
*
|
|
23
|
-
* This
|
|
22
|
+
* This is a synchronous instruction (no async account resolution needed).
|
|
23
|
+
* The borrower state PDA is derived from the borrower's address.
|
|
24
24
|
*
|
|
25
25
|
* @param params - Update borrower parameters
|
|
26
26
|
* @param config - Optional SDK configuration overrides
|
|
27
27
|
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
28
28
|
*
|
|
29
|
-
* @
|
|
29
|
+
* @example
|
|
30
30
|
* ```typescript
|
|
31
31
|
* // Update borrower's SAGE profile
|
|
32
32
|
* const ix = await updateBorrower({
|
|
33
33
|
* borrower: wallet,
|
|
34
34
|
* borrowerProfile: "NEW_BORROWER_PROFILE_ADDRESS"
|
|
35
35
|
* });
|
|
36
|
-
* ```
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* // Set SAGE profile
|
|
41
|
-
* const ix = await updateBorrower({
|
|
42
|
-
* borrower: borrowerWallet,
|
|
43
|
-
* borrowerProfile: borrowerProfileAddress
|
|
44
|
-
* });
|
|
45
36
|
*
|
|
46
|
-
* //
|
|
37
|
+
* // Update all SAGE addresses at once
|
|
47
38
|
* const ix2 = await updateBorrower({
|
|
48
|
-
* borrower:
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* const ix3 = await updateBorrower({
|
|
54
|
-
* borrower: borrowerWallet,
|
|
55
|
-
* borrowerProfile: borrowerProfileAddress,
|
|
56
|
-
* refundDestination: newTokenAccount
|
|
39
|
+
* borrower: wallet,
|
|
40
|
+
* borrowerProfile: profileAddr,
|
|
41
|
+
* borrowerProfileFaction: factionAddr,
|
|
42
|
+
* starbase: starbaseAddr,
|
|
43
|
+
* starbasePlayer: starbasePlayerAddr
|
|
57
44
|
* });
|
|
58
45
|
* ```
|
|
59
46
|
*/
|
|
@@ -64,25 +51,42 @@ async function updateBorrower(params, config) {
|
|
|
64
51
|
if (!params.borrower) {
|
|
65
52
|
throw new Error('borrower is required');
|
|
66
53
|
}
|
|
54
|
+
// At least one field must be updated
|
|
55
|
+
if (params.borrowerProfile === undefined &&
|
|
56
|
+
params.borrowerProfileFaction === undefined &&
|
|
57
|
+
params.starbase === undefined &&
|
|
58
|
+
params.starbasePlayer === undefined) {
|
|
59
|
+
throw new Error('At least one SAGE address field must be provided to update');
|
|
60
|
+
}
|
|
67
61
|
// Convert borrower to transaction signer
|
|
68
62
|
const borrowerSigner = (0, signer_1.toTransactionSigner)(params.borrower);
|
|
69
|
-
// Get
|
|
70
|
-
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
71
|
-
const atlasMint = configAccount.data.atlasMint;
|
|
63
|
+
// Get program address
|
|
72
64
|
const addresses = (0, config_1.getAddresses)(config);
|
|
73
65
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
74
|
-
//
|
|
75
|
-
|
|
76
|
-
//
|
|
77
|
-
const
|
|
66
|
+
// Derive borrower state PDA
|
|
67
|
+
const borrowerState = await (0, srsly_1.deriveBorrowerState)(borrowerSigner.address);
|
|
68
|
+
// Build data args: null means "don't update" (Option::None)
|
|
69
|
+
const borrowerProfile = params.borrowerProfile
|
|
70
|
+
? (0, kit_1.address)(params.borrowerProfile)
|
|
71
|
+
: null;
|
|
72
|
+
const borrowerProfileFaction = params.borrowerProfileFaction
|
|
73
|
+
? (0, kit_1.address)(params.borrowerProfileFaction)
|
|
74
|
+
: null;
|
|
75
|
+
const starbase = params.starbase
|
|
76
|
+
? (0, kit_1.address)(params.starbase)
|
|
77
|
+
: null;
|
|
78
|
+
const starbasePlayer = params.starbasePlayer
|
|
79
|
+
? (0, kit_1.address)(params.starbasePlayer)
|
|
80
|
+
: null;
|
|
81
|
+
// Call Codama-generated instruction (sync - not async)
|
|
82
|
+
const kitInstruction = (0, instructions_1.getUpdateBorrowerInstruction)({
|
|
78
83
|
borrower: borrowerSigner,
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
const kitInstruction = await (0, instructions_1.getUpdateBorrowerInstructionAsync)(instructionAccounts, { programAddress });
|
|
84
|
+
borrowerState,
|
|
85
|
+
borrowerProfile,
|
|
86
|
+
borrowerProfileFaction,
|
|
87
|
+
starbase,
|
|
88
|
+
starbasePlayer,
|
|
89
|
+
}, { programAddress });
|
|
86
90
|
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
87
91
|
computeUnits: params.computeUnits,
|
|
88
92
|
PublicKey: finalConfig.PublicKey
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateBorrower.js","sourceRoot":"","sources":["../../../src/instructions/updateBorrower.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"updateBorrower.js","sourceRoot":"","sources":["../../../src/instructions/updateBorrower.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA8EH,wCA+DC;AA3ID,qCAAoD;AACpD,mEAAgF;AAChF,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,wCAAmD;AAwCnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACI,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,qCAAqC;IACrC,IACE,MAAM,CAAC,eAAe,KAAK,SAAS;QACpC,MAAM,CAAC,sBAAsB,KAAK,SAAS;QAC3C,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC7B,MAAM,CAAC,cAAc,KAAK,SAAS,EACnC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,sBAAsB;IACtB,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAmB,EAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAExE,4DAA4D;IAC5D,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe;QAC5C,CAAC,CAAC,IAAA,aAAO,EAAC,MAAM,CAAC,eAA0B,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,sBAAsB,GAAG,MAAM,CAAC,sBAAsB;QAC1D,CAAC,CAAC,IAAA,aAAO,EAAC,MAAM,CAAC,sBAAiC,CAAC;QACnD,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;QAC9B,CAAC,CAAC,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc;QAC1C,CAAC,CAAC,IAAA,aAAO,EAAC,MAAM,CAAC,cAAyB,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC;IAET,uDAAuD;IACvD,MAAM,cAAc,GAAG,IAAA,2CAA4B,EACjD;QACE,QAAQ,EAAE,cAAc;QACxB,aAAa;QACb,eAAe;QACf,sBAAsB;QACtB,QAAQ;QACR,cAAc;KACf,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -86,7 +86,6 @@ async function updateConfig(params, config) {
|
|
|
86
86
|
reservationsEnabled: toOption(params.reservationsEnabled),
|
|
87
87
|
pointsPerDay: toOption(params.pointsPerDay),
|
|
88
88
|
cancellationPenalty: toOption(params.cancellationPenalty),
|
|
89
|
-
reservationWindowHours: toOption(params.reservationWindowHours),
|
|
90
89
|
minCaptureThreshold: toOption(params.minCaptureThreshold),
|
|
91
90
|
weightBase: toOption(params.weightBase),
|
|
92
91
|
weightMultiplier: toOption(params.weightMultiplier),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @purpose Simplified updateContract instruction wrapper
|
|
4
4
|
*
|
|
5
5
|
* Thin convenience wrapper around Codama-generated updateContract instruction.
|
|
6
|
-
* Allows updating any subset of contract fields
|
|
6
|
+
* Allows updating any subset of contract fields. Can be called by owner or delegate.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.updateContract = updateContract;
|
|
@@ -13,13 +13,12 @@ const config_1 = require("../utils/config");
|
|
|
13
13
|
const signer_1 = require("../utils/signer");
|
|
14
14
|
const amount_1 = require("../params/amount");
|
|
15
15
|
const duration_1 = require("../params/duration");
|
|
16
|
-
const schedule_1 = require("../params/schedule");
|
|
17
16
|
const instructions_2 = require("../utils/instructions");
|
|
18
17
|
/**
|
|
19
18
|
* Update an existing rental contract
|
|
20
19
|
*
|
|
21
|
-
* Allows the contract owner to update
|
|
22
|
-
*
|
|
20
|
+
* Allows the contract authority (owner or delegate) to update contract settings.
|
|
21
|
+
* Delegates are restricted to rate-only updates.
|
|
23
22
|
*
|
|
24
23
|
* @param params - Contract update parameters
|
|
25
24
|
* @param config - Optional SDK configuration overrides
|
|
@@ -27,29 +26,20 @@ const instructions_2 = require("../utils/instructions");
|
|
|
27
26
|
*
|
|
28
27
|
* @example
|
|
29
28
|
* ```typescript
|
|
30
|
-
* // Update only the rate
|
|
29
|
+
* // Update only the rate (works for both owner and delegate)
|
|
31
30
|
* const ix = await updateContract({
|
|
32
|
-
*
|
|
31
|
+
* authority: wallet,
|
|
33
32
|
* contract: contractAddress,
|
|
34
33
|
* rate: 150 // Increase rate to 150 ATLAS
|
|
35
34
|
* });
|
|
36
35
|
*
|
|
37
|
-
* // Update multiple fields
|
|
36
|
+
* // Update multiple fields (owner only)
|
|
38
37
|
* const ix2 = await updateContract({
|
|
39
|
-
*
|
|
38
|
+
* authority: wallet,
|
|
40
39
|
* contract: contractAddress,
|
|
41
40
|
* rate: 100,
|
|
42
41
|
* durationMax: { days: 60 },
|
|
43
|
-
*
|
|
44
|
-
* });
|
|
45
|
-
*
|
|
46
|
-
* // With web3.js
|
|
47
|
-
* import { PublicKey } from '@solana/web3.js';
|
|
48
|
-
* setSdkConfig({ network: 'mainnet-beta', PublicKey });
|
|
49
|
-
* const web3Ix = await updateContract({
|
|
50
|
-
* owner: keypair,
|
|
51
|
-
* contract: contractPubkey,
|
|
52
|
-
* rate: { atlas: 2.5 }
|
|
42
|
+
* reservationsDisabled: false
|
|
53
43
|
* });
|
|
54
44
|
* ```
|
|
55
45
|
*/
|
|
@@ -57,8 +47,8 @@ async function updateContract(params, config) {
|
|
|
57
47
|
// Merge config
|
|
58
48
|
const finalConfig = (0, config_1.mergeConfig)(config);
|
|
59
49
|
// Validate required params
|
|
60
|
-
if (!params.
|
|
61
|
-
throw new Error('
|
|
50
|
+
if (!params.authority) {
|
|
51
|
+
throw new Error('authority is required');
|
|
62
52
|
}
|
|
63
53
|
if (!params.contract) {
|
|
64
54
|
throw new Error('contract is required');
|
|
@@ -67,19 +57,16 @@ async function updateContract(params, config) {
|
|
|
67
57
|
if (params.rate === undefined &&
|
|
68
58
|
params.durationMin === undefined &&
|
|
69
59
|
params.durationMax === undefined &&
|
|
70
|
-
params.paymentsFreq === undefined &&
|
|
71
60
|
params.cancelDelayMin === undefined &&
|
|
72
|
-
params.reservationsDisabled === undefined
|
|
73
|
-
params.automationRequired === undefined) {
|
|
61
|
+
params.reservationsDisabled === undefined) {
|
|
74
62
|
throw new Error('At least one field must be provided to update');
|
|
75
63
|
}
|
|
76
|
-
// Convert
|
|
77
|
-
const
|
|
64
|
+
// Convert authority to transaction signer
|
|
65
|
+
const authoritySigner = (0, signer_1.toTransactionSigner)(params.authority);
|
|
78
66
|
// Convert optional parameters
|
|
79
67
|
const rateStardust = params.rate !== undefined ? (0, amount_1.convertAmount)(params.rate) : null;
|
|
80
68
|
const durationMinSeconds = params.durationMin !== undefined ? BigInt((0, duration_1.convertDuration)(params.durationMin)) : null;
|
|
81
69
|
const durationMaxSeconds = params.durationMax !== undefined ? BigInt((0, duration_1.convertDuration)(params.durationMax)) : null;
|
|
82
|
-
const normalizedSchedule = params.paymentsFreq !== undefined ? (0, schedule_1.normalizeSchedule)(params.paymentsFreq) : null;
|
|
83
70
|
// Validate duration logic if both are being updated
|
|
84
71
|
if (durationMinSeconds !== null && durationMaxSeconds !== null) {
|
|
85
72
|
if (durationMaxSeconds < durationMinSeconds) {
|
|
@@ -94,17 +81,14 @@ async function updateContract(params, config) {
|
|
|
94
81
|
? BigInt((0, duration_1.convertDuration)(params.cancelDelayMin))
|
|
95
82
|
: null;
|
|
96
83
|
// Call Codama-generated instruction
|
|
97
|
-
// Note: generated code uses 'authority' to allow owner OR delegate
|
|
98
84
|
const kitInstruction = await (0, instructions_1.getUpdateContractInstructionAsync)({
|
|
99
|
-
authority:
|
|
85
|
+
authority: authoritySigner,
|
|
100
86
|
contract: (0, kit_1.address)(params.contract),
|
|
101
87
|
rate: rateStardust,
|
|
102
88
|
durationMinSeconds,
|
|
103
89
|
durationMaxSeconds,
|
|
104
|
-
paymentsFreq: normalizedSchedule,
|
|
105
90
|
cancelDelayMin: cancelDelayMinSeconds,
|
|
106
91
|
reservationsDisabled: params.reservationsDisabled ?? null,
|
|
107
|
-
automationRequired: params.automationRequired ?? null,
|
|
108
92
|
}, { programAddress });
|
|
109
93
|
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
110
94
|
computeUnits: params.computeUnits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateContract.js","sourceRoot":"","sources":["../../../src/instructions/updateContract.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"updateContract.js","sourceRoot":"","sources":["../../../src/instructions/updateContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Simplified updateContractThread instruction wrapper
|
|
4
|
+
*
|
|
5
|
+
* Thin convenience wrapper around Codama-generated updateContractThread instruction.
|
|
6
|
+
* Funds additional lamports and/or updates the payment frequency for a contract thread.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.updateContractThread = updateContractThread;
|
|
10
|
+
const kit_1 = require("@solana/kit");
|
|
11
|
+
const instructions_1 = require("../generated/codama/instructions");
|
|
12
|
+
const config_1 = require("../utils/config");
|
|
13
|
+
const signer_1 = require("../utils/signer");
|
|
14
|
+
const instructions_2 = require("../utils/instructions");
|
|
15
|
+
const thread_1 = require("../pda/thread");
|
|
16
|
+
const srsly_1 = require("../pda/srsly");
|
|
17
|
+
const schedule_1 = require("../params/schedule");
|
|
18
|
+
const sol_1 = require("../params/sol");
|
|
19
|
+
/**
|
|
20
|
+
* Update a per-contract automation thread
|
|
21
|
+
*
|
|
22
|
+
* Funds additional lamports to the thread and optionally updates the
|
|
23
|
+
* payment processing frequency.
|
|
24
|
+
*
|
|
25
|
+
* @param params - Thread update parameters
|
|
26
|
+
* @param config - Optional SDK configuration overrides
|
|
27
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
28
|
+
*/
|
|
29
|
+
async function updateContractThread(params, config) {
|
|
30
|
+
const finalConfig = (0, config_1.mergeConfig)(config);
|
|
31
|
+
if (!params.owner) {
|
|
32
|
+
throw new Error('owner is required');
|
|
33
|
+
}
|
|
34
|
+
if (!params.contract) {
|
|
35
|
+
throw new Error('contract is required');
|
|
36
|
+
}
|
|
37
|
+
const ownerSigner = (0, signer_1.toTransactionSigner)(params.owner);
|
|
38
|
+
const addresses = (0, config_1.getAddresses)(config);
|
|
39
|
+
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
40
|
+
const contractAddress = (0, kit_1.address)(params.contract);
|
|
41
|
+
// Derive thread PDA
|
|
42
|
+
const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
|
|
43
|
+
const contractThread = await (0, thread_1.deriveContractThread)(contractAddress, rentalAuthority);
|
|
44
|
+
// Normalize optional schedule
|
|
45
|
+
const paymentsFreq = params.paymentsFreq
|
|
46
|
+
? (0, schedule_1.normalizeSchedule)(params.paymentsFreq)
|
|
47
|
+
: null;
|
|
48
|
+
const kitInstruction = await (0, instructions_1.getUpdateContractThreadInstructionAsync)({
|
|
49
|
+
payer: ownerSigner,
|
|
50
|
+
contract: contractAddress,
|
|
51
|
+
contractThread,
|
|
52
|
+
lamports: (0, sol_1.convertSol)(params.lamports ?? 0),
|
|
53
|
+
paymentsFreq,
|
|
54
|
+
}, { programAddress });
|
|
55
|
+
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
56
|
+
computeUnits: params.computeUnits,
|
|
57
|
+
PublicKey: finalConfig.PublicKey
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=updateContractThread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateContractThread.js","sourceRoot":"","sources":["../../../src/instructions/updateContractThread.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAoDH,oDA0CC;AA5FD,qCAAoD;AACpD,mEAA2F;AAC3F,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAE5D,0CAAqD;AACrD,wCAAqD;AACrD,iDAA2E;AAC3E,uCAA0D;AA+B1D;;;;;;;;;GASG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAkC,EAClC,MAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,oBAAoB;IACpB,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAqB,GAAE,CAAC;IACtD,MAAM,cAAc,GAAG,MAAM,IAAA,6BAAoB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpF,8BAA8B;IAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;QACtC,CAAC,CAAC,IAAA,4BAAiB,EAAC,MAAM,CAAC,YAAY,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,cAAc,GAAG,MAAM,IAAA,sDAAuC,EAClE;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,cAAc;QACd,QAAQ,EAAE,IAAA,gBAAU,EAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC1C,YAAY;KACb,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/cjs/kit/index.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @wuwei-labs/srsly/kit
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Kit-native entry point for @solana/kit users.
|
|
6
|
+
* All instruction functions return InstructionResult (extends Instruction[]).
|
|
7
7
|
*
|
|
8
8
|
* @example
|
|
9
9
|
* ```typescript
|
|
@@ -26,9 +26,43 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
26
26
|
if (k2 === undefined) k2 = k;
|
|
27
27
|
o[k2] = m[k];
|
|
28
28
|
}));
|
|
29
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
30
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
31
|
+
}) : function(o, v) {
|
|
32
|
+
o["default"] = v;
|
|
33
|
+
});
|
|
29
34
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
30
35
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
31
36
|
};
|
|
37
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
38
|
+
var ownKeys = function(o) {
|
|
39
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
40
|
+
var ar = [];
|
|
41
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
42
|
+
return ar;
|
|
43
|
+
};
|
|
44
|
+
return ownKeys(o);
|
|
45
|
+
};
|
|
46
|
+
return function (mod) {
|
|
47
|
+
if (mod && mod.__esModule) return mod;
|
|
48
|
+
var result = {};
|
|
49
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
50
|
+
__setModuleDefault(result, mod);
|
|
51
|
+
return result;
|
|
52
|
+
};
|
|
53
|
+
})();
|
|
32
54
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
-
|
|
55
|
+
exports.codama = exports.claim = exports.createDiscountAuth = exports.VERSION = void 0;
|
|
56
|
+
var version_1 = require("../version");
|
|
57
|
+
Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_1.VERSION; } });
|
|
58
|
+
__exportStar(require("../utils"), exports);
|
|
59
|
+
__exportStar(require("../instructions"), exports);
|
|
60
|
+
__exportStar(require("../accounts"), exports);
|
|
61
|
+
__exportStar(require("../params"), exports);
|
|
62
|
+
__exportStar(require("../pda"), exports);
|
|
63
|
+
// External re-exports
|
|
64
|
+
var slyvault_1 = require("@wuwei-labs/slyvault");
|
|
65
|
+
Object.defineProperty(exports, "createDiscountAuth", { enumerable: true, get: function () { return slyvault_1.createDiscountAuth; } });
|
|
66
|
+
Object.defineProperty(exports, "claim", { enumerable: true, get: function () { return slyvault_1.claim; } });
|
|
67
|
+
exports.codama = __importStar(require("../generated/codama"));
|
|
34
68
|
//# sourceMappingURL=index.js.map
|