@wuwei-labs/srsly 3.0.0-beta.8 → 4.0.0-beta.1
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/README.md +38 -0
- package/dist/cjs/accounts/borrower.js +55 -0
- package/dist/cjs/accounts/borrower.js.map +1 -1
- package/dist/cjs/accounts/config.js +50 -2
- package/dist/cjs/accounts/config.js.map +1 -1
- package/dist/cjs/accounts/contract.js +58 -0
- package/dist/cjs/accounts/contract.js.map +1 -1
- package/dist/cjs/accounts/index.js +24 -0
- package/dist/cjs/accounts/index.js.map +1 -0
- package/dist/cjs/accounts/member.js +16 -0
- package/dist/cjs/accounts/member.js.map +1 -0
- package/dist/cjs/accounts/rental.js +55 -0
- package/dist/cjs/accounts/rental.js.map +1 -1
- package/dist/cjs/accounts/thread.js +37 -0
- package/dist/cjs/accounts/thread.js.map +1 -0
- package/dist/cjs/demos.js +418 -53
- package/dist/cjs/demos.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/borrowerState.js +23 -26
- package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/configState.js +53 -53
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/contractState.js +52 -48
- package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/fleet.js +39 -36
- package/dist/cjs/generated/codama/accounts/fleet.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/index.js +0 -4
- package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/rentalState.js +42 -34
- package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/thread.js +41 -50
- package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
- package/dist/cjs/generated/codama/errors/srsly.js +88 -34
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/acceptRental.js +68 -157
- package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/activateRental.js +328 -0
- package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/cancelRental.js +70 -53
- package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/claimBorrower.js +26 -21
- package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +41 -69
- package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeBorrower.js +105 -6
- package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/closeContract.js +82 -34
- package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/closeContractThread.js +167 -0
- package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeRental.js +9 -119
- package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/{claimBorrowerPayments.js → createBorrower.js} +45 -73
- package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/createConfig.js +56 -20
- package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createContract.js +59 -27
- package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createContractThread.js +317 -0
- package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteBorrower.js +5 -16
- package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/deleteConfig.js +15 -15
- package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/deleteContract.js +5 -5
- package/dist/cjs/generated/codama/instructions/deleteRental.js +7 -7
- package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/index.js +7 -4
- package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/invalidateRental.js +5 -5
- package/dist/cjs/generated/codama/instructions/{payRental.js → processContract.js} +91 -117
- package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/releaseRental.js +8 -49
- package/dist/cjs/generated/codama/instructions/releaseRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/reserveRental.js +114 -59
- package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/setDelegate.js +6 -6
- package/dist/cjs/generated/codama/instructions/updateBorrower.js +14 -50
- package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateConfig.js +37 -55
- package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateContract.js +17 -23
- 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 +49 -53
- package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/shared/index.js +8 -8
- package/dist/cjs/generated/codama/types/atlasClaimed.js +8 -8
- package/dist/cjs/generated/codama/types/borrowerInitialized.js +4 -4
- package/dist/cjs/generated/codama/types/cargoStats.js +18 -18
- package/dist/cjs/generated/codama/types/contractClosed.js +6 -6
- package/dist/cjs/generated/codama/types/contractCreated.js +8 -8
- package/dist/cjs/generated/codama/types/contractDelegateSet.js +6 -6
- package/dist/cjs/generated/codama/types/contractPendingClose.js +31 -0
- package/dist/cjs/generated/codama/types/contractPendingClose.js.map +1 -0
- package/dist/cjs/generated/codama/types/contractProcessed.js +33 -0
- package/dist/cjs/generated/codama/types/contractProcessed.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/contractUpdated.js +9 -30
- package/dist/cjs/generated/codama/types/contractUpdated.js.map +1 -1
- package/dist/cjs/generated/codama/types/discountAuthorization.js +35 -0
- package/dist/cjs/generated/codama/types/discountAuthorization.js.map +1 -0
- package/dist/cjs/generated/codama/types/fieldUpdate.js +29 -0
- package/dist/cjs/generated/codama/types/fieldUpdate.js.map +1 -0
- package/dist/cjs/generated/codama/types/fleet.js +60 -0
- package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
- package/dist/cjs/generated/codama/types/index.js +13 -6
- package/dist/cjs/generated/codama/types/index.js.map +1 -1
- package/dist/cjs/generated/codama/types/miscStats.js +22 -22
- package/dist/cjs/generated/codama/types/movementStats.js +14 -14
- package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js +2 -2
- 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/rentalAccepted.js +10 -18
- package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -1
- package/dist/cjs/generated/codama/types/rentalActivated.js +33 -0
- package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalCancelled.js +10 -10
- package/dist/cjs/generated/codama/types/rentalClosed.js +8 -8
- package/dist/cjs/generated/codama/types/rentalExpired.js +31 -0
- package/dist/cjs/generated/codama/types/rentalExpired.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 +14 -10
- package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
- package/dist/cjs/generated/codama/types/reservationKnockoff.js +10 -10
- package/dist/cjs/generated/codama/types/schedule.js +14 -14
- package/dist/cjs/generated/codama/types/shipCounts.js +20 -20
- package/dist/cjs/generated/codama/types/shipStats.js +6 -6
- package/dist/cjs/generated/codama/types/signal.js +26 -12
- package/dist/cjs/generated/codama/types/signal.js.map +1 -1
- package/dist/cjs/generated/codama/types/thread.js +62 -0
- package/dist/cjs/generated/codama/types/thread.js.map +1 -0
- package/dist/cjs/generated/codama/types/trigger.js +36 -36
- package/dist/cjs/index.js +4 -178
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instructions/acceptRental.js +94 -65
- package/dist/cjs/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/instructions/activateRental.js +98 -0
- package/dist/cjs/instructions/activateRental.js.map +1 -0
- package/dist/cjs/instructions/approveAffiliate.js +11 -0
- package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
- package/dist/cjs/instructions/cancelRental.js +32 -23
- package/dist/cjs/instructions/cancelRental.js.map +1 -1
- package/dist/cjs/instructions/claimBorrower.js +47 -21
- 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/closeBorrower.js +21 -23
- package/dist/cjs/instructions/closeBorrower.js.map +1 -1
- package/dist/cjs/instructions/closeContract.js +94 -21
- package/dist/cjs/instructions/closeContract.js.map +1 -1
- package/dist/cjs/instructions/closeContractThread.js +64 -0
- package/dist/cjs/instructions/closeContractThread.js.map +1 -0
- package/dist/cjs/instructions/closeRental.js +35 -30
- package/dist/cjs/instructions/closeRental.js.map +1 -1
- package/dist/cjs/instructions/createAffiliate.js +73 -0
- package/dist/cjs/instructions/createAffiliate.js.map +1 -0
- package/dist/cjs/instructions/createBorrower.js +46 -0
- package/dist/cjs/instructions/createBorrower.js.map +1 -0
- package/dist/cjs/instructions/createConfig.js +12 -0
- package/dist/cjs/instructions/createConfig.js.map +1 -1
- package/dist/cjs/instructions/createContract.js +46 -35
- package/dist/cjs/instructions/createContract.js.map +1 -1
- package/dist/cjs/instructions/createContractThread.js +102 -0
- package/dist/cjs/instructions/createContractThread.js.map +1 -0
- package/dist/cjs/instructions/deleteBorrower.js +13 -13
- package/dist/cjs/instructions/deleteBorrower.js.map +1 -1
- package/dist/cjs/instructions/deleteConfig.js +16 -5
- package/dist/cjs/instructions/deleteConfig.js.map +1 -1
- package/dist/cjs/instructions/deleteRental.js +1 -4
- package/dist/cjs/instructions/deleteRental.js.map +1 -1
- package/dist/cjs/instructions/index.js +49 -0
- package/dist/cjs/instructions/index.js.map +1 -0
- package/dist/cjs/instructions/invalidateRental.js +16 -29
- package/dist/cjs/instructions/invalidateRental.js.map +1 -1
- package/dist/cjs/instructions/releaseRental.js +20 -53
- package/dist/cjs/instructions/releaseRental.js.map +1 -1
- package/dist/cjs/instructions/removeAffiliate.js +11 -0
- package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
- package/dist/cjs/instructions/reserveRental.js +95 -71
- package/dist/cjs/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/instructions/updateAffiliate.js +57 -0
- package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
- package/dist/cjs/instructions/updateBorrower.js +44 -38
- package/dist/cjs/instructions/updateBorrower.js.map +1 -1
- package/dist/cjs/instructions/updateConfig.js +0 -4
- package/dist/cjs/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/instructions/updateContract.js +22 -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 +68 -0
- package/dist/cjs/kit/index.js.map +1 -0
- package/dist/cjs/legacy/index.js +125 -0
- package/dist/cjs/legacy/index.js.map +1 -0
- package/dist/cjs/package.json +6 -3
- package/dist/cjs/params/amount.js +4 -4
- 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 +7 -2
- package/dist/cjs/pda/constants.js.map +1 -1
- package/dist/cjs/pda/index.js +13 -22
- package/dist/cjs/pda/index.js.map +1 -1
- package/dist/cjs/pda/lookupTable.js +60 -0
- package/dist/cjs/pda/lookupTable.js.map +1 -0
- package/dist/cjs/pda/sage.js +11 -10
- package/dist/cjs/pda/sage.js.map +1 -1
- package/dist/cjs/pda/slyvault.js +5 -49
- package/dist/cjs/pda/slyvault.js.map +1 -1
- package/dist/cjs/pda/srsly.js +39 -19
- package/dist/cjs/pda/srsly.js.map +1 -1
- package/dist/cjs/pda/thread.js +41 -31
- package/dist/cjs/pda/thread.js.map +1 -1
- package/dist/cjs/pda/token.js +5 -4
- package/dist/cjs/pda/token.js.map +1 -1
- package/dist/cjs/utils/addresses.js +8 -1
- package/dist/cjs/utils/addresses.js.map +1 -1
- package/dist/cjs/utils/config.js +20 -2
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/discountAuth.js +161 -0
- package/dist/cjs/utils/discountAuth.js.map +1 -0
- package/dist/cjs/utils/index.js +20 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/instructionResult.js +76 -0
- package/dist/cjs/utils/instructionResult.js.map +1 -0
- package/dist/cjs/utils/instructions.js +12 -17
- package/dist/cjs/utils/instructions.js.map +1 -1
- package/dist/cjs/utils/lookupTable.js +13 -1
- package/dist/cjs/utils/lookupTable.js.map +1 -1
- package/dist/cjs/utils/rental.js +49 -0
- package/dist/cjs/utils/rental.js.map +1 -0
- package/dist/cjs/utils/signer.js +16 -9
- package/dist/cjs/utils/signer.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/accounts/borrower.js +55 -1
- package/dist/esm/accounts/borrower.js.map +1 -1
- package/dist/esm/accounts/config.js +48 -1
- package/dist/esm/accounts/config.js.map +1 -1
- package/dist/esm/accounts/contract.js +58 -1
- package/dist/esm/accounts/contract.js.map +1 -1
- package/dist/esm/accounts/index.js +8 -0
- package/dist/esm/accounts/index.js.map +1 -0
- package/dist/esm/accounts/member.js +9 -0
- package/dist/esm/accounts/member.js.map +1 -0
- package/dist/esm/accounts/rental.js +55 -1
- package/dist/esm/accounts/rental.js.map +1 -1
- package/dist/esm/accounts/thread.js +34 -0
- package/dist/esm/accounts/thread.js.map +1 -0
- package/dist/esm/demos.js +417 -52
- package/dist/esm/demos.js.map +1 -1
- package/dist/esm/generated/codama/accounts/borrowerState.js +24 -27
- package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/configState.js +53 -54
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/contractState.js +53 -49
- package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/fleet.js +41 -38
- package/dist/esm/generated/codama/accounts/fleet.js.map +1 -1
- package/dist/esm/generated/codama/accounts/index.js +4 -8
- package/dist/esm/generated/codama/accounts/index.js.map +1 -1
- package/dist/esm/generated/codama/accounts/rentalState.js +43 -34
- package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/thread.js +43 -52
- package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
- package/dist/esm/generated/codama/errors/index.js +1 -1
- package/dist/esm/generated/codama/errors/srsly.js +88 -34
- package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
- package/dist/esm/generated/codama/index.js +5 -5
- package/dist/esm/generated/codama/instructions/acceptRental.js +72 -161
- package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/activateRental.js +318 -0
- package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/cancelRental.js +73 -56
- package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/claimBorrower.js +29 -24
- package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
- package/dist/esm/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +36 -64
- package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeBorrower.js +107 -9
- package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -1
- package/dist/esm/generated/codama/instructions/closeContract.js +85 -37
- package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/closeContractThread.js +157 -0
- package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeRental.js +12 -122
- package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createBorrower.js +187 -0
- package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/createConfig.js +59 -23
- package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createContract.js +62 -30
- package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createContractThread.js +307 -0
- package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteBorrower.js +8 -19
- package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
- package/dist/esm/generated/codama/instructions/deleteConfig.js +18 -18
- package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/deleteContract.js +8 -8
- package/dist/esm/generated/codama/instructions/deleteRental.js +10 -10
- package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/index.js +25 -22
- package/dist/esm/generated/codama/instructions/index.js.map +1 -1
- package/dist/esm/generated/codama/instructions/invalidateRental.js +8 -8
- package/dist/esm/generated/codama/instructions/processContract.js +214 -0
- package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/releaseRental.js +11 -52
- package/dist/esm/generated/codama/instructions/releaseRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/reserveRental.js +117 -62
- package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/setDelegate.js +9 -9
- package/dist/esm/generated/codama/instructions/updateBorrower.js +17 -52
- package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateConfig.js +40 -58
- package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateContract.js +20 -26
- 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/index.js +1 -1
- package/dist/esm/generated/codama/programs/srsly.js +50 -54
- package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
- package/dist/esm/generated/codama/shared/index.js +9 -9
- package/dist/esm/generated/codama/types/atlasClaimed.js +9 -9
- package/dist/esm/generated/codama/types/borrowerInitialized.js +5 -5
- package/dist/esm/generated/codama/types/cargoStats.js +19 -19
- package/dist/esm/generated/codama/types/contractClosed.js +7 -7
- package/dist/esm/generated/codama/types/contractCreated.js +9 -9
- package/dist/esm/generated/codama/types/contractDelegateSet.js +7 -7
- package/dist/esm/generated/codama/types/contractPendingClose.js +26 -0
- package/dist/esm/generated/codama/types/contractPendingClose.js.map +1 -0
- package/dist/esm/generated/codama/types/contractProcessed.js +28 -0
- package/dist/esm/generated/codama/types/contractProcessed.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/contractUpdated.js +10 -31
- package/dist/esm/generated/codama/types/contractUpdated.js.map +1 -1
- package/dist/esm/generated/codama/types/discountAuthorization.js +30 -0
- package/dist/esm/generated/codama/types/discountAuthorization.js.map +1 -0
- package/dist/esm/generated/codama/types/fieldUpdate.js +24 -0
- package/dist/esm/generated/codama/types/fieldUpdate.js.map +1 -0
- package/dist/esm/generated/codama/types/fleet.js +55 -0
- package/dist/esm/generated/codama/types/fleet.js.map +1 -0
- package/dist/esm/generated/codama/types/index.js +33 -26
- package/dist/esm/generated/codama/types/index.js.map +1 -1
- package/dist/esm/generated/codama/types/miscStats.js +23 -23
- package/dist/esm/generated/codama/types/movementStats.js +15 -15
- package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js +3 -3
- 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/rentalAccepted.js +11 -19
- package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -1
- package/dist/esm/generated/codama/types/rentalActivated.js +28 -0
- package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalCancelled.js +11 -11
- package/dist/esm/generated/codama/types/rentalClosed.js +9 -9
- package/dist/esm/generated/codama/types/rentalExpired.js +26 -0
- package/dist/esm/generated/codama/types/rentalExpired.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalStatus.js +5 -4
- package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
- package/dist/esm/generated/codama/types/reservationCreated.js +15 -11
- package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
- package/dist/esm/generated/codama/types/reservationKnockoff.js +11 -11
- package/dist/esm/generated/codama/types/schedule.js +15 -15
- package/dist/esm/generated/codama/types/shipCounts.js +21 -21
- package/dist/esm/generated/codama/types/shipStats.js +8 -8
- package/dist/esm/generated/codama/types/signal.js +28 -14
- package/dist/esm/generated/codama/types/signal.js.map +1 -1
- package/dist/esm/generated/codama/types/thread.js +57 -0
- package/dist/esm/generated/codama/types/thread.js.map +1 -0
- package/dist/esm/generated/codama/types/trigger.js +37 -37
- package/dist/esm/index.js +1 -79
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instructions/acceptRental.js +97 -68
- package/dist/esm/instructions/acceptRental.js.map +1 -1
- package/dist/esm/instructions/activateRental.js +95 -0
- package/dist/esm/instructions/activateRental.js.map +1 -0
- package/dist/esm/instructions/approveAffiliate.js +7 -0
- package/dist/esm/instructions/approveAffiliate.js.map +1 -0
- package/dist/esm/instructions/cancelRental.js +33 -24
- package/dist/esm/instructions/cancelRental.js.map +1 -1
- package/dist/esm/instructions/claimBorrower.js +49 -23
- 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/closeBorrower.js +22 -24
- package/dist/esm/instructions/closeBorrower.js.map +1 -1
- package/dist/esm/instructions/closeContract.js +63 -23
- package/dist/esm/instructions/closeContract.js.map +1 -1
- package/dist/esm/instructions/closeContractThread.js +61 -0
- package/dist/esm/instructions/closeContractThread.js.map +1 -0
- package/dist/esm/instructions/closeRental.js +36 -31
- package/dist/esm/instructions/closeRental.js.map +1 -1
- package/dist/esm/instructions/createAffiliate.js +70 -0
- package/dist/esm/instructions/createAffiliate.js.map +1 -0
- package/dist/esm/instructions/createBorrower.js +43 -0
- package/dist/esm/instructions/createBorrower.js.map +1 -0
- package/dist/esm/instructions/createConfig.js +12 -0
- package/dist/esm/instructions/createConfig.js.map +1 -1
- package/dist/esm/instructions/createContract.js +48 -37
- package/dist/esm/instructions/createContract.js.map +1 -1
- package/dist/esm/instructions/createContractThread.js +99 -0
- package/dist/esm/instructions/createContractThread.js.map +1 -0
- package/dist/esm/instructions/deleteBorrower.js +13 -13
- package/dist/esm/instructions/deleteBorrower.js.map +1 -1
- package/dist/esm/instructions/deleteConfig.js +17 -6
- package/dist/esm/instructions/deleteConfig.js.map +1 -1
- package/dist/esm/instructions/deleteRental.js +1 -4
- package/dist/esm/instructions/deleteRental.js.map +1 -1
- package/dist/esm/instructions/index.js +33 -0
- package/dist/esm/instructions/index.js.map +1 -0
- package/dist/esm/instructions/invalidateRental.js +17 -30
- package/dist/esm/instructions/invalidateRental.js.map +1 -1
- package/dist/esm/instructions/releaseRental.js +20 -53
- package/dist/esm/instructions/releaseRental.js.map +1 -1
- package/dist/esm/instructions/removeAffiliate.js +7 -0
- package/dist/esm/instructions/removeAffiliate.js.map +1 -0
- package/dist/esm/instructions/reserveRental.js +97 -73
- package/dist/esm/instructions/reserveRental.js.map +1 -1
- package/dist/esm/instructions/updateAffiliate.js +54 -0
- package/dist/esm/instructions/updateAffiliate.js.map +1 -0
- package/dist/esm/instructions/updateBorrower.js +45 -39
- package/dist/esm/instructions/updateBorrower.js.map +1 -1
- package/dist/esm/instructions/updateConfig.js +0 -4
- package/dist/esm/instructions/updateConfig.js.map +1 -1
- package/dist/esm/instructions/updateContract.js +22 -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 +26 -0
- package/dist/esm/kit/index.js.map +1 -0
- package/dist/esm/legacy/index.js +84 -0
- package/dist/esm/legacy/index.js.map +1 -0
- package/dist/esm/package.json +6 -3
- package/dist/esm/params/amount.js +4 -4
- 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 +6 -1
- package/dist/esm/pda/constants.js.map +1 -1
- package/dist/esm/pda/index.js +6 -22
- package/dist/esm/pda/index.js.map +1 -1
- package/dist/esm/pda/lookupTable.js +57 -0
- package/dist/esm/pda/lookupTable.js.map +1 -0
- package/dist/esm/pda/sage.js +11 -10
- package/dist/esm/pda/sage.js.map +1 -1
- package/dist/esm/pda/slyvault.js +2 -47
- package/dist/esm/pda/slyvault.js.map +1 -1
- package/dist/esm/pda/srsly.js +38 -19
- package/dist/esm/pda/srsly.js.map +1 -1
- package/dist/esm/pda/thread.js +40 -31
- package/dist/esm/pda/thread.js.map +1 -1
- package/dist/esm/pda/token.js +5 -4
- package/dist/esm/pda/token.js.map +1 -1
- package/dist/esm/utils/addresses.js +8 -1
- package/dist/esm/utils/addresses.js.map +1 -1
- package/dist/esm/utils/config.js +19 -2
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/discountAuth.js +155 -0
- package/dist/esm/utils/discountAuth.js.map +1 -0
- package/dist/esm/utils/index.js +9 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/instructionResult.js +72 -0
- package/dist/esm/utils/instructionResult.js.map +1 -0
- package/dist/esm/utils/instructions.js +12 -17
- package/dist/esm/utils/instructions.js.map +1 -1
- package/dist/esm/utils/lookupTable.js +13 -1
- package/dist/esm/utils/lookupTable.js.map +1 -1
- package/dist/esm/utils/rental.js +45 -0
- package/dist/esm/utils/rental.js.map +1 -0
- package/dist/esm/utils/signer.js +16 -9
- package/dist/esm/utils/signer.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/idl/srsly.json +2319 -2089
- package/dist/types/accounts/borrower.d.ts +19 -0
- package/dist/types/accounts/borrower.d.ts.map +1 -1
- package/dist/types/accounts/config.d.ts +19 -0
- package/dist/types/accounts/config.d.ts.map +1 -1
- package/dist/types/accounts/contract.d.ts +19 -0
- package/dist/types/accounts/contract.d.ts.map +1 -1
- package/dist/types/accounts/index.d.ts +8 -0
- package/dist/types/accounts/index.d.ts.map +1 -0
- package/dist/types/accounts/member.d.ts +9 -0
- package/dist/types/accounts/member.d.ts.map +1 -0
- package/dist/types/accounts/rental.d.ts +19 -0
- package/dist/types/accounts/rental.d.ts.map +1 -1
- package/dist/types/accounts/thread.d.ts +21 -0
- package/dist/types/accounts/thread.d.ts.map +1 -0
- package/dist/types/demos.d.ts +53 -2
- package/dist/types/demos.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/borrowerState.d.ts +6 -15
- package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/configState.d.ts +18 -21
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/contractState.d.ts +63 -59
- package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/fleet.d.ts +5 -2
- package/dist/types/generated/codama/accounts/fleet.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/index.d.ts +4 -8
- package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/rentalState.d.ts +50 -31
- package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/thread.d.ts +5 -8
- package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
- package/dist/types/generated/codama/errors/index.d.ts +1 -1
- package/dist/types/generated/codama/errors/srsly.d.ts +64 -28
- package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/index.d.ts +5 -5
- package/dist/types/generated/codama/instructions/acceptRental.d.ts +59 -79
- package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/activateRental.d.ts +134 -0
- package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/cancelRental.d.ts +40 -25
- package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts +27 -35
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
- package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeBorrower.d.ts +51 -11
- package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/closeContract.d.ts +67 -24
- package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/closeContractThread.d.ts +70 -0
- package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeRental.d.ts +23 -52
- package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createBorrower.d.ts +71 -0
- package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/createConfig.d.ts +36 -15
- package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createContract.d.ts +43 -36
- package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
- package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -3
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/deleteConfig.d.ts +3 -3
- package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/deleteContract.d.ts +2 -2
- package/dist/types/generated/codama/instructions/deleteRental.d.ts +6 -3
- package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/index.d.ts +25 -22
- package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/invalidateRental.d.ts +2 -2
- package/dist/types/generated/codama/instructions/processContract.d.ts +100 -0
- package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/releaseRental.d.ts +42 -49
- package/dist/types/generated/codama/instructions/releaseRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/reserveRental.d.ts +97 -69
- package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/setDelegate.d.ts +3 -3
- package/dist/types/generated/codama/instructions/updateBorrower.d.ts +24 -22
- package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateConfig.d.ts +34 -59
- package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateContract.d.ts +24 -24
- 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/index.d.ts +1 -1
- package/dist/types/generated/codama/programs/srsly.d.ts +44 -39
- package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/shared/index.d.ts +2 -2
- package/dist/types/generated/codama/types/atlasClaimed.d.ts +1 -1
- package/dist/types/generated/codama/types/borrowerInitialized.d.ts +1 -1
- package/dist/types/generated/codama/types/cargoStats.d.ts +1 -1
- package/dist/types/generated/codama/types/contractClosed.d.ts +1 -1
- package/dist/types/generated/codama/types/contractCreated.d.ts +1 -1
- package/dist/types/generated/codama/types/contractDelegateSet.d.ts +1 -1
- package/dist/types/generated/codama/types/contractPendingClose.d.ts +18 -0
- package/dist/types/generated/codama/types/contractPendingClose.d.ts.map +1 -0
- package/dist/types/generated/codama/types/contractProcessed.d.ts +24 -0
- package/dist/types/generated/codama/types/contractProcessed.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/contractUpdated.d.ts +6 -25
- package/dist/types/generated/codama/types/contractUpdated.d.ts.map +1 -1
- package/dist/types/generated/codama/types/discountAuthorization.d.ts +40 -0
- package/dist/types/generated/codama/types/discountAuthorization.d.ts.map +1 -0
- package/dist/types/generated/codama/types/fieldUpdate.d.ts +20 -0
- package/dist/types/generated/codama/types/fieldUpdate.d.ts.map +1 -0
- package/dist/types/generated/codama/types/fleet.d.ts +52 -0
- package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
- package/dist/types/generated/codama/types/index.d.ts +33 -26
- package/dist/types/generated/codama/types/index.d.ts.map +1 -1
- package/dist/types/generated/codama/types/miscStats.d.ts +1 -1
- package/dist/types/generated/codama/types/movementStats.d.ts +1 -1
- package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts +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/rentalAccepted.d.ts +3 -11
- package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -1
- package/dist/types/generated/codama/types/rentalActivated.d.ts +24 -0
- package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalCancelled.d.ts +1 -1
- package/dist/types/generated/codama/types/rentalClosed.d.ts +1 -1
- package/dist/types/generated/codama/types/rentalExpired.d.ts +18 -0
- package/dist/types/generated/codama/types/rentalExpired.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalStatus.d.ts +5 -4
- package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
- package/dist/types/generated/codama/types/reservationCreated.d.ts +11 -7
- package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
- package/dist/types/generated/codama/types/reservationKnockoff.d.ts +1 -1
- package/dist/types/generated/codama/types/schedule.d.ts +11 -11
- package/dist/types/generated/codama/types/shipCounts.d.ts +1 -1
- package/dist/types/generated/codama/types/shipStats.d.ts +2 -2
- package/dist/types/generated/codama/types/signal.d.ts +27 -23
- package/dist/types/generated/codama/types/signal.d.ts.map +1 -1
- package/dist/types/generated/codama/types/thread.d.ts +54 -0
- package/dist/types/generated/codama/types/thread.d.ts.map +1 -0
- package/dist/types/generated/codama/types/trigger.d.ts +23 -23
- package/dist/types/index.d.ts +1 -36
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/instructions/acceptRental.d.ts +33 -25
- package/dist/types/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/instructions/activateRental.d.ts +46 -0
- package/dist/types/instructions/activateRental.d.ts.map +1 -0
- package/dist/types/instructions/approveAffiliate.d.ts +7 -0
- package/dist/types/instructions/approveAffiliate.d.ts.map +1 -0
- package/dist/types/instructions/cancelRental.d.ts +10 -15
- package/dist/types/instructions/cancelRental.d.ts.map +1 -1
- package/dist/types/instructions/claimBorrower.d.ts +38 -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/closeBorrower.d.ts +17 -11
- package/dist/types/instructions/closeBorrower.d.ts.map +1 -1
- package/dist/types/instructions/closeContract.d.ts +8 -15
- 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 +11 -12
- package/dist/types/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/instructions/createAffiliate.d.ts +66 -0
- package/dist/types/instructions/createAffiliate.d.ts.map +1 -0
- package/dist/types/instructions/createBorrower.d.ts +36 -0
- package/dist/types/instructions/createBorrower.d.ts.map +1 -0
- package/dist/types/instructions/createConfig.d.ts +10 -0
- package/dist/types/instructions/createConfig.d.ts.map +1 -1
- package/dist/types/instructions/createContract.d.ts +34 -42
- package/dist/types/instructions/createContract.d.ts.map +1 -1
- package/dist/types/instructions/createContractThread.d.ts +52 -0
- package/dist/types/instructions/createContractThread.d.ts.map +1 -0
- package/dist/types/instructions/deleteBorrower.d.ts +14 -11
- package/dist/types/instructions/deleteBorrower.d.ts.map +1 -1
- package/dist/types/instructions/deleteConfig.d.ts +4 -2
- package/dist/types/instructions/deleteConfig.d.ts.map +1 -1
- package/dist/types/instructions/deleteRental.d.ts +3 -2
- package/dist/types/instructions/deleteRental.d.ts.map +1 -1
- package/dist/types/instructions/index.d.ts +33 -0
- package/dist/types/instructions/index.d.ts.map +1 -0
- package/dist/types/instructions/invalidateRental.d.ts +12 -15
- package/dist/types/instructions/invalidateRental.d.ts.map +1 -1
- package/dist/types/instructions/releaseRental.d.ts +19 -39
- package/dist/types/instructions/releaseRental.d.ts.map +1 -1
- package/dist/types/instructions/removeAffiliate.d.ts +7 -0
- package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
- package/dist/types/instructions/reserveRental.d.ts +43 -29
- package/dist/types/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/instructions/updateAffiliate.d.ts +64 -0
- package/dist/types/instructions/updateAffiliate.d.ts.map +1 -0
- 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 -13
- package/dist/types/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/instructions/updateContract.d.ts +24 -31
- 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 +25 -0
- package/dist/types/kit/index.d.ts.map +1 -0
- package/dist/types/legacy/index.d.ts +63 -0
- package/dist/types/legacy/index.d.ts.map +1 -0
- package/dist/types/params/amount.d.ts +3 -3
- 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 +6 -1
- package/dist/types/pda/constants.d.ts.map +1 -1
- package/dist/types/pda/index.d.ts +6 -22
- package/dist/types/pda/index.d.ts.map +1 -1
- package/dist/types/pda/lookupTable.d.ts +30 -0
- package/dist/types/pda/lookupTable.d.ts.map +1 -0
- package/dist/types/pda/sage.d.ts +6 -5
- package/dist/types/pda/sage.d.ts.map +1 -1
- package/dist/types/pda/slyvault.d.ts +2 -23
- package/dist/types/pda/slyvault.d.ts.map +1 -1
- package/dist/types/pda/srsly.d.ts +21 -8
- package/dist/types/pda/srsly.d.ts.map +1 -1
- package/dist/types/pda/thread.d.ts +18 -18
- package/dist/types/pda/thread.d.ts.map +1 -1
- package/dist/types/pda/token.d.ts +2 -1
- package/dist/types/pda/token.d.ts.map +1 -1
- package/dist/types/utils/addresses.d.ts +7 -1
- package/dist/types/utils/addresses.d.ts.map +1 -1
- package/dist/types/utils/config.d.ts +48 -0
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/discountAuth.d.ts +94 -0
- package/dist/types/utils/discountAuth.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +5 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/instructionResult.d.ts +57 -0
- package/dist/types/utils/instructionResult.d.ts.map +1 -0
- package/dist/types/utils/instructions.d.ts +16 -18
- package/dist/types/utils/instructions.d.ts.map +1 -1
- package/dist/types/utils/rental.d.ts +22 -0
- package/dist/types/utils/rental.d.ts.map +1 -0
- package/dist/types/utils/signer.d.ts +5 -2
- package/dist/types/utils/signer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +38 -20
- package/dist/cjs/generated/codama/accounts/memberState.js +0 -78
- package/dist/cjs/generated/codama/accounts/memberState.js.map +0 -1
- package/dist/cjs/generated/codama/accounts/vaultState.js +0 -82
- package/dist/cjs/generated/codama/accounts/vaultState.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/captureRental.js +0 -129
- package/dist/cjs/generated/codama/instructions/captureRental.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/claimRental.js +0 -364
- package/dist/cjs/generated/codama/instructions/claimRental.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/discountBorrower.js +0 -118
- package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/payRental.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/scheduleRental.js +0 -241
- package/dist/cjs/generated/codama/instructions/scheduleRental.js.map +0 -1
- package/dist/cjs/generated/codama/types/borrowerDiscountSet.js +0 -29
- package/dist/cjs/generated/codama/types/borrowerDiscountSet.js.map +0 -1
- package/dist/cjs/generated/codama/types/capturedFlagData.js +0 -31
- package/dist/cjs/generated/codama/types/capturedFlagData.js.map +0 -1
- package/dist/cjs/generated/codama/types/memberConfig.js +0 -33
- package/dist/cjs/generated/codama/types/memberConfig.js.map +0 -1
- package/dist/cjs/generated/codama/types/memberType.js +0 -57
- package/dist/cjs/generated/codama/types/memberType.js.map +0 -1
- package/dist/cjs/generated/codama/types/paymentFrequency.js +0 -36
- package/dist/cjs/generated/codama/types/paymentFrequency.js.map +0 -1
- package/dist/cjs/generated/codama/types/rebateAuthorization.js +0 -35
- package/dist/cjs/generated/codama/types/rebateAuthorization.js.map +0 -1
- package/dist/cjs/generated/codama/types/rentalClaimed.js +0 -41
- package/dist/cjs/generated/codama/types/rentalClaimed.js.map +0 -1
- package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js +0 -33
- package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
- package/dist/cjs/generated/codama/types/rentalScheduled.js +0 -35
- package/dist/cjs/generated/codama/types/rentalScheduled.js.map +0 -1
- package/dist/cjs/instructions/captureRental.js +0 -85
- package/dist/cjs/instructions/captureRental.js.map +0 -1
- package/dist/cjs/instructions/claimBorrowerPayments.js +0 -69
- package/dist/cjs/instructions/claimBorrowerPayments.js.map +0 -1
- package/dist/cjs/instructions/claimContractPayments.js +0 -79
- package/dist/cjs/instructions/claimContractPayments.js.map +0 -1
- package/dist/cjs/instructions/claimRental.js +0 -135
- package/dist/cjs/instructions/claimRental.js.map +0 -1
- package/dist/cjs/instructions/discountBorrower.js +0 -75
- package/dist/cjs/instructions/discountBorrower.js.map +0 -1
- package/dist/esm/generated/codama/accounts/memberState.js +0 -66
- package/dist/esm/generated/codama/accounts/memberState.js.map +0 -1
- package/dist/esm/generated/codama/accounts/vaultState.js +0 -70
- package/dist/esm/generated/codama/accounts/vaultState.js.map +0 -1
- package/dist/esm/generated/codama/instructions/captureRental.js +0 -119
- package/dist/esm/generated/codama/instructions/captureRental.js.map +0 -1
- package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +0 -1
- package/dist/esm/generated/codama/instructions/claimRental.js +0 -354
- package/dist/esm/generated/codama/instructions/claimRental.js.map +0 -1
- package/dist/esm/generated/codama/instructions/discountBorrower.js +0 -108
- package/dist/esm/generated/codama/instructions/discountBorrower.js.map +0 -1
- package/dist/esm/generated/codama/instructions/payRental.js +0 -240
- package/dist/esm/generated/codama/instructions/payRental.js.map +0 -1
- package/dist/esm/generated/codama/instructions/scheduleRental.js +0 -231
- package/dist/esm/generated/codama/instructions/scheduleRental.js.map +0 -1
- package/dist/esm/generated/codama/types/borrowerDiscountSet.js +0 -24
- package/dist/esm/generated/codama/types/borrowerDiscountSet.js.map +0 -1
- package/dist/esm/generated/codama/types/capturedFlagData.js +0 -26
- package/dist/esm/generated/codama/types/capturedFlagData.js.map +0 -1
- package/dist/esm/generated/codama/types/memberConfig.js +0 -28
- package/dist/esm/generated/codama/types/memberConfig.js.map +0 -1
- package/dist/esm/generated/codama/types/memberType.js +0 -50
- package/dist/esm/generated/codama/types/memberType.js.map +0 -1
- package/dist/esm/generated/codama/types/paymentFrequency.js +0 -30
- package/dist/esm/generated/codama/types/paymentFrequency.js.map +0 -1
- package/dist/esm/generated/codama/types/rebateAuthorization.js +0 -30
- package/dist/esm/generated/codama/types/rebateAuthorization.js.map +0 -1
- package/dist/esm/generated/codama/types/rentalClaimed.js +0 -36
- package/dist/esm/generated/codama/types/rentalClaimed.js.map +0 -1
- package/dist/esm/generated/codama/types/rentalPaymentProcessed.js +0 -28
- package/dist/esm/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
- package/dist/esm/generated/codama/types/rentalScheduled.js +0 -30
- package/dist/esm/generated/codama/types/rentalScheduled.js.map +0 -1
- package/dist/esm/instructions/captureRental.js +0 -82
- package/dist/esm/instructions/captureRental.js.map +0 -1
- package/dist/esm/instructions/claimContractPayments.js +0 -76
- package/dist/esm/instructions/claimContractPayments.js.map +0 -1
- package/dist/esm/instructions/claimRental.js +0 -132
- package/dist/esm/instructions/claimRental.js.map +0 -1
- package/dist/esm/instructions/discountBorrower.js +0 -72
- package/dist/esm/instructions/discountBorrower.js.map +0 -1
- package/dist/types/generated/codama/accounts/memberState.d.ts +0 -58
- package/dist/types/generated/codama/accounts/memberState.d.ts.map +0 -1
- package/dist/types/generated/codama/accounts/vaultState.d.ts +0 -66
- package/dist/types/generated/codama/accounts/vaultState.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/captureRental.d.ts +0 -59
- package/dist/types/generated/codama/instructions/captureRental.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts +0 -75
- package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +0 -98
- package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/claimRental.d.ts +0 -132
- package/dist/types/generated/codama/instructions/claimRental.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/discountBorrower.d.ts +0 -56
- package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/payRental.d.ts +0 -118
- package/dist/types/generated/codama/instructions/payRental.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/scheduleRental.d.ts +0 -98
- package/dist/types/generated/codama/instructions/scheduleRental.d.ts.map +0 -1
- package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts +0 -20
- package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts.map +0 -1
- package/dist/types/generated/codama/types/capturedFlagData.d.ts +0 -35
- package/dist/types/generated/codama/types/capturedFlagData.d.ts.map +0 -1
- package/dist/types/generated/codama/types/memberConfig.d.ts +0 -33
- package/dist/types/generated/codama/types/memberConfig.d.ts.map +0 -1
- package/dist/types/generated/codama/types/memberType.d.ts +0 -57
- package/dist/types/generated/codama/types/memberType.d.ts.map +0 -1
- package/dist/types/generated/codama/types/paymentFrequency.d.ts +0 -24
- package/dist/types/generated/codama/types/paymentFrequency.d.ts.map +0 -1
- package/dist/types/generated/codama/types/rebateAuthorization.d.ts +0 -40
- package/dist/types/generated/codama/types/rebateAuthorization.d.ts.map +0 -1
- package/dist/types/generated/codama/types/rentalClaimed.d.ts +0 -32
- package/dist/types/generated/codama/types/rentalClaimed.d.ts.map +0 -1
- package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts +0 -24
- package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts.map +0 -1
- package/dist/types/generated/codama/types/rentalScheduled.d.ts +0 -20
- package/dist/types/generated/codama/types/rentalScheduled.d.ts.map +0 -1
- package/dist/types/instructions/captureRental.d.ts +0 -58
- package/dist/types/instructions/captureRental.d.ts.map +0 -1
- package/dist/types/instructions/claimBorrowerPayments.d.ts +0 -59
- package/dist/types/instructions/claimBorrowerPayments.d.ts.map +0 -1
- package/dist/types/instructions/claimContractPayments.d.ts +0 -78
- package/dist/types/instructions/claimContractPayments.d.ts.map +0 -1
- package/dist/types/instructions/claimRental.d.ts +0 -97
- package/dist/types/instructions/claimRental.d.ts.map +0 -1
- package/dist/types/instructions/discountBorrower.d.ts +0 -64
- package/dist/types/instructions/discountBorrower.d.ts.map +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified claimContract instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated claimContract instruction.
|
|
5
|
+
* Permissionless — anyone can trigger, but tokens always go to the owner's ATA.
|
|
6
|
+
*/
|
|
7
|
+
import { address } from '@solana/kit';
|
|
8
|
+
import { getClaimContractInstructionAsync } from '../generated/codama/instructions';
|
|
9
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
+
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
12
|
+
import { fetchConfig } from '../accounts/config';
|
|
13
|
+
import { fetchContract } from '../accounts/contract';
|
|
14
|
+
/**
|
|
15
|
+
* Claim contract ATLAS earnings
|
|
16
|
+
*
|
|
17
|
+
* Permissionless — anyone can trigger, but tokens always go to the
|
|
18
|
+
* contract owner's ATA (derived from contract state).
|
|
19
|
+
*
|
|
20
|
+
* @param params - Contract claim parameters
|
|
21
|
+
* @param config - Optional SDK configuration overrides
|
|
22
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
23
|
+
*/
|
|
24
|
+
export async function claimContract(params, config) {
|
|
25
|
+
const finalConfig = mergeConfig(config);
|
|
26
|
+
if (!params.payer) {
|
|
27
|
+
throw new Error('payer is required');
|
|
28
|
+
}
|
|
29
|
+
if (!params.contract) {
|
|
30
|
+
throw new Error('contract is required');
|
|
31
|
+
}
|
|
32
|
+
const payerSigner = toTransactionSigner(params.payer);
|
|
33
|
+
// Get atlasMint from on-chain config
|
|
34
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
35
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
36
|
+
const addresses = getAddresses(config);
|
|
37
|
+
const programAddress = address(addresses.srsly);
|
|
38
|
+
// Fetch contract to get owner and contractTokenAccount
|
|
39
|
+
const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
40
|
+
const contractAddress = address(params.contract);
|
|
41
|
+
const kitInstruction = await getClaimContractInstructionAsync({
|
|
42
|
+
payer: payerSigner,
|
|
43
|
+
owner: contractAccount.data.owner,
|
|
44
|
+
mint: atlasMint,
|
|
45
|
+
contract: contractAddress,
|
|
46
|
+
contractTokenAccount: contractAccount.data.managedTokenAccount,
|
|
47
|
+
}, { programAddress });
|
|
48
|
+
return prepareInstructions(kitInstruction, {
|
|
49
|
+
computeUnits: params.computeUnits,
|
|
50
|
+
PublicKey: finalConfig.PublicKey
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=claimContract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claimContract.js","sourceRoot":"","sources":["../../../src/instructions/claimContract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAuBrD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,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,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,uDAAuD;IACvD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK;QACjC,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,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -2,20 +2,23 @@
|
|
|
2
2
|
* @purpose Simplified closeBorrower instruction wrapper
|
|
3
3
|
*
|
|
4
4
|
* Thin convenience wrapper around Codama-generated closeBorrower instruction.
|
|
5
|
-
* Closes
|
|
5
|
+
* Closes a borrower's managed token account and BorrowerState.
|
|
6
|
+
* Requires no active rentals and zero managed ATA balance (claim first).
|
|
6
7
|
*/
|
|
7
8
|
import { address } from '@solana/kit';
|
|
8
|
-
import {
|
|
9
|
+
import { getCloseBorrowerInstructionAsync } from '../generated/codama/instructions';
|
|
9
10
|
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
11
|
import { toTransactionSigner, getSignerAddress } from '../utils/signer';
|
|
11
12
|
import { prepareInstructions } from '../utils/instructions';
|
|
12
|
-
import {
|
|
13
|
+
import { fetchConfig } from '../accounts/config';
|
|
13
14
|
/**
|
|
14
|
-
* Close borrower account
|
|
15
|
+
* Close a borrower's managed token account and BorrowerState
|
|
15
16
|
*
|
|
16
|
-
* Closes the
|
|
17
|
+
* Closes the managed ATA and BorrowerState PDA, returning lamports to the
|
|
18
|
+
* borrower wallet. Requires no active rentals and zero managed ATA balance.
|
|
19
|
+
* Call claimBorrower first to withdraw any remaining ATLAS.
|
|
17
20
|
*
|
|
18
|
-
*
|
|
21
|
+
* Permissionless — anyone can trigger since lamports always go to the borrower.
|
|
19
22
|
*
|
|
20
23
|
* @param params - Close borrower parameters
|
|
21
24
|
* @param config - Optional SDK configuration overrides
|
|
@@ -23,31 +26,26 @@ import { deriveBorrowerState } from '../pda/srsly';
|
|
|
23
26
|
*
|
|
24
27
|
* @example
|
|
25
28
|
* ```typescript
|
|
26
|
-
*
|
|
27
|
-
* const ix = await closeBorrower({
|
|
28
|
-
* borrower: borrowerWallet
|
|
29
|
-
* });
|
|
29
|
+
* const ix = await closeBorrower({ payer: borrowerWallet });
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
32
|
export async function closeBorrower(params, config) {
|
|
33
|
-
// Merge config
|
|
34
33
|
const finalConfig = mergeConfig(config);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
throw new Error('borrower is required');
|
|
34
|
+
if (!params.payer) {
|
|
35
|
+
throw new Error('payer is required');
|
|
38
36
|
}
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
const payerSigner = toTransactionSigner(params.payer);
|
|
38
|
+
const borrowerAddress = params.borrower
|
|
39
|
+
? address(params.borrower)
|
|
40
|
+
: getSignerAddress(payerSigner);
|
|
41
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
42
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
43
43
|
const addresses = getAddresses(config);
|
|
44
44
|
const programAddress = address(addresses.srsly);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
borrower: borrowerSigner,
|
|
50
|
-
borrowerState,
|
|
45
|
+
const kitInstruction = await getCloseBorrowerInstructionAsync({
|
|
46
|
+
payer: payerSigner,
|
|
47
|
+
borrower: borrowerAddress,
|
|
48
|
+
mint: atlasMint,
|
|
51
49
|
}, { programAddress });
|
|
52
50
|
return prepareInstructions(kitInstruction, {
|
|
53
51
|
computeUnits: params.computeUnits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeBorrower.js","sourceRoot":"","sources":["../../../src/instructions/closeBorrower.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"closeBorrower.js","sourceRoot":"","sources":["../../../src/instructions/closeBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAyBjD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;QACrC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAElC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;KAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -4,11 +4,16 @@
|
|
|
4
4
|
* Thin convenience wrapper around Codama-generated closeContract instruction.
|
|
5
5
|
* Closes a contract with no active rentals and claims remaining payments.
|
|
6
6
|
*/
|
|
7
|
-
import { address } from '@solana/kit';
|
|
8
|
-
import { getCloseContractInstructionAsync } from '../generated/codama/instructions';
|
|
7
|
+
import { AccountRole, address } from '@solana/kit';
|
|
8
|
+
import { getCloseContractInstructionAsync, getCloseContractThreadInstructionAsync } from '../generated/codama/instructions';
|
|
9
9
|
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
10
|
import { toTransactionSigner } from '../utils/signer';
|
|
11
11
|
import { fetchContract } from '../accounts/contract';
|
|
12
|
+
import { fetchConfig } from '../accounts/config';
|
|
13
|
+
import { fetchThread } from '../accounts/thread';
|
|
14
|
+
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
15
|
+
import { deriveContract, deriveRentalAuthority } from '../pda/srsly';
|
|
16
|
+
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
12
17
|
import { prepareInstructions } from '../utils/instructions';
|
|
13
18
|
/**
|
|
14
19
|
* Close a rental contract
|
|
@@ -17,9 +22,13 @@ import { prepareInstructions } from '../utils/instructions';
|
|
|
17
22
|
* accounts don't exist, they will be created temporarily before being closed.
|
|
18
23
|
* This allows recovery from partial failures during previous close attempts.
|
|
19
24
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
25
|
+
* Two-phase close behavior:
|
|
26
|
+
* - **No active/queued rental**: Thread close is prepended automatically,
|
|
27
|
+
* then contract_close fires — immediate full close.
|
|
28
|
+
* - **Active or queued rental**: Only contract_close is sent, which sets
|
|
29
|
+
* `to_close = true`. The thread stays alive to settle escrow, chain to
|
|
30
|
+
* `rental_close` (fiber 1), and self-close via `Signal::Close` in
|
|
31
|
+
* `contract_process`.
|
|
23
32
|
*
|
|
24
33
|
* @param params - Contract closing parameters
|
|
25
34
|
* @param config - Optional SDK configuration overrides
|
|
@@ -31,25 +40,19 @@ import { prepareInstructions } from '../utils/instructions';
|
|
|
31
40
|
* const ix = await closeContract({
|
|
32
41
|
* owner: wallet,
|
|
33
42
|
* fleet: fleetAddress
|
|
34
|
-
* // contract derived from fleet PDA
|
|
35
|
-
* // Works even if contract doesn't exist (init_if_needed)
|
|
36
43
|
* });
|
|
37
44
|
*
|
|
38
45
|
* // Option 2: Provide contract only (contract MUST exist)
|
|
39
46
|
* const ix2 = await closeContract({
|
|
40
47
|
* owner: wallet,
|
|
41
48
|
* contract: contractAddress
|
|
42
|
-
* // fleet fetched from contract.fleet
|
|
43
|
-
* // REQUIRES contract to already exist
|
|
44
49
|
* });
|
|
45
50
|
*
|
|
46
51
|
* // Option 3: Provide both (most explicit, no fetching)
|
|
47
52
|
* const ix3 = await closeContract({
|
|
48
53
|
* owner: wallet,
|
|
49
54
|
* fleet: fleetAddress,
|
|
50
|
-
* contract: contractAddress
|
|
51
|
-
* sageProgram: customSageProgram, // Optional
|
|
52
|
-
* destinationTokenAccount: customTokenAccount // Optional
|
|
55
|
+
* contract: contractAddress
|
|
53
56
|
* });
|
|
54
57
|
* ```
|
|
55
58
|
*/
|
|
@@ -65,9 +68,10 @@ export async function closeContract(params, config) {
|
|
|
65
68
|
}
|
|
66
69
|
// Convert owner to transaction signer
|
|
67
70
|
const ownerSigner = toTransactionSigner(params.owner);
|
|
68
|
-
// Get
|
|
71
|
+
// Get atlasMint from on-chain config
|
|
72
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
73
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
69
74
|
const addresses = getAddresses(config);
|
|
70
|
-
const atlasMint = address(addresses.atlasMint);
|
|
71
75
|
const programAddress = address(addresses.srsly);
|
|
72
76
|
// Resolve fleet and contract addresses
|
|
73
77
|
let fleetAddress;
|
|
@@ -80,36 +84,72 @@ export async function closeContract(params, config) {
|
|
|
80
84
|
else if (params.fleet) {
|
|
81
85
|
// Only fleet provided - derive contract from fleet PDA
|
|
82
86
|
fleetAddress = address(params.fleet);
|
|
83
|
-
contractAddress =
|
|
87
|
+
contractAddress = await deriveContract(fleetAddress, programAddress);
|
|
84
88
|
}
|
|
85
89
|
else if (params.contract) {
|
|
86
90
|
// Only contract provided - fetch contract to get fleet
|
|
87
|
-
const contract = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
88
|
-
fleetAddress = contract.data.fleet;
|
|
89
91
|
contractAddress = address(params.contract);
|
|
90
92
|
}
|
|
91
93
|
else {
|
|
92
94
|
// Should never reach here due to validation above
|
|
93
95
|
throw new Error('Either fleet or contract must be provided');
|
|
94
96
|
}
|
|
97
|
+
// Always fetch contract — needed for fleet (if not provided) and thread check
|
|
98
|
+
const contractAccount = await fetchContract(contractAddress, finalConfig.rpcUrl);
|
|
99
|
+
if (!params.fleet) {
|
|
100
|
+
fleetAddress = contractAccount.data.fleet;
|
|
101
|
+
}
|
|
95
102
|
// Get sageProgram from config if not provided
|
|
96
103
|
const sageProgram = params.sageProgram
|
|
97
104
|
? address(params.sageProgram)
|
|
98
105
|
: address(addresses.sage);
|
|
99
|
-
//
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
106
|
+
// Derive contract token account (ATA of contract PDA for ATLAS)
|
|
107
|
+
const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
|
|
108
|
+
// Check if contract has an automation thread that needs closing first
|
|
109
|
+
const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
|
|
110
|
+
const hasThread = contractAccount.data.thread !== SYSTEM_PROGRAM_ID;
|
|
111
|
+
let hasActiveRental = contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
|
|
112
|
+
|| contractAccount.data.queuedRental !== SYSTEM_PROGRAM_ID;
|
|
113
|
+
// If active rental is expired (and no queued), treat as closeable immediately
|
|
114
|
+
if (hasActiveRental && contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
|
|
115
|
+
&& contractAccount.data.queuedRental === SYSTEM_PROGRAM_ID) {
|
|
116
|
+
const { fetchRental } = await import('../accounts/rental');
|
|
117
|
+
const activeRental = await fetchRental(contractAccount.data.activeRental, finalConfig.rpcUrl);
|
|
118
|
+
const now = Math.floor(Date.now() / 1000);
|
|
119
|
+
if (activeRental.data.endTime <= BigInt(now)) {
|
|
120
|
+
hasActiveRental = false;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
let threadCloseIx;
|
|
124
|
+
if (hasThread && !hasActiveRental) {
|
|
125
|
+
const rentalAuthority = await deriveRentalAuthority();
|
|
126
|
+
const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
|
|
127
|
+
// Fetch thread to get fiber IDs for remaining accounts
|
|
128
|
+
const threadAccount = await fetchThread(contractThread, finalConfig.rpcUrl);
|
|
129
|
+
const fiberIds = Array.from(threadAccount.data.fiberIds);
|
|
130
|
+
// Derive fiber PDAs
|
|
131
|
+
const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
|
|
132
|
+
address: await deriveFiber(contractThread, id),
|
|
133
|
+
role: AccountRole.WRITABLE,
|
|
134
|
+
})));
|
|
135
|
+
threadCloseIx = await getCloseContractThreadInstructionAsync({
|
|
136
|
+
owner: ownerSigner,
|
|
137
|
+
contract: contractAddress,
|
|
138
|
+
thread: contractThread,
|
|
139
|
+
}, { programAddress });
|
|
140
|
+
threadCloseIx.accounts.push(...fiberAccounts);
|
|
141
|
+
}
|
|
103
142
|
// Call Codama-generated instruction
|
|
104
143
|
const kitInstruction = await getCloseContractInstructionAsync({
|
|
105
144
|
owner: ownerSigner,
|
|
106
145
|
contract: contractAddress,
|
|
107
146
|
mint: atlasMint,
|
|
108
|
-
destinationTokenAccount,
|
|
109
147
|
fleet: fleetAddress,
|
|
148
|
+
contractTokenAccount: contractTokenAccount,
|
|
110
149
|
sageProgram,
|
|
111
150
|
}, { programAddress });
|
|
112
|
-
|
|
151
|
+
const instructions = threadCloseIx ? [threadCloseIx, kitInstruction] : kitInstruction;
|
|
152
|
+
return prepareInstructions(instructions, {
|
|
113
153
|
computeUnits: params.computeUnits,
|
|
114
154
|
PublicKey: finalConfig.PublicKey
|
|
115
155
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified closeContractThread instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated closeContractThread instruction.
|
|
5
|
+
* Closes a per-contract automation thread and reclaims rent.
|
|
6
|
+
*/
|
|
7
|
+
import { AccountRole, address } from '@solana/kit';
|
|
8
|
+
import { getCloseContractThreadInstructionAsync } from '../generated/codama/instructions';
|
|
9
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
+
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
12
|
+
import { fetchThread } from '../accounts/thread';
|
|
13
|
+
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
14
|
+
import { deriveRentalAuthority } from '../pda/srsly';
|
|
15
|
+
/**
|
|
16
|
+
* Close a per-contract automation thread
|
|
17
|
+
*
|
|
18
|
+
* Closes the Antegen thread and all fiber PDAs, reclaiming rent to the owner.
|
|
19
|
+
* Fetches the thread account to read `fiberIds`, then derives and passes only
|
|
20
|
+
* the fibers that actually exist as remaining accounts.
|
|
21
|
+
*
|
|
22
|
+
* @param params - Thread closing parameters
|
|
23
|
+
* @param config - Optional SDK configuration overrides
|
|
24
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
25
|
+
*/
|
|
26
|
+
export async function closeContractThread(params, config) {
|
|
27
|
+
const finalConfig = mergeConfig(config);
|
|
28
|
+
if (!params.owner) {
|
|
29
|
+
throw new Error('owner is required');
|
|
30
|
+
}
|
|
31
|
+
if (!params.contract) {
|
|
32
|
+
throw new Error('contract is required');
|
|
33
|
+
}
|
|
34
|
+
const ownerSigner = toTransactionSigner(params.owner);
|
|
35
|
+
const addresses = getAddresses(config);
|
|
36
|
+
const programAddress = address(addresses.srsly);
|
|
37
|
+
const contractAddress = address(params.contract);
|
|
38
|
+
// Derive thread PDA
|
|
39
|
+
const rentalAuthority = await deriveRentalAuthority();
|
|
40
|
+
const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
|
|
41
|
+
// Fetch thread account to read actual fiber_ids
|
|
42
|
+
const threadAccount = await fetchThread(contractThread, finalConfig.rpcUrl);
|
|
43
|
+
const fiberIds = Array.from(threadAccount.data.fiberIds);
|
|
44
|
+
// Derive fiber PDAs only for fibers that actually exist on the thread
|
|
45
|
+
const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
|
|
46
|
+
address: await deriveFiber(contractThread, id),
|
|
47
|
+
role: AccountRole.WRITABLE,
|
|
48
|
+
})));
|
|
49
|
+
const kitInstruction = await getCloseContractThreadInstructionAsync({
|
|
50
|
+
owner: ownerSigner,
|
|
51
|
+
contract: contractAddress,
|
|
52
|
+
thread: contractThread,
|
|
53
|
+
}, { programAddress });
|
|
54
|
+
// Add fiber PDAs as remaining accounts (writable, non-signer)
|
|
55
|
+
kitInstruction.accounts.push(...fiberAccounts);
|
|
56
|
+
return prepareInstructions(kitInstruction, {
|
|
57
|
+
computeUnits: params.computeUnits,
|
|
58
|
+
PublicKey: finalConfig.PublicKey
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=closeContractThread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"closeContractThread.js","sourceRoot":"","sources":["../../../src/instructions/closeContractThread.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,sCAAsC,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAsBrD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiC,EACjC,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,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,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,oBAAoB;IACpB,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACtD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpF,gDAAgD;IAChD,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAa,CAAC;IAErE,sEAAsE;IACtE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,MAAM,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW,CAAC,QAAiB;KACpC,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,sCAAsC,CACjE;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,cAAc;KACvB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,8DAA8D;IAC9D,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAE/C,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -9,25 +9,25 @@ import { getCloseRentalInstructionAsync } from '../generated/codama/instructions
|
|
|
9
9
|
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
10
|
import { toTransactionSigner } from '../utils/signer';
|
|
11
11
|
import { fetchContract } from '../accounts/contract';
|
|
12
|
+
import { fetchConfig } from '../accounts/config';
|
|
12
13
|
import { fetchFleet } from '../accounts/fleet';
|
|
14
|
+
import { fetchRental } from '../accounts/rental';
|
|
13
15
|
import { deriveGameAccounts } from '../pda/sage';
|
|
14
|
-
import {
|
|
15
|
-
import { deriveRentalThread } from '../pda/thread';
|
|
16
|
+
import { deriveActiveRental, deriveBorrowerState } from '../pda/srsly';
|
|
16
17
|
import { prepareInstructions } from '../utils/instructions';
|
|
17
18
|
/**
|
|
18
19
|
* Close a rental
|
|
19
20
|
*
|
|
20
21
|
* Closes a completed rental and transfers the fleet back to the owner.
|
|
21
|
-
*
|
|
22
|
+
* Always targets the active rental PDA.
|
|
22
23
|
*
|
|
23
24
|
* This function automatically:
|
|
24
|
-
* - Fetches contract to get owner,
|
|
25
|
-
* - Fetches
|
|
25
|
+
* - Fetches contract to get owner, fleet, gameId
|
|
26
|
+
* - Fetches the active rental to get borrower (if not provided)
|
|
27
|
+
* - Fetches the borrower's SAGE profile from borrower_state
|
|
26
28
|
* - Derives required SAGE accounts (starbase, starbase player)
|
|
27
|
-
* - Derives rental thread for automated payments
|
|
28
|
-
* - Codama auto-derives contractTokenAccount as ATA
|
|
29
29
|
*
|
|
30
|
-
* @param params - Rental closure parameters (payer,
|
|
30
|
+
* @param params - Rental closure parameters (payer, contract)
|
|
31
31
|
* @param config - Optional SDK configuration overrides
|
|
32
32
|
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
33
33
|
*
|
|
@@ -35,7 +35,6 @@ import { prepareInstructions } from '../utils/instructions';
|
|
|
35
35
|
* ```typescript
|
|
36
36
|
* const ix = await closeRental({
|
|
37
37
|
* payer: ownerWallet,
|
|
38
|
-
* borrower: borrowerAddress,
|
|
39
38
|
* contract: contractAddress
|
|
40
39
|
* });
|
|
41
40
|
* ```
|
|
@@ -47,47 +46,53 @@ export async function closeRental(params, config) {
|
|
|
47
46
|
if (!params.payer) {
|
|
48
47
|
throw new Error('payer is required');
|
|
49
48
|
}
|
|
50
|
-
if (!params.borrower) {
|
|
51
|
-
throw new Error('borrower is required');
|
|
52
|
-
}
|
|
53
49
|
if (!params.contract) {
|
|
54
50
|
throw new Error('contract is required');
|
|
55
51
|
}
|
|
56
52
|
// Fetch contract to get owner, fleet, gameId
|
|
57
53
|
const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
58
|
-
const owner = contractAccount.data.owner;
|
|
59
54
|
const fleet = contractAccount.data.fleet;
|
|
60
55
|
const gameId = contractAccount.data.gameId;
|
|
61
56
|
// Convert payer to transaction signer
|
|
62
57
|
const payerSigner = toTransactionSigner(params.payer);
|
|
63
|
-
//
|
|
58
|
+
// Derive active rental PDA (no more slot logic)
|
|
59
|
+
const rentalState = await deriveActiveRental(params.contract);
|
|
60
|
+
// Get borrower - use provided value, or fetch from rental state, or fall back to payer
|
|
61
|
+
let borrower;
|
|
62
|
+
if (params.borrower) {
|
|
63
|
+
borrower = address(params.borrower);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
try {
|
|
67
|
+
const rental = await fetchRental(rentalState, finalConfig.rpcUrl);
|
|
68
|
+
borrower = rental.data.borrower;
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// Rental state doesn't exist, fall back to payer
|
|
72
|
+
borrower = payerSigner.address;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// Derive borrower state PDA
|
|
76
|
+
const borrowerState = await deriveBorrowerState(borrower);
|
|
77
|
+
// Fetch fleet to get faction and derive SAGE accounts
|
|
78
|
+
// During an active rental, fleet.subProfile IS the current borrower's profile
|
|
64
79
|
const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
|
|
80
|
+
const borrowerProfile = fleetState.subProfile;
|
|
65
81
|
const faction = fleetState.faction;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const rental = await deriveRental(params.contract, params.borrower);
|
|
71
|
-
const rentalAuthority = await deriveRentalAuthority();
|
|
72
|
-
// Derive borrower state PDA
|
|
73
|
-
const borrowerState = await deriveBorrowerState(params.borrower);
|
|
74
|
-
// Derive rental thread for automated payments
|
|
75
|
-
const rentalThread = await deriveRentalThread(rental, rentalAuthority);
|
|
76
|
-
// Get network-specific addresses
|
|
82
|
+
// Derive SAGE game accounts using borrower's profile
|
|
83
|
+
const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
|
|
84
|
+
// Get atlasMint from on-chain config
|
|
85
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
77
86
|
const addresses = getAddresses(config);
|
|
78
|
-
const atlasMint = address(addresses.atlasMint);
|
|
79
87
|
const sageProgram = address(addresses.sage);
|
|
80
88
|
const programAddress = address(addresses.srsly);
|
|
81
89
|
// Call Codama-generated instruction
|
|
82
|
-
// Note: contractTokenAccount is auto-derived by Codama as ATA for contract + mint
|
|
83
90
|
const kitInstruction = await getCloseRentalInstructionAsync({
|
|
84
91
|
payer: payerSigner,
|
|
85
|
-
|
|
86
|
-
borrower: address(params.borrower),
|
|
92
|
+
borrower,
|
|
87
93
|
borrowerState,
|
|
88
|
-
owner: address(owner),
|
|
89
94
|
contract: address(params.contract),
|
|
90
|
-
|
|
95
|
+
rentalState,
|
|
91
96
|
fleet: address(fleet),
|
|
92
97
|
gameId: address(gameId),
|
|
93
98
|
starbase: gameAccounts.starbase,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Create a pending affiliate (Affiliate member) for SRSLY vault
|
|
3
|
+
*
|
|
4
|
+
* Wraps slyvault's initMember instruction with Affiliate type pre-configured.
|
|
5
|
+
* Auto-fetches vault and nonce from parent member state.
|
|
6
|
+
*/
|
|
7
|
+
import { address } from '@solana/kit';
|
|
8
|
+
import { initMember, fetchMember, } from '@wuwei-labs/slyvault';
|
|
9
|
+
import { mergeConfig } from '../utils/config';
|
|
10
|
+
/**
|
|
11
|
+
* Create a pending affiliate (Affiliate member)
|
|
12
|
+
*
|
|
13
|
+
* Creates a new Affiliate member state that references a parent Normal member.
|
|
14
|
+
* The affiliate must be approved by the parent member's authority using approveAffiliate.
|
|
15
|
+
*
|
|
16
|
+
* This function auto-fetches the vault address and parent member nonce from the
|
|
17
|
+
* parent member state, making it easier to use than the underlying initMember.
|
|
18
|
+
*
|
|
19
|
+
* @param params - Affiliate creation parameters
|
|
20
|
+
* @param config - Optional SDK configuration overrides
|
|
21
|
+
* @returns Prepared instruction(s)
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* import { createAffiliate } from '@wuwei-labs/srsly';
|
|
26
|
+
*
|
|
27
|
+
* // Create affiliate linked to parent member
|
|
28
|
+
* const ix = await createAffiliate({
|
|
29
|
+
* affiliate: wallet,
|
|
30
|
+
* parentMemberState: "PARENT_MEMBER_STATE_PDA",
|
|
31
|
+
* discountAuthority: "OPTIONAL_DISCOUNT_SIGNER", // optional, defaults to main authority
|
|
32
|
+
* // vault and nonce are auto-fetched from parent state
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export async function createAffiliate(params, config) {
|
|
37
|
+
const finalConfig = mergeConfig(config);
|
|
38
|
+
if (!params.affiliate)
|
|
39
|
+
throw new Error('affiliate is required');
|
|
40
|
+
if (!params.parentMemberState)
|
|
41
|
+
throw new Error('parentMemberState is required');
|
|
42
|
+
// Fetch parent member state to get vault and nonce
|
|
43
|
+
const { data: parentState } = await fetchMember(address(params.parentMemberState), finalConfig.rpcUrl);
|
|
44
|
+
// Validate parent is Normal type with affiliateEnabled
|
|
45
|
+
if (parentState.memberType.__kind !== 'Normal') {
|
|
46
|
+
throw new Error('Parent member is not a Normal member type');
|
|
47
|
+
}
|
|
48
|
+
if (!parentState.memberType.affiliateEnabled) {
|
|
49
|
+
throw new Error('Parent member does not have affiliates enabled');
|
|
50
|
+
}
|
|
51
|
+
// Get vault and nonce from parent state
|
|
52
|
+
const vaultAddress = parentState.vault;
|
|
53
|
+
const parentNonce = parentState.nonce;
|
|
54
|
+
// Call slyvault initMember with Affiliate type pre-configured
|
|
55
|
+
return initMember({
|
|
56
|
+
member: params.affiliate,
|
|
57
|
+
vault: vaultAddress,
|
|
58
|
+
nonce: params.nonce,
|
|
59
|
+
memberType: {
|
|
60
|
+
__kind: 'Affiliate',
|
|
61
|
+
parentMemberNonce: parentNonce,
|
|
62
|
+
percentageBps: 0,
|
|
63
|
+
claimableBalance: 0n,
|
|
64
|
+
isActive: false,
|
|
65
|
+
},
|
|
66
|
+
discountAuthority: params.discountAuthority,
|
|
67
|
+
computeUnits: params.computeUnits,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=createAffiliate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAffiliate.js","sourceRoot":"","sources":["../../../src/instructions/createAffiliate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,UAAU,EACV,WAAW,GAEZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAoC9D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA6B,EAC7B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,iBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEhF,mDAAmD;IACnD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAC7C,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EACjC,WAAW,CAAC,MAAM,CACnB,CAAC;IAEF,uDAAuD;IACvD,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,wCAAwC;IACxC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;IACvC,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;IAEtC,8DAA8D;IAC9D,OAAO,UAAU,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC,SAAS;QACxB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE;YACV,MAAM,EAAE,WAAW;YACnB,iBAAiB,EAAE,WAAW;YAC9B,aAAa,EAAE,CAAC;YAChB,gBAAgB,EAAE,EAAE;YACpB,QAAQ,EAAE,KAAK;SAChB;QACD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC,CAAC;AACL,CAAC"}
|