@wuwei-labs/srsly 3.0.0-beta.9 → 4.0.0-beta.2
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/fleet.js +6 -37
- package/dist/cjs/accounts/fleet.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 +426 -65
- 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 -55
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/contractState.js +52 -56
- 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 -2
- package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/rentalState.js +43 -38
- 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 +70 -49
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/acceptRental.js +77 -153
- package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/activateRental.js +166 -31
- package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/cancelRental.js +68 -51
- 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 -124
- package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createBorrower.js +197 -0
- package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/createConfig.js +21 -21
- package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createContract.js +59 -29
- 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 +5 -5
- package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/index.js +6 -6
- 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/processContract.js +224 -0
- package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/releaseRental.js +5 -5
- 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 -25
- 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 +41 -49
- 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/combatStats.js +49 -0
- package/dist/cjs/generated/codama/types/combatStats.js.map +1 -0
- 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 +8 -8
- 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 +4 -4
- package/dist/cjs/generated/codama/types/fleet.js +74 -0
- package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
- package/dist/cjs/generated/codama/types/index.js +11 -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 +8 -6
- package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -1
- 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 +8 -6
- package/dist/cjs/generated/codama/types/shipStats.js.map +1 -1
- 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 -185
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instructions/acceptRental.js +87 -82
- 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 -46
- 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/createContract.js +45 -39
- 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/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 +20 -36
- 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 +5 -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 +10 -22
- package/dist/cjs/pda/index.js.map +1 -1
- package/dist/cjs/pda/lookupTable.js +3 -2
- package/dist/cjs/pda/lookupTable.js.map +1 -1
- 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 +3 -2
- 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 +16 -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/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/fleet.js +7 -38
- package/dist/esm/accounts/fleet.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 +425 -64
- 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 -56
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/contractState.js +53 -57
- 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 -6
- package/dist/esm/generated/codama/accounts/index.js.map +1 -1
- package/dist/esm/generated/codama/accounts/rentalState.js +45 -40
- 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 +70 -49
- 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 +81 -157
- package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/activateRental.js +169 -34
- package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/cancelRental.js +71 -54
- 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 -127
- 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 +24 -24
- package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createContract.js +62 -32
- 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 +8 -8
- package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/index.js +25 -25
- 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 +8 -8
- 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 -28
- 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 +42 -50
- 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/combatStats.js +44 -0
- package/dist/esm/generated/codama/types/combatStats.js.map +1 -0
- 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 -10
- 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 +5 -5
- package/dist/esm/generated/codama/types/fleet.js +69 -0
- package/dist/esm/generated/codama/types/fleet.js.map +1 -0
- package/dist/esm/generated/codama/types/index.js +34 -29
- 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 +9 -7
- package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -1
- 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 +10 -8
- package/dist/esm/generated/codama/types/shipStats.js.map +1 -1
- 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 -84
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instructions/acceptRental.js +91 -86
- 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 -47
- 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/createContract.js +47 -41
- 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/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 +20 -36
- 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 +5 -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 +4 -22
- package/dist/esm/pda/index.js.map +1 -1
- package/dist/esm/pda/lookupTable.js +3 -2
- package/dist/esm/pda/lookupTable.js.map +1 -1
- 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 +3 -2
- 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 +7 -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/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 +2518 -3336
- 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/fleet.d.ts +5 -30
- package/dist/types/accounts/fleet.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 +55 -4
- 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 +8 -21
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/contractState.d.ts +59 -79
- 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 -6
- package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/rentalState.d.ts +49 -42
- 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 +55 -41
- 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 +61 -77
- package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/activateRental.d.ts +78 -34
- package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/cancelRental.d.ts +39 -24
- 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 +65 -25
- 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 +20 -62
- 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 +5 -5
- package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createContract.d.ts +40 -40
- 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 +5 -2
- package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/index.d.ts +25 -25
- 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 +2 -2
- 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 +22 -28
- 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 +37 -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/combatStats.d.ts +28 -0
- package/dist/types/generated/codama/types/combatStats.d.ts.map +1 -0
- 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 +2 -2
- 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 +1 -1
- package/dist/types/generated/codama/types/fleet.d.ts +66 -0
- package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
- package/dist/types/generated/codama/types/index.d.ts +34 -29
- 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 +8 -2
- package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -1
- 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 +4 -2
- package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -1
- 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 -37
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/instructions/acceptRental.d.ts +33 -33
- 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/createContract.d.ts +27 -43
- 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/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 +22 -35
- 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 +5 -22
- package/dist/types/pda/index.d.ts.map +1 -1
- package/dist/types/pda/lookupTable.d.ts +2 -1
- package/dist/types/pda/lookupTable.d.ts.map +1 -1
- 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 +5 -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 +4 -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 -21
- 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/claimContractPayments.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/claimRental.js +0 -361
- 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 +0 -290
- package/dist/cjs/generated/codama/instructions/payRental.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/scheduleRental.js +0 -252
- 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/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/claimContractPayments.js +0 -79
- package/dist/cjs/instructions/claimContractPayments.js.map +0 -1
- package/dist/cjs/instructions/claimRental.js +0 -155
- 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/claimContractPayments.js.map +0 -1
- package/dist/esm/generated/codama/instructions/claimRental.js +0 -351
- 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 -280
- package/dist/esm/generated/codama/instructions/payRental.js.map +0 -1
- package/dist/esm/generated/codama/instructions/scheduleRental.js +0 -242
- 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/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/claimContractPayments.js +0 -76
- package/dist/esm/instructions/claimContractPayments.js.map +0 -1
- package/dist/esm/instructions/claimRental.js +0 -152
- 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/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 -136
- 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 -140
- package/dist/types/generated/codama/instructions/payRental.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/scheduleRental.d.ts +0 -102
- 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/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/claimContractPayments.d.ts +0 -78
- package/dist/types/instructions/claimContractPayments.d.ts.map +0 -1
- package/dist/types/instructions/claimRental.d.ts +0 -88
- 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
|
@@ -9,27 +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
|
-
// System program ID constant
|
|
18
|
-
const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
|
|
19
18
|
/**
|
|
20
19
|
* Close a rental
|
|
21
20
|
*
|
|
22
21
|
* Closes a completed rental and transfers the fleet back to the owner.
|
|
23
|
-
*
|
|
22
|
+
* Always targets the active rental PDA.
|
|
24
23
|
*
|
|
25
24
|
* This function automatically:
|
|
26
|
-
* - Fetches contract to get owner,
|
|
27
|
-
* - 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
|
|
28
28
|
* - Derives required SAGE accounts (starbase, starbase player)
|
|
29
|
-
* - Derives rental thread for automated payments
|
|
30
|
-
* - Codama auto-derives contractTokenAccount as ATA
|
|
31
29
|
*
|
|
32
|
-
* @param params - Rental closure parameters (payer,
|
|
30
|
+
* @param params - Rental closure parameters (payer, contract)
|
|
33
31
|
* @param config - Optional SDK configuration overrides
|
|
34
32
|
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
35
33
|
*
|
|
@@ -37,7 +35,6 @@ const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
|
|
|
37
35
|
* ```typescript
|
|
38
36
|
* const ix = await closeRental({
|
|
39
37
|
* payer: ownerWallet,
|
|
40
|
-
* borrower: borrowerAddress,
|
|
41
38
|
* contract: contractAddress
|
|
42
39
|
* });
|
|
43
40
|
* ```
|
|
@@ -49,65 +46,57 @@ export async function closeRental(params, config) {
|
|
|
49
46
|
if (!params.payer) {
|
|
50
47
|
throw new Error('payer is required');
|
|
51
48
|
}
|
|
52
|
-
if (!params.borrower) {
|
|
53
|
-
throw new Error('borrower is required');
|
|
54
|
-
}
|
|
55
49
|
if (!params.contract) {
|
|
56
50
|
throw new Error('contract is required');
|
|
57
51
|
}
|
|
58
52
|
// Fetch contract to get owner, fleet, gameId
|
|
59
53
|
const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
60
|
-
const owner = contractAccount.data.owner;
|
|
61
54
|
const fleet = contractAccount.data.fleet;
|
|
62
55
|
const gameId = contractAccount.data.gameId;
|
|
63
56
|
// Convert payer to transaction signer
|
|
64
57
|
const payerSigner = toTransactionSigner(params.payer);
|
|
65
|
-
//
|
|
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
|
|
66
79
|
const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
|
|
80
|
+
const borrowerProfile = fleetState.subProfile.key;
|
|
67
81
|
const faction = fleetState.faction;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const rental = await deriveRental(params.contract, params.borrower);
|
|
73
|
-
const rentalAuthority = await deriveRentalAuthority();
|
|
74
|
-
// Derive borrower state PDA
|
|
75
|
-
const borrowerState = await deriveBorrowerState(params.borrower);
|
|
76
|
-
// Derive rental thread for automated payments
|
|
77
|
-
const rentalThread = await deriveRentalThread(rental, rentalAuthority);
|
|
78
|
-
// 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);
|
|
79
86
|
const addresses = getAddresses(config);
|
|
80
|
-
const atlasMint = address(addresses.atlasMint);
|
|
81
87
|
const sageProgram = address(addresses.sage);
|
|
82
88
|
const programAddress = address(addresses.srsly);
|
|
83
|
-
// Determine queuedThread from the other slot's rental
|
|
84
|
-
// If closing slot 0's rental, derive thread for slot 1's rental (and vice versa)
|
|
85
|
-
const systemProgramId = address(SYSTEM_PROGRAM_ID);
|
|
86
|
-
const slot0 = contractAccount.data.rentalSlot0;
|
|
87
|
-
const slot1 = contractAccount.data.rentalSlot1;
|
|
88
|
-
// Find the other slot's rental address (not the one we're closing)
|
|
89
|
-
const otherSlotRental = slot0 === rental ? slot1 : slot0;
|
|
90
|
-
// Derive queued thread - if other slot has a rental, derive its thread
|
|
91
|
-
// Program will check data_is_empty() to determine if thread actually exists
|
|
92
|
-
let queuedThread = systemProgramId;
|
|
93
|
-
if (otherSlotRental !== systemProgramId) {
|
|
94
|
-
queuedThread = await deriveRentalThread(otherSlotRental, rentalAuthority);
|
|
95
|
-
}
|
|
96
89
|
// Call Codama-generated instruction
|
|
97
|
-
// Note: contractTokenAccount is auto-derived by Codama as ATA for contract + mint
|
|
98
90
|
const kitInstruction = await getCloseRentalInstructionAsync({
|
|
99
91
|
payer: payerSigner,
|
|
100
|
-
|
|
101
|
-
borrower: address(params.borrower),
|
|
92
|
+
borrower,
|
|
102
93
|
borrowerState,
|
|
103
|
-
owner: address(owner),
|
|
104
94
|
contract: address(params.contract),
|
|
105
|
-
|
|
95
|
+
rentalState,
|
|
106
96
|
fleet: address(fleet),
|
|
107
97
|
gameId: address(gameId),
|
|
108
98
|
starbase: gameAccounts.starbase,
|
|
109
99
|
starbasePlayer: gameAccounts.starbasePlayer,
|
|
110
|
-
queuedThread,
|
|
111
100
|
sageProgram,
|
|
112
101
|
}, { programAddress });
|
|
113
102
|
return prepareInstructions(kitInstruction, {
|
|
@@ -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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified createBorrower instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated createBorrower instruction.
|
|
5
|
+
* Creates a BorrowerState PDA with managed token account for a borrower.
|
|
6
|
+
*/
|
|
7
|
+
import { address } from '@solana/kit';
|
|
8
|
+
import { getCreateBorrowerInstructionAsync } 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
|
+
/**
|
|
14
|
+
* Create a borrower state account
|
|
15
|
+
*
|
|
16
|
+
* Creates a BorrowerState PDA and an associated managed token account.
|
|
17
|
+
* The managed token account holds ATLAS refunds from reservation knockoffs.
|
|
18
|
+
*
|
|
19
|
+
* @param params - Borrower creation parameters
|
|
20
|
+
* @param config - Optional SDK configuration overrides
|
|
21
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
22
|
+
*/
|
|
23
|
+
export async function createBorrower(params, config) {
|
|
24
|
+
const finalConfig = mergeConfig(config);
|
|
25
|
+
if (!params.borrower) {
|
|
26
|
+
throw new Error('borrower is required');
|
|
27
|
+
}
|
|
28
|
+
const borrowerSigner = toTransactionSigner(params.borrower);
|
|
29
|
+
// Get atlasMint from on-chain config
|
|
30
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
31
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
32
|
+
const addresses = getAddresses(config);
|
|
33
|
+
const programAddress = address(addresses.srsly);
|
|
34
|
+
const kitInstruction = await getCreateBorrowerInstructionAsync({
|
|
35
|
+
borrower: borrowerSigner,
|
|
36
|
+
mint: atlasMint,
|
|
37
|
+
}, { programAddress });
|
|
38
|
+
return prepareInstructions(kitInstruction, {
|
|
39
|
+
computeUnits: params.computeUnits,
|
|
40
|
+
PublicKey: finalConfig.PublicKey
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=createBorrower.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createBorrower.js","sourceRoot":"","sources":["../../../src/instructions/createBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,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;AAmBjD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,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,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D;QACE,QAAQ,EAAE,cAAc;QACxB,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"}
|
|
@@ -5,14 +5,19 @@
|
|
|
5
5
|
* Handles parameter conversion and optional web3.js compatibility.
|
|
6
6
|
*/
|
|
7
7
|
import { address } from '@solana/kit';
|
|
8
|
-
import { getCreateContractInstructionAsync } from '../generated/codama/instructions';
|
|
8
|
+
import { getCreateContractInstructionAsync, getCreateContractThreadInstructionAsync } from '../generated/codama/instructions';
|
|
9
9
|
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
-
import { toTransactionSigner } from '../utils/signer';
|
|
10
|
+
import { toTransactionSigner, getSignerAddress } from '../utils/signer';
|
|
11
11
|
import { convertAmount, stardustToAtlas } from '../params/amount';
|
|
12
12
|
import { convertDuration } from '../params/duration';
|
|
13
13
|
import { normalizeSchedule } from '../params/schedule';
|
|
14
|
+
import { convertSol } from '../params/sol';
|
|
14
15
|
import { fetchFleet } from '../accounts/fleet';
|
|
16
|
+
import { fetchConfig } from '../accounts/config';
|
|
15
17
|
import { prepareInstructions } from '../utils/instructions';
|
|
18
|
+
import { deriveContract, deriveRentalAuthority } from '../pda/srsly';
|
|
19
|
+
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
20
|
+
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
16
21
|
/**
|
|
17
22
|
* Create a rental contract for a Star Atlas fleet
|
|
18
23
|
*
|
|
@@ -27,34 +32,9 @@ import { prepareInstructions } from '../utils/instructions';
|
|
|
27
32
|
* const ix = await createContract({
|
|
28
33
|
* owner: wallet,
|
|
29
34
|
* fleet: fleetAddress,
|
|
30
|
-
* // ownerProfile and gameId fetched automatically from fleet
|
|
31
35
|
* rate: 100,
|
|
32
|
-
* durationMax: { days: 30 }
|
|
33
|
-
* paymentsFreq: '@daily'
|
|
36
|
+
* durationMax: { days: 30 }
|
|
34
37
|
* });
|
|
35
|
-
*
|
|
36
|
-
* // Explicit ownerProfile and gameId (skips fetch)
|
|
37
|
-
* const ix2 = await createContract({
|
|
38
|
-
* owner: wallet,
|
|
39
|
-
* fleet: fleetAddress,
|
|
40
|
-
* ownerProfile: profileAddress, // Explicitly provided
|
|
41
|
-
* gameId: gameAddress, // Explicitly provided
|
|
42
|
-
* rate: 100,
|
|
43
|
-
* durationMax: { days: 30 },
|
|
44
|
-
* paymentsFreq: '@daily'
|
|
45
|
-
* });
|
|
46
|
-
*
|
|
47
|
-
* // With web3.js
|
|
48
|
-
* import { PublicKey } from '@solana/web3.js';
|
|
49
|
-
* setSdkConfig({ network: 'atlasnet', PublicKey });
|
|
50
|
-
* const web3Ix = await createContract({
|
|
51
|
-
* owner: keypair,
|
|
52
|
-
* fleet: fleetPubkey,
|
|
53
|
-
* rate: 100,
|
|
54
|
-
* durationMax: { days: 30 },
|
|
55
|
-
* paymentsFreq: '@daily'
|
|
56
|
-
* });
|
|
57
|
-
* // web3Ix.keys[0].pubkey is a PublicKey instance
|
|
58
38
|
* ```
|
|
59
39
|
*/
|
|
60
40
|
export async function createContract(params, config) {
|
|
@@ -73,9 +53,6 @@ export async function createContract(params, config) {
|
|
|
73
53
|
if (!params.durationMax) {
|
|
74
54
|
throw new Error('durationMax is required');
|
|
75
55
|
}
|
|
76
|
-
if (!params.paymentsFreq) {
|
|
77
|
-
throw new Error('paymentsFreq is required');
|
|
78
|
-
}
|
|
79
56
|
// Convert owner to transaction signer
|
|
80
57
|
const ownerSigner = toTransactionSigner(params.owner);
|
|
81
58
|
// Fetch fleet data (source of truth for ownerProfile and gameId)
|
|
@@ -94,19 +71,19 @@ export async function createContract(params, config) {
|
|
|
94
71
|
? convertDuration(params.durationMin)
|
|
95
72
|
: 3600; // Default 1 hour
|
|
96
73
|
const durationMaxSeconds = convertDuration(params.durationMax);
|
|
97
|
-
const normalizedSchedule = normalizeSchedule(params.paymentsFreq);
|
|
98
74
|
// Validate duration logic
|
|
99
75
|
if (durationMaxSeconds < durationMinSeconds) {
|
|
100
76
|
throw new Error(`durationMax (${durationMaxSeconds}s) must be >= durationMin (${durationMinSeconds}s)`);
|
|
101
77
|
}
|
|
102
|
-
// Get
|
|
78
|
+
// Get atlasMint from on-chain config
|
|
79
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
80
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
103
81
|
const addresses = getAddresses(config);
|
|
104
|
-
const atlasMint = address(addresses.atlasMint);
|
|
105
82
|
const sageProgram = address(addresses.sage);
|
|
106
83
|
const programAddress = address(addresses.srsly);
|
|
107
|
-
// Convert
|
|
108
|
-
const
|
|
109
|
-
? BigInt(convertDuration(params.
|
|
84
|
+
// Convert cancelDelayMin duration to seconds
|
|
85
|
+
const cancelDelayMinSeconds = params.cancelDelayMin !== undefined
|
|
86
|
+
? BigInt(convertDuration(params.cancelDelayMin))
|
|
110
87
|
: 1n; // Default 1 second (no instant cancel)
|
|
111
88
|
// Call Codama-generated instruction
|
|
112
89
|
const kitInstruction = await getCreateContractInstructionAsync({
|
|
@@ -119,12 +96,41 @@ export async function createContract(params, config) {
|
|
|
119
96
|
rate: rateStardust,
|
|
120
97
|
durationMin: BigInt(durationMinSeconds),
|
|
121
98
|
durationMax: BigInt(durationMaxSeconds),
|
|
122
|
-
paymentsFreq: normalizedSchedule,
|
|
123
99
|
ownerKeyIndex: params.ownerKeyIndex ?? 0,
|
|
124
|
-
|
|
125
|
-
reservationsDisabled: params.
|
|
126
|
-
requiresAutomation: params.requiresAutomation ?? false
|
|
100
|
+
cancelDelayMin: cancelDelayMinSeconds,
|
|
101
|
+
reservationsDisabled: params.reservationsDisabled ?? true
|
|
127
102
|
}, { programAddress });
|
|
103
|
+
// Default: bundle thread creation for automation
|
|
104
|
+
if (params.automated !== false) {
|
|
105
|
+
const paymentsFreq = normalizeSchedule(params.paymentsFreq ?? '@daily');
|
|
106
|
+
// Derive PDAs locally (contract doesn't exist on-chain yet)
|
|
107
|
+
const contractAddress = await deriveContract(params.fleet);
|
|
108
|
+
const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
|
|
109
|
+
const rentalAuthority = await deriveRentalAuthority();
|
|
110
|
+
const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
|
|
111
|
+
const fiber0 = await deriveFiber(contractThread, 0);
|
|
112
|
+
const closeRentalFiber = await deriveFiber(contractThread, 1);
|
|
113
|
+
const ownerAddress = getSignerAddress(params.owner);
|
|
114
|
+
const MINIMUM_THREAD_FUNDING = 40000000n;
|
|
115
|
+
const DEFAULT_EXECUTION_BUDGET = 2190000n; // 1 year daily @ 0.000006 SOL/tick
|
|
116
|
+
const threadIx = await getCreateContractThreadInstructionAsync({
|
|
117
|
+
payer: ownerSigner,
|
|
118
|
+
mint: atlasMint,
|
|
119
|
+
contract: contractAddress,
|
|
120
|
+
contractThread,
|
|
121
|
+
fiber0,
|
|
122
|
+
closeRentalFiber,
|
|
123
|
+
owner: ownerAddress,
|
|
124
|
+
contractTokenAccount,
|
|
125
|
+
sageProgram,
|
|
126
|
+
lamports: MINIMUM_THREAD_FUNDING + (params.threadLamports ? convertSol(params.threadLamports) : DEFAULT_EXECUTION_BUDGET),
|
|
127
|
+
paymentsFreq,
|
|
128
|
+
}, { programAddress });
|
|
129
|
+
return prepareInstructions([kitInstruction, threadIx], {
|
|
130
|
+
computeUnits: params.computeUnits,
|
|
131
|
+
PublicKey: finalConfig.PublicKey
|
|
132
|
+
});
|
|
133
|
+
}
|
|
128
134
|
return prepareInstructions(kitInstruction, {
|
|
129
135
|
computeUnits: params.computeUnits,
|
|
130
136
|
PublicKey: finalConfig.PublicKey
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContract.js","sourceRoot":"","sources":["../../../src/instructions/createContract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"createContract.js","sourceRoot":"","sources":["../../../src/instructions/createContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified createContractThread instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated createContractThread instruction.
|
|
5
|
+
* Creates a per-contract automation thread with fiber-based dispatch.
|
|
6
|
+
*/
|
|
7
|
+
import { AccountRole, address } from '@solana/kit';
|
|
8
|
+
import { getCreateContractThreadInstructionAsync } from '../generated/codama/instructions';
|
|
9
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
+
import { toTransactionSigner, getSignerAddress } from '../utils/signer';
|
|
11
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
12
|
+
import { fetchConfig } from '../accounts/config';
|
|
13
|
+
import { fetchContract } from '../accounts/contract';
|
|
14
|
+
import { fetchFleet } from '../accounts/fleet';
|
|
15
|
+
import { fetchRental } from '../accounts/rental';
|
|
16
|
+
import { RentalStatus } from '../generated/codama/types';
|
|
17
|
+
import { deriveGameAccounts } from '../pda/sage';
|
|
18
|
+
import { deriveActiveRental } from '../pda/srsly';
|
|
19
|
+
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
20
|
+
import { deriveRentalAuthority } from '../pda/srsly';
|
|
21
|
+
import { normalizeSchedule } from '../params/schedule';
|
|
22
|
+
import { convertSol } from '../params/sol';
|
|
23
|
+
// Minimum: 3 fiber rents (~0.01 each) + thread rent (~0.01) = 0.04 SOL
|
|
24
|
+
const MINIMUM_THREAD_FUNDING = 40000000n;
|
|
25
|
+
const DEFAULT_EXECUTION_BUDGET = 2190000n; // 1 year daily @ 0.000006 SOL/tick
|
|
26
|
+
/**
|
|
27
|
+
* Create a per-contract automation thread
|
|
28
|
+
*
|
|
29
|
+
* Creates an Antegen thread with controller fiber (fiber 0, inline).
|
|
30
|
+
* Thread starts **paused** by default. Fiber 1 (rental_close) and
|
|
31
|
+
* fiber 2 (rental_activate) are created lazily when needed by
|
|
32
|
+
* rental_accept and rental_reserve respectively.
|
|
33
|
+
*
|
|
34
|
+
* @param params - Thread creation parameters
|
|
35
|
+
* @param config - Optional SDK configuration overrides
|
|
36
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
37
|
+
*/
|
|
38
|
+
export async function createContractThread(params, config) {
|
|
39
|
+
const finalConfig = mergeConfig(config);
|
|
40
|
+
if (!params.owner) {
|
|
41
|
+
throw new Error('owner is required');
|
|
42
|
+
}
|
|
43
|
+
if (!params.contract) {
|
|
44
|
+
throw new Error('contract is required');
|
|
45
|
+
}
|
|
46
|
+
const ownerSigner = toTransactionSigner(params.owner);
|
|
47
|
+
const ownerAddress = getSignerAddress(params.owner);
|
|
48
|
+
// Get atlasMint and sage program from config
|
|
49
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
50
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
51
|
+
const addresses = getAddresses(config);
|
|
52
|
+
const programAddress = address(addresses.srsly);
|
|
53
|
+
// Fetch contract to get managed_token_account
|
|
54
|
+
const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
55
|
+
const contractAddress = address(params.contract);
|
|
56
|
+
// Derive thread and fiber PDAs
|
|
57
|
+
const rentalAuthority = await deriveRentalAuthority();
|
|
58
|
+
const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
|
|
59
|
+
const fiber0 = await deriveFiber(contractThread, 0);
|
|
60
|
+
const closeRentalFiber = await deriveFiber(contractThread, 1);
|
|
61
|
+
// Normalize schedule to cron string
|
|
62
|
+
const paymentsFreq = normalizeSchedule(params.paymentsFreq);
|
|
63
|
+
const kitInstruction = await getCreateContractThreadInstructionAsync({
|
|
64
|
+
payer: ownerSigner,
|
|
65
|
+
mint: atlasMint,
|
|
66
|
+
contract: contractAddress,
|
|
67
|
+
contractThread,
|
|
68
|
+
fiber0,
|
|
69
|
+
closeRentalFiber,
|
|
70
|
+
owner: ownerAddress,
|
|
71
|
+
contractTokenAccount: contractAccount.data.managedTokenAccount,
|
|
72
|
+
sageProgram: address(addresses.sage),
|
|
73
|
+
lamports: MINIMUM_THREAD_FUNDING + (params.lamports ? convertSol(params.lamports) : DEFAULT_EXECUTION_BUDGET),
|
|
74
|
+
paymentsFreq,
|
|
75
|
+
}, { programAddress });
|
|
76
|
+
// If active rental exists, append starbase + starbasePlayer as remaining_accounts
|
|
77
|
+
// (Rust reads them from remaining_accounts when building fiber 1 close instruction)
|
|
78
|
+
try {
|
|
79
|
+
const activeRentalPda = await deriveActiveRental(contractAddress);
|
|
80
|
+
const activeRental = await fetchRental(activeRentalPda, finalConfig.rpcUrl);
|
|
81
|
+
if (activeRental.data.status === RentalStatus.Active) {
|
|
82
|
+
const fleetState = await fetchFleet(contractAccount.data.fleet, finalConfig.rpcUrl);
|
|
83
|
+
const gameAccounts = await deriveGameAccounts(fleetState.subProfile.key, fleetState.faction, contractAccount.data.gameId);
|
|
84
|
+
const sageRemainingAccounts = [
|
|
85
|
+
{ address: gameAccounts.starbase, role: AccountRole.READONLY },
|
|
86
|
+
{ address: gameAccounts.starbasePlayer, role: AccountRole.READONLY },
|
|
87
|
+
];
|
|
88
|
+
kitInstruction.accounts.push(...sageRemainingAccounts);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
// No active rental — remaining_accounts not needed
|
|
93
|
+
}
|
|
94
|
+
return prepareInstructions(kitInstruction, {
|
|
95
|
+
computeUnits: params.computeUnits,
|
|
96
|
+
PublicKey: finalConfig.PublicKey
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=createContractThread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createContractThread.js","sourceRoot":"","sources":["../../../src/instructions/createContractThread.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* @purpose Simplified deleteBorrower instruction wrapper
|
|
3
3
|
*
|
|
4
4
|
* Thin convenience wrapper around Codama-generated deleteBorrower instruction.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Admin-only instruction to delete borrower state for schema migrations.
|
|
6
|
+
* Uses UncheckedAccount to bypass deserialization for old-format accounts.
|
|
7
7
|
*/
|
|
8
8
|
import { address } from '@solana/kit';
|
|
9
9
|
import { getDeleteBorrowerInstructionAsync } from '../generated/codama/instructions';
|
|
@@ -11,10 +11,11 @@ import { mergeConfig, getAddresses } from '../utils/config';
|
|
|
11
11
|
import { toTransactionSigner } from '../utils/signer';
|
|
12
12
|
import { prepareInstructions } from '../utils/instructions';
|
|
13
13
|
/**
|
|
14
|
-
* Delete borrower state (admin
|
|
14
|
+
* Delete borrower state (admin-only for schema migrations)
|
|
15
15
|
*
|
|
16
|
-
* Used
|
|
17
|
-
*
|
|
16
|
+
* Used to delete old-format BorrowerState accounts that can't be deserialized
|
|
17
|
+
* with the current struct layout. Returns lamports to the borrower wallet.
|
|
18
|
+
* Uses UncheckedAccount to bypass deserialization.
|
|
18
19
|
*
|
|
19
20
|
* @param params - Delete borrower parameters
|
|
20
21
|
* @param config - Optional SDK configuration overrides
|
|
@@ -22,32 +23,31 @@ import { prepareInstructions } from '../utils/instructions';
|
|
|
22
23
|
*
|
|
23
24
|
* @example
|
|
24
25
|
* ```typescript
|
|
25
|
-
* // Admin deletes borrower state for migration
|
|
26
26
|
* const ix = await deleteBorrower({
|
|
27
27
|
* admin: adminWallet,
|
|
28
|
-
* borrower: "BORROWER_WALLET_ADDRESS"
|
|
28
|
+
* borrower: "BORROWER_WALLET_ADDRESS",
|
|
29
|
+
* borrowerState: "BORROWER_STATE_PDA_ADDRESS"
|
|
29
30
|
* });
|
|
30
31
|
* ```
|
|
31
32
|
*/
|
|
32
33
|
export async function deleteBorrower(params, config) {
|
|
33
|
-
// Merge config
|
|
34
34
|
const finalConfig = mergeConfig(config);
|
|
35
|
-
// Validate required params
|
|
36
35
|
if (!params.admin) {
|
|
37
36
|
throw new Error('admin is required');
|
|
38
37
|
}
|
|
39
38
|
if (!params.borrower) {
|
|
40
39
|
throw new Error('borrower is required');
|
|
41
40
|
}
|
|
42
|
-
|
|
41
|
+
if (!params.borrowerState) {
|
|
42
|
+
throw new Error('borrowerState is required');
|
|
43
|
+
}
|
|
43
44
|
const adminSigner = toTransactionSigner(params.admin);
|
|
44
|
-
// Get network-specific addresses
|
|
45
45
|
const addresses = getAddresses(config);
|
|
46
46
|
const programAddress = address(addresses.srsly);
|
|
47
|
-
// Call Codama-generated instruction
|
|
48
47
|
const kitInstruction = await getDeleteBorrowerInstructionAsync({
|
|
49
48
|
admin: adminSigner,
|
|
50
|
-
borrower: address(params.borrower)
|
|
49
|
+
borrower: address(params.borrower),
|
|
50
|
+
borrowerState: address(params.borrowerState),
|
|
51
51
|
}, { programAddress });
|
|
52
52
|
return prepareInstructions(kitInstruction, {
|
|
53
53
|
computeUnits: params.computeUnits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteBorrower.js","sourceRoot":"","sources":["../../../src/instructions/deleteBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,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;
|
|
1
|
+
{"version":3,"file":"deleteBorrower.js","sourceRoot":"","sources":["../../../src/instructions/deleteBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,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;AA6B5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,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;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,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;IAE3D,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QAC7C,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,aAAwB,CAAC;KACxD,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"}
|