@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
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.acceptRental = acceptRental;
|
|
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");
|
|
@@ -17,7 +16,7 @@ const duration_1 = require("../params/duration");
|
|
|
17
16
|
const fleet_1 = require("../accounts/fleet");
|
|
18
17
|
const contract_1 = require("../accounts/contract");
|
|
19
18
|
const config_2 = require("../accounts/config");
|
|
20
|
-
const
|
|
19
|
+
const borrower_1 = require("../accounts/borrower");
|
|
21
20
|
const sage_1 = require("../pda/sage");
|
|
22
21
|
const srsly_1 = require("../pda/srsly");
|
|
23
22
|
const token_1 = require("../pda/token");
|
|
@@ -33,13 +32,13 @@ const discountAuth_1 = require("../utils/discountAuth");
|
|
|
33
32
|
*
|
|
34
33
|
* This function automatically fetches the contract and config to get required
|
|
35
34
|
* data (fleet, vault, gameId), then derives all SAGE accounts (profile faction,
|
|
36
|
-
* starbase, starbase player) and the
|
|
35
|
+
* starbase, starbase player) and the contract thread for automated payments.
|
|
37
36
|
*
|
|
38
37
|
* @param params - Rental acceptance parameters
|
|
39
38
|
* @param config - Optional SDK configuration overrides
|
|
40
39
|
* @returns Array of instructions (Kit format or web3.js if PublicKey in config)
|
|
41
40
|
*
|
|
42
|
-
* @
|
|
41
|
+
* @example
|
|
43
42
|
* ```typescript
|
|
44
43
|
* // Accept a 7-day rental (borrowerProfile auto-fetched)
|
|
45
44
|
* const ixs = await acceptRental({
|
|
@@ -49,27 +48,6 @@ const discountAuth_1 = require("../utils/discountAuth");
|
|
|
49
48
|
* computeUnits: 400_000
|
|
50
49
|
* });
|
|
51
50
|
* ```
|
|
52
|
-
*
|
|
53
|
-
* @example
|
|
54
|
-
* ```typescript
|
|
55
|
-
* // Accept a 7-day rental (fleet and vault auto-fetched)
|
|
56
|
-
* const ixs = await acceptRental({
|
|
57
|
-
* borrower: wallet,
|
|
58
|
-
* borrowerProfile: borrowerProfileAddress,
|
|
59
|
-
* contract: contractAddress,
|
|
60
|
-
* duration: { days: 7 }
|
|
61
|
-
* });
|
|
62
|
-
*
|
|
63
|
-
* // With referrer and compute budget
|
|
64
|
-
* const ixs2 = await acceptRental({
|
|
65
|
-
* borrower: wallet,
|
|
66
|
-
* borrowerProfile: borrowerProfileAddress,
|
|
67
|
-
* contract: contractAddress,
|
|
68
|
-
* referrer: referrerAddress,
|
|
69
|
-
* duration: { weeks: 2 },
|
|
70
|
-
* computeUnits: 400_000
|
|
71
|
-
* });
|
|
72
|
-
* ```
|
|
73
51
|
*/
|
|
74
52
|
async function acceptRental(params, config) {
|
|
75
53
|
// Merge config
|
|
@@ -86,26 +64,13 @@ async function acceptRental(params, config) {
|
|
|
86
64
|
}
|
|
87
65
|
// Convert borrower to transaction signer
|
|
88
66
|
const borrowerSigner = (0, signer_1.toTransactionSigner)(params.borrower);
|
|
89
|
-
//
|
|
67
|
+
// Get borrowerProfile from borrower_state (always has it) or fallback to param
|
|
90
68
|
let borrowerProfile;
|
|
91
69
|
try {
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
const borrowerState = await (0, accounts_1.fetchBorrowerState)(rpc, borrowerStateAddress);
|
|
95
|
-
const profileOption = borrowerState.data.borrowerProfile;
|
|
96
|
-
if (profileOption && typeof profileOption === 'object' && '__option' in profileOption && profileOption.__option === 'Some') {
|
|
97
|
-
// borrower_state exists and has profile set - use it
|
|
98
|
-
borrowerProfile = profileOption.value;
|
|
99
|
-
}
|
|
100
|
-
else if (params.borrowerProfile) {
|
|
101
|
-
// borrower_state exists but no profile - use provided param
|
|
102
|
-
borrowerProfile = (0, kit_1.address)(params.borrowerProfile);
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
throw new Error('borrowerProfile is required when not set in borrower_state');
|
|
106
|
-
}
|
|
70
|
+
const borrowerAccount = await (0, borrower_1.fetchBorrower)(borrowerSigner.address, finalConfig.rpcUrl);
|
|
71
|
+
borrowerProfile = borrowerAccount.data.borrowerProfile;
|
|
107
72
|
}
|
|
108
|
-
catch
|
|
73
|
+
catch {
|
|
109
74
|
// borrower_state doesn't exist yet - require param for first-time borrowers
|
|
110
75
|
if (params.borrowerProfile) {
|
|
111
76
|
borrowerProfile = (0, kit_1.address)(params.borrowerProfile);
|
|
@@ -117,7 +82,7 @@ async function acceptRental(params, config) {
|
|
|
117
82
|
// Fetch config to get vault
|
|
118
83
|
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
119
84
|
const vault = configAccount.data.slyvault;
|
|
120
|
-
// Fetch contract to get fleet, gameId
|
|
85
|
+
// Fetch contract to get fleet, gameId
|
|
121
86
|
const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
|
|
122
87
|
const fleet = contractAccount.data.fleet;
|
|
123
88
|
const gameId = contractAccount.data.gameId;
|
|
@@ -134,17 +99,13 @@ async function acceptRental(params, config) {
|
|
|
134
99
|
const faction = fleetState.faction;
|
|
135
100
|
// Derive all SAGE game accounts (profile faction, starbase, starbase player)
|
|
136
101
|
const gameAccounts = await (0, sage_1.deriveGameAccounts)(borrowerProfile, faction, gameId);
|
|
137
|
-
// Derive rental
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
const rental = await (0, srsly_1.deriveRental)(params.contract, rentalSlot);
|
|
102
|
+
// Derive active rental PDA (no more slot logic)
|
|
103
|
+
const rentalState = await (0, srsly_1.deriveActiveRental)(params.contract);
|
|
104
|
+
// Derive rental authority PDA
|
|
141
105
|
const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
|
|
142
|
-
// Derive
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
// This is used by rental_schedule to know the thread for the queued rental
|
|
146
|
-
const otherSlotRental = await (0, srsly_1.deriveRental)(params.contract, 1);
|
|
147
|
-
const queuedThread = await (0, thread_1.deriveRentalThread)(otherSlotRental, rentalAuthority);
|
|
106
|
+
// Derive contract thread and close_rental fiber (fiber index 1)
|
|
107
|
+
const contractThread = await (0, thread_1.deriveContractThread)(params.contract, rentalAuthority);
|
|
108
|
+
const closeRentalFiber = await (0, thread_1.deriveFiber)(contractThread, 1);
|
|
148
109
|
// Convert duration parameter
|
|
149
110
|
const durationSeconds = (0, duration_1.convertDuration)(params.duration);
|
|
150
111
|
// Get network-specific addresses (atlasMint sourced from on-chain config)
|
|
@@ -158,51 +119,34 @@ async function acceptRental(params, config) {
|
|
|
158
119
|
discountAuth = (0, discountAuth_1.deserializeDiscountAuth)(params.discountAuth);
|
|
159
120
|
}
|
|
160
121
|
const referrer = params.referrer ? (0, kit_1.address)(params.referrer) : undefined;
|
|
161
|
-
// Determine if we need to include scheduleRental
|
|
162
|
-
// Either explicitly requested or contract requires automation
|
|
163
|
-
const shouldSchedule = params.automate || contractAccount.data.automationRequired;
|
|
164
122
|
// Derive vault token account (ATA)
|
|
165
123
|
const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vault, atlasMint);
|
|
124
|
+
// Derive contract token account (ATA of contract PDA)
|
|
125
|
+
const contractAddress = (0, kit_1.address)(params.contract);
|
|
126
|
+
const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
|
|
166
127
|
// Call Codama-generated acceptRental instruction
|
|
167
128
|
const acceptRentalIx = await (0, instructions_1.getAcceptRentalInstructionAsync)({
|
|
168
129
|
borrower: borrowerSigner,
|
|
169
130
|
borrowerProfile,
|
|
170
131
|
borrowerProfileFaction: gameAccounts.profileFaction,
|
|
171
132
|
fleet: (0, kit_1.address)(fleet),
|
|
172
|
-
contract:
|
|
173
|
-
rentalState
|
|
133
|
+
contract: contractAddress,
|
|
134
|
+
rentalState,
|
|
174
135
|
gameId: (0, kit_1.address)(gameId),
|
|
175
136
|
starbase: gameAccounts.starbase,
|
|
176
137
|
starbasePlayer: gameAccounts.starbasePlayer,
|
|
177
138
|
vault: (0, kit_1.address)(vault),
|
|
178
139
|
vaultTokenAccount,
|
|
140
|
+
contractTokenAccount,
|
|
141
|
+
contractThread,
|
|
142
|
+
closeRentalFiber,
|
|
179
143
|
referrer,
|
|
180
144
|
mint: atlasMint,
|
|
181
145
|
sageProgram,
|
|
182
146
|
duration: BigInt(durationSeconds),
|
|
183
147
|
discountAuth
|
|
184
148
|
}, { programAddress });
|
|
185
|
-
//
|
|
186
|
-
if (shouldSchedule) {
|
|
187
|
-
const scheduleRentalIx = await (0, instructions_1.getScheduleRentalInstructionAsync)({
|
|
188
|
-
payer: borrowerSigner,
|
|
189
|
-
mint: atlasMint,
|
|
190
|
-
contract: (0, kit_1.address)(params.contract),
|
|
191
|
-
fleet: (0, kit_1.address)(fleet),
|
|
192
|
-
rentalState: rental,
|
|
193
|
-
rentalThread,
|
|
194
|
-
queuedThread,
|
|
195
|
-
borrowerProfileFaction: gameAccounts.profileFaction,
|
|
196
|
-
sageProgram,
|
|
197
|
-
rentalSlot,
|
|
198
|
-
}, { programAddress });
|
|
199
|
-
// Return both instructions as array
|
|
200
|
-
return (0, instructions_2.prepareInstructions)([acceptRentalIx, scheduleRentalIx], {
|
|
201
|
-
computeUnits: params.computeUnits,
|
|
202
|
-
PublicKey: finalConfig.PublicKey
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
// Prepare single instruction with optional compute budget and web3.js conversion
|
|
149
|
+
// Prepare instruction with optional compute budget
|
|
206
150
|
return (0, instructions_2.prepareInstructions)(acceptRentalIx, {
|
|
207
151
|
computeUnits: params.computeUnits,
|
|
208
152
|
PublicKey: finalConfig.PublicKey
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Simplified activateRental instruction wrapper
|
|
4
|
+
*
|
|
5
|
+
* Thin convenience wrapper around Codama-generated activateRental instruction.
|
|
6
|
+
* Manually activates a queued rental when automation is delayed or unavailable.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.activateRental = activateRental;
|
|
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 config_2 = require("../accounts/config");
|
|
16
|
+
const contract_1 = require("../accounts/contract");
|
|
17
|
+
const rental_1 = require("../accounts/rental");
|
|
18
|
+
const borrower_1 = require("../accounts/borrower");
|
|
19
|
+
const srsly_1 = require("../pda/srsly");
|
|
20
|
+
const thread_1 = require("../pda/thread");
|
|
21
|
+
const token_1 = require("../pda/token");
|
|
22
|
+
/**
|
|
23
|
+
* Manually activate a queued rental
|
|
24
|
+
*
|
|
25
|
+
* This is a fallback for when the Antegen automation thread is delayed.
|
|
26
|
+
* Anyone can call this — it's permissionless. The queued rental will be
|
|
27
|
+
* promoted to active, the fleet will be delegated to the borrower in SAGE,
|
|
28
|
+
* and deferred fees will be paid.
|
|
29
|
+
*
|
|
30
|
+
* @param params - Activate rental parameters
|
|
31
|
+
* @param config - Optional SDK configuration overrides
|
|
32
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
33
|
+
*/
|
|
34
|
+
async function activateRental(params, config) {
|
|
35
|
+
const finalConfig = (0, config_1.mergeConfig)(config);
|
|
36
|
+
if (!params.payer) {
|
|
37
|
+
throw new Error('payer is required');
|
|
38
|
+
}
|
|
39
|
+
if (!params.contract) {
|
|
40
|
+
throw new Error('contract is required');
|
|
41
|
+
}
|
|
42
|
+
const payerSigner = (0, signer_1.toTransactionSigner)(params.payer);
|
|
43
|
+
const addresses = (0, config_1.getAddresses)(config);
|
|
44
|
+
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
45
|
+
const contractAddress = (0, kit_1.address)(params.contract);
|
|
46
|
+
// Fetch config and contract
|
|
47
|
+
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
48
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
49
|
+
const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
|
|
50
|
+
// Derive rental PDAs
|
|
51
|
+
const activeRental = await (0, srsly_1.deriveActiveRental)(contractAddress);
|
|
52
|
+
const queuedRental = await (0, srsly_1.deriveQueuedRental)(contractAddress);
|
|
53
|
+
const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
|
|
54
|
+
// Derive thread PDAs
|
|
55
|
+
const contractThread = await (0, thread_1.deriveContractThread)(contractAddress, rentalAuthority);
|
|
56
|
+
const closeRentalFiber = await (0, thread_1.deriveFiber)(contractThread, 1);
|
|
57
|
+
// Fetch queued rental to get borrower info, then fetch borrower state for profile faction
|
|
58
|
+
const queuedRentalAccount = await (0, rental_1.fetchRental)(queuedRental, finalConfig.rpcUrl);
|
|
59
|
+
const borrowerState = await (0, borrower_1.fetchBorrower)(queuedRentalAccount.data.borrowerState, finalConfig.rpcUrl);
|
|
60
|
+
// Get vault from config and derive vault token account
|
|
61
|
+
const vault = configAccount.data.slyvault;
|
|
62
|
+
const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vault, atlasMint);
|
|
63
|
+
const kitInstruction = await (0, instructions_1.getActivateRentalInstructionAsync)({
|
|
64
|
+
payer: payerSigner,
|
|
65
|
+
contract: contractAddress,
|
|
66
|
+
contractTokenAccount: contractAccount.data.managedTokenAccount,
|
|
67
|
+
mint: atlasMint,
|
|
68
|
+
borrowerProfile: queuedRentalAccount.data.borrowerProfile,
|
|
69
|
+
borrowerProfileFaction: borrowerState.data.borrowerProfileFaction,
|
|
70
|
+
fleet: contractAccount.data.fleet,
|
|
71
|
+
gameId: contractAccount.data.gameId,
|
|
72
|
+
contractThread,
|
|
73
|
+
closeRentalFiber,
|
|
74
|
+
vault,
|
|
75
|
+
vaultTokenAccount,
|
|
76
|
+
sageProgram: (0, kit_1.address)(addresses.sage),
|
|
77
|
+
}, { programAddress });
|
|
78
|
+
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
79
|
+
computeUnits: params.computeUnits,
|
|
80
|
+
PublicKey: finalConfig.PublicKey
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=activateRental.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activateRental.js","sourceRoot":"","sources":["../../../src/instructions/activateRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,25 +12,22 @@ 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 srsly_1 = require("../pda/srsly");
|
|
15
|
-
const
|
|
15
|
+
const token_1 = require("../pda/token");
|
|
16
16
|
const instructions_2 = require("../utils/instructions");
|
|
17
17
|
const duration_1 = require("../params/duration");
|
|
18
|
-
const rental_1 = require("../utils/rental");
|
|
19
18
|
const config_2 = require("../accounts/config");
|
|
19
|
+
const contract_1 = require("../accounts/contract");
|
|
20
20
|
/**
|
|
21
21
|
* Cancel a rental
|
|
22
22
|
*
|
|
23
|
-
* Allows a borrower to cancel an active rental.
|
|
23
|
+
* Allows a borrower to cancel an active rental. Always targets the active
|
|
24
|
+
* rental PDA (no more slot detection needed).
|
|
24
25
|
*
|
|
25
26
|
* **Cancellation Behavior:**
|
|
26
|
-
* - `cancelDelay = 0`: Instant cancellation
|
|
27
|
-
*
|
|
28
|
-
* - Returns `InstantCancelNotAllowed` error if contract doesn't allow it
|
|
29
|
-
* - `cancelDelay > 0`: Deferred cancellation
|
|
30
|
-
* - Rental continues until `now + cancelDelay`
|
|
31
|
-
* - Existing Cron trigger handles cleanup when `end_time` is reached
|
|
27
|
+
* - `cancelDelay = 0`: Instant cancellation
|
|
28
|
+
* - `cancelDelay > 0`: Deferred cancellation, rental continues until `now + cancelDelay`
|
|
32
29
|
*
|
|
33
|
-
* Both paths refund the borrower for unused time.
|
|
30
|
+
* Both paths refund the borrower for unused time.
|
|
34
31
|
*
|
|
35
32
|
* @param params - Cancellation parameters (borrower, contract, cancelDelay)
|
|
36
33
|
* @param config - Optional SDK configuration overrides
|
|
@@ -44,7 +41,7 @@ const config_2 = require("../accounts/config");
|
|
|
44
41
|
* contract: contractAddress
|
|
45
42
|
* });
|
|
46
43
|
*
|
|
47
|
-
* // Instant cancellation
|
|
44
|
+
* // Instant cancellation
|
|
48
45
|
* const ix2 = await cancelRental({
|
|
49
46
|
* borrower: borrowerWallet,
|
|
50
47
|
* contract: contractAddress,
|
|
@@ -76,28 +73,29 @@ async function cancelRental(params, config) {
|
|
|
76
73
|
const atlasMint = configAccount.data.atlasMint;
|
|
77
74
|
const addresses = (0, config_1.getAddresses)(config);
|
|
78
75
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
79
|
-
//
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
|
|
76
|
+
// Fetch contract to get fleet
|
|
77
|
+
const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
|
|
78
|
+
const fleet = contractAccount.data.fleet;
|
|
79
|
+
// Derive active rental PDA (no more slot logic)
|
|
80
|
+
const rentalState = await (0, srsly_1.deriveActiveRental)(params.contract);
|
|
81
|
+
// Derive contract token account (ATA of contract PDA)
|
|
82
|
+
const contractAddress = (0, kit_1.address)(params.contract);
|
|
83
|
+
const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
|
|
85
84
|
// Convert duration to seconds (supports { hours: 1 }, { days: 1 }, etc.)
|
|
86
|
-
// Default to 1 hour if not specified (safer than instant cancel
|
|
85
|
+
// Default to 1 hour if not specified (safer than instant cancel)
|
|
87
86
|
const cancelDelay = params.cancelDelay !== undefined
|
|
88
87
|
? BigInt((0, duration_1.convertDuration)(params.cancelDelay))
|
|
89
88
|
: BigInt((0, duration_1.convertDuration)({ hours: 1 }));
|
|
90
89
|
// Call Codama-generated instruction
|
|
91
|
-
// Note: Codama auto-derives config, borrowerState, borrowerTokenAccount,
|
|
92
|
-
// rentalTokenAccount, rentalAuthority, antegenProgram, tokenProgram
|
|
90
|
+
// Note: Codama auto-derives config, borrowerState, borrowerTokenAccount, rentalAuthority
|
|
93
91
|
const kitInstruction = await (0, instructions_1.getCancelRentalInstructionAsync)({
|
|
94
92
|
mint: atlasMint,
|
|
95
93
|
borrower: borrowerSigner,
|
|
96
94
|
rentalState,
|
|
97
|
-
|
|
98
|
-
contract:
|
|
95
|
+
contractTokenAccount,
|
|
96
|
+
contract: contractAddress,
|
|
97
|
+
fleet: (0, kit_1.address)(fleet),
|
|
99
98
|
cancelDelay,
|
|
100
|
-
rentalSlot,
|
|
101
99
|
}, { programAddress });
|
|
102
100
|
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
103
101
|
computeUnits: params.computeUnits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancelRental.js","sourceRoot":"","sources":["../../../src/instructions/cancelRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"cancelRental.js","sourceRoot":"","sources":["../../../src/instructions/cancelRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAyFH,oCA4DC;AAnJD,qCAAoD;AACpD,mEAAmF;AACnF,4CAA4E;AAC5E,4CAA4E;AAC5E,wCAAkD;AAClD,wCAA4D;AAC5D,wDAA4D;AAC5D,iDAAyE;AACzE,+CAAiD;AACjD,mDAAqD;AAuCrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACI,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,8BAA8B;IAC9B,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;IAEzC,gDAAgD;IAChD,MAAM,WAAW,GAAG,MAAM,IAAA,0BAAkB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE9D,sDAAsD;IACtD,MAAM,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,MAAM,IAAA,oCAA4B,EAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAE5F,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS;QAClD,CAAC,CAAC,MAAM,CAAC,IAAA,0BAAe,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,MAAM,CAAC,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1C,oCAAoC;IACpC,yFAAyF;IACzF,MAAM,cAAc,GAAG,MAAM,IAAA,8CAA+B,EAC1D;QACE,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,cAAc;QACxB,WAAW;QACX,oBAAoB;QACpB,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,IAAA,aAAO,EAAC,KAAgB,CAAC;QAChC,WAAW;KACZ,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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @purpose Simplified claimBorrower instruction wrapper
|
|
4
4
|
*
|
|
5
5
|
* Thin convenience wrapper around Codama-generated claimBorrower instruction.
|
|
6
|
-
* Allows
|
|
6
|
+
* Allows claiming accumulated ATLAS from a borrower's managed token account.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.claimBorrower = claimBorrower;
|
|
@@ -21,22 +21,31 @@ const config_2 = require("../accounts/config");
|
|
|
21
21
|
* account (an ATA with the borrower_state as authority). This instruction
|
|
22
22
|
* transfers those funds to the borrower's personal wallet.
|
|
23
23
|
*
|
|
24
|
+
* The payer and borrower can be different accounts, allowing a third party
|
|
25
|
+
* to pay for the claim transaction on behalf of the borrower.
|
|
26
|
+
*
|
|
24
27
|
* @param params - Borrower claim parameters
|
|
25
28
|
* @param config - Optional SDK configuration overrides
|
|
26
29
|
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
27
30
|
*
|
|
28
31
|
* @example
|
|
29
32
|
* ```typescript
|
|
30
|
-
* //
|
|
33
|
+
* // Self-claim: payer is the borrower
|
|
31
34
|
* const ix = await claimBorrower({
|
|
32
|
-
*
|
|
35
|
+
* payer: borrowerWallet,
|
|
36
|
+
* // borrower defaults to payer
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* // Third-party claim: someone else pays
|
|
40
|
+
* const ix2 = await claimBorrower({
|
|
41
|
+
* payer: relayerWallet,
|
|
42
|
+
* borrower: "BORROWER_ADDRESS"
|
|
33
43
|
* });
|
|
34
44
|
*
|
|
35
|
-
* //
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* borrower: keypair
|
|
45
|
+
* // Claim and close the BorrowerState account
|
|
46
|
+
* const ix3 = await claimBorrower({
|
|
47
|
+
* payer: borrowerWallet,
|
|
48
|
+
* close: true
|
|
40
49
|
* });
|
|
41
50
|
* ```
|
|
42
51
|
*/
|
|
@@ -44,11 +53,15 @@ async function claimBorrower(params, config) {
|
|
|
44
53
|
// Merge config
|
|
45
54
|
const finalConfig = (0, config_1.mergeConfig)(config);
|
|
46
55
|
// Validate required params
|
|
47
|
-
if (!params.
|
|
48
|
-
throw new Error('
|
|
56
|
+
if (!params.payer) {
|
|
57
|
+
throw new Error('payer is required');
|
|
49
58
|
}
|
|
50
|
-
// Convert
|
|
51
|
-
const
|
|
59
|
+
// Convert payer to transaction signer
|
|
60
|
+
const payerSigner = (0, signer_1.toTransactionSigner)(params.payer);
|
|
61
|
+
// Resolve borrower address: use provided or default to payer
|
|
62
|
+
const borrowerAddress = params.borrower
|
|
63
|
+
? (0, kit_1.address)(params.borrower)
|
|
64
|
+
: (0, signer_1.getSignerAddress)(payerSigner);
|
|
52
65
|
// Get atlasMint from on-chain config
|
|
53
66
|
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
54
67
|
const atlasMint = configAccount.data.atlasMint;
|
|
@@ -57,8 +70,8 @@ async function claimBorrower(params, config) {
|
|
|
57
70
|
// Call Codama-generated instruction
|
|
58
71
|
// Most accounts are auto-derived (config, borrowerState, managed account, destination)
|
|
59
72
|
const kitInstruction = await (0, instructions_1.getClaimBorrowerInstructionAsync)({
|
|
60
|
-
payer:
|
|
61
|
-
borrower:
|
|
73
|
+
payer: payerSigner,
|
|
74
|
+
borrower: borrowerAddress,
|
|
62
75
|
mint: atlasMint,
|
|
63
76
|
close: params.close ?? false,
|
|
64
77
|
}, { programAddress });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claimBorrower.js","sourceRoot":"","sources":["../../../src/instructions/claimBorrower.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"claimBorrower.js","sourceRoot":"","sources":["../../../src/instructions/claimBorrower.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA6EH,sCA0CC;AArHD,qCAAoD;AACpD,mEAAoF;AACpF,4CAA4E;AAC5E,4CAA8F;AAC9F,wDAA4D;AAC5D,+CAAiD;AAkCjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACI,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,sCAAsC;IACtC,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,6DAA6D;IAC7D,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;QACrC,CAAC,CAAC,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,IAAA,yBAAgB,EAAC,WAAW,CAAC,CAAC;IAElC,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,oCAAoC;IACpC,uFAAuF;IACvF,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAgC,EAC3D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;KAC7B,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Simplified claimContract instruction wrapper
|
|
4
|
+
*
|
|
5
|
+
* Thin convenience wrapper around Codama-generated claimContract instruction.
|
|
6
|
+
* Allows contract owners to claim accumulated ATLAS from the contract's escrow.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.claimContract = claimContract;
|
|
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 config_2 = require("../accounts/config");
|
|
16
|
+
const contract_1 = require("../accounts/contract");
|
|
17
|
+
/**
|
|
18
|
+
* Claim contract ATLAS earnings
|
|
19
|
+
*
|
|
20
|
+
* Transfers `owner_claimable` ATLAS from the contract's token account
|
|
21
|
+
* to the owner's wallet. No OwnerState needed — claims directly from
|
|
22
|
+
* the per-contract escrow.
|
|
23
|
+
*
|
|
24
|
+
* @param params - Contract claim parameters
|
|
25
|
+
* @param config - Optional SDK configuration overrides
|
|
26
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
27
|
+
*/
|
|
28
|
+
async function claimContract(params, config) {
|
|
29
|
+
const finalConfig = (0, config_1.mergeConfig)(config);
|
|
30
|
+
if (!params.owner) {
|
|
31
|
+
throw new Error('owner is required');
|
|
32
|
+
}
|
|
33
|
+
if (!params.contract) {
|
|
34
|
+
throw new Error('contract is required');
|
|
35
|
+
}
|
|
36
|
+
const ownerSigner = (0, signer_1.toTransactionSigner)(params.owner);
|
|
37
|
+
// Get atlasMint from on-chain config
|
|
38
|
+
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
39
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
40
|
+
const addresses = (0, config_1.getAddresses)(config);
|
|
41
|
+
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
42
|
+
// Fetch contract to get fleet and contractTokenAccount
|
|
43
|
+
const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
|
|
44
|
+
const contractAddress = (0, kit_1.address)(params.contract);
|
|
45
|
+
const kitInstruction = await (0, instructions_1.getClaimContractInstructionAsync)({
|
|
46
|
+
owner: ownerSigner,
|
|
47
|
+
mint: atlasMint,
|
|
48
|
+
contract: contractAddress,
|
|
49
|
+
contractTokenAccount: contractAccount.data.managedTokenAccount,
|
|
50
|
+
}, { programAddress });
|
|
51
|
+
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
52
|
+
computeUnits: params.computeUnits,
|
|
53
|
+
PublicKey: finalConfig.PublicKey
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=claimContract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claimContract.js","sourceRoot":"","sources":["../../../src/instructions/claimContract.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAyCH,sCAuCC;AA9ED,qCAAoD;AACpD,mEAAoF;AACpF,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,+CAAiD;AACjD,mDAAqD;AAsBrD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,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;IAEtD,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,uDAAuD;IACvD,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAgC,EAC3D;QACE,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe;QACzB,oBAAoB,EAAE,eAAe,CAAC,IAAI,CAAC,mBAAmB;KAC/D,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"}
|
|
@@ -13,6 +13,8 @@ const config_1 = require("../utils/config");
|
|
|
13
13
|
const signer_1 = require("../utils/signer");
|
|
14
14
|
const contract_1 = require("../accounts/contract");
|
|
15
15
|
const config_2 = require("../accounts/config");
|
|
16
|
+
const token_1 = require("../pda/token");
|
|
17
|
+
const srsly_1 = require("../pda/srsly");
|
|
16
18
|
const instructions_2 = require("../utils/instructions");
|
|
17
19
|
/**
|
|
18
20
|
* Close a rental contract
|
|
@@ -35,25 +37,19 @@ const instructions_2 = require("../utils/instructions");
|
|
|
35
37
|
* const ix = await closeContract({
|
|
36
38
|
* owner: wallet,
|
|
37
39
|
* fleet: fleetAddress
|
|
38
|
-
* // contract derived from fleet PDA
|
|
39
|
-
* // Works even if contract doesn't exist (init_if_needed)
|
|
40
40
|
* });
|
|
41
41
|
*
|
|
42
42
|
* // Option 2: Provide contract only (contract MUST exist)
|
|
43
43
|
* const ix2 = await closeContract({
|
|
44
44
|
* owner: wallet,
|
|
45
45
|
* contract: contractAddress
|
|
46
|
-
* // fleet fetched from contract.fleet
|
|
47
|
-
* // REQUIRES contract to already exist
|
|
48
46
|
* });
|
|
49
47
|
*
|
|
50
48
|
* // Option 3: Provide both (most explicit, no fetching)
|
|
51
49
|
* const ix3 = await closeContract({
|
|
52
50
|
* owner: wallet,
|
|
53
51
|
* fleet: fleetAddress,
|
|
54
|
-
* contract: contractAddress
|
|
55
|
-
* sageProgram: customSageProgram, // Optional
|
|
56
|
-
* destinationTokenAccount: customTokenAccount // Optional
|
|
52
|
+
* contract: contractAddress
|
|
57
53
|
* });
|
|
58
54
|
* ```
|
|
59
55
|
*/
|
|
@@ -85,7 +81,7 @@ async function closeContract(params, config) {
|
|
|
85
81
|
else if (params.fleet) {
|
|
86
82
|
// Only fleet provided - derive contract from fleet PDA
|
|
87
83
|
fleetAddress = (0, kit_1.address)(params.fleet);
|
|
88
|
-
contractAddress =
|
|
84
|
+
contractAddress = await (0, srsly_1.deriveContract)(fleetAddress, programAddress);
|
|
89
85
|
}
|
|
90
86
|
else if (params.contract) {
|
|
91
87
|
// Only contract provided - fetch contract to get fleet
|
|
@@ -101,16 +97,21 @@ async function closeContract(params, config) {
|
|
|
101
97
|
const sageProgram = params.sageProgram
|
|
102
98
|
? (0, kit_1.address)(params.sageProgram)
|
|
103
99
|
: (0, kit_1.address)(addresses.sage);
|
|
104
|
-
//
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
100
|
+
// Derive contract token account (ATA of contract PDA for ATLAS)
|
|
101
|
+
// For the codama call, we need to provide it since it's not optional in the async input
|
|
102
|
+
// We need contract address to derive it, which may need to be derived from fleet
|
|
103
|
+
// Let codama auto-derive it if we don't have a contract address
|
|
104
|
+
let contractTokenAccount;
|
|
105
|
+
if (contractAddress) {
|
|
106
|
+
contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
|
|
107
|
+
}
|
|
108
108
|
// Call Codama-generated instruction
|
|
109
109
|
const kitInstruction = await (0, instructions_1.getCloseContractInstructionAsync)({
|
|
110
110
|
owner: ownerSigner,
|
|
111
111
|
contract: contractAddress,
|
|
112
112
|
mint: atlasMint,
|
|
113
113
|
fleet: fleetAddress,
|
|
114
|
+
contractTokenAccount: contractTokenAccount,
|
|
114
115
|
sageProgram,
|
|
115
116
|
}, { programAddress });
|
|
116
117
|
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
|