@wuwei-labs/srsly 3.0.0-beta.9 → 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 +416 -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 +41 -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 +7 -7
- 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/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 +60 -0
- package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
- package/dist/cjs/generated/codama/types/index.js +10 -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 +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 -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/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 +415 -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 +43 -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 +10 -10
- 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/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 +55 -0
- package/dist/esm/generated/codama/types/fleet.js.map +1 -0
- package/dist/esm/generated/codama/types/index.js +33 -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 +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 -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 +2119 -3040
- 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 -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 +45 -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 +6 -3
- 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/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 +52 -0
- package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
- package/dist/types/generated/codama/types/index.d.ts +33 -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 +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 -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
|
@@ -4,21 +4,23 @@
|
|
|
4
4
|
* Thin convenience wrapper around Codama-generated acceptRental instruction.
|
|
5
5
|
* Accepts a rental contract and begins the rental period.
|
|
6
6
|
*/
|
|
7
|
-
import { address } from '@solana/kit';
|
|
8
|
-
import {
|
|
9
|
-
import { getAcceptRentalInstructionAsync, getScheduleRentalInstructionAsync } from '../generated/codama/instructions';
|
|
7
|
+
import { AccountRole, address } from '@solana/kit';
|
|
8
|
+
import { getAcceptRentalInstructionAsync } from '../generated/codama/instructions';
|
|
10
9
|
import { mergeConfig, getAddresses } from '../utils/config';
|
|
11
10
|
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
+
import { convertAmount } from '../params/amount';
|
|
12
12
|
import { convertDuration } from '../params/duration';
|
|
13
13
|
import { fetchFleet } from '../accounts/fleet';
|
|
14
14
|
import { fetchContract } from '../accounts/contract';
|
|
15
15
|
import { fetchConfig } from '../accounts/config';
|
|
16
|
-
import {
|
|
16
|
+
import { fetchRental } from '../accounts/rental';
|
|
17
17
|
import { deriveGameAccounts } from '../pda/sage';
|
|
18
|
-
import {
|
|
18
|
+
import { deriveActiveRental, deriveBorrowerState, deriveRentalAuthority } from '../pda/srsly';
|
|
19
19
|
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
20
|
-
import {
|
|
20
|
+
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
21
21
|
import { prepareInstructions } from '../utils/instructions';
|
|
22
|
+
import { deserializeDiscountAuth } from '../utils/discountAuth';
|
|
23
|
+
import { RentalStatus } from '../generated/codama/types';
|
|
22
24
|
/**
|
|
23
25
|
* Accept a rental contract
|
|
24
26
|
*
|
|
@@ -28,13 +30,13 @@ import { prepareInstructions } from '../utils/instructions';
|
|
|
28
30
|
*
|
|
29
31
|
* This function automatically fetches the contract and config to get required
|
|
30
32
|
* data (fleet, vault, gameId), then derives all SAGE accounts (profile faction,
|
|
31
|
-
* starbase, starbase player) and the
|
|
33
|
+
* starbase, starbase player) and the contract thread for automated payments.
|
|
32
34
|
*
|
|
33
35
|
* @param params - Rental acceptance parameters
|
|
34
36
|
* @param config - Optional SDK configuration overrides
|
|
35
37
|
* @returns Array of instructions (Kit format or web3.js if PublicKey in config)
|
|
36
38
|
*
|
|
37
|
-
* @
|
|
39
|
+
* @example
|
|
38
40
|
* ```typescript
|
|
39
41
|
* // Accept a 7-day rental (borrowerProfile auto-fetched)
|
|
40
42
|
* const ixs = await acceptRental({
|
|
@@ -44,27 +46,6 @@ import { prepareInstructions } from '../utils/instructions';
|
|
|
44
46
|
* computeUnits: 400_000
|
|
45
47
|
* });
|
|
46
48
|
* ```
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* ```typescript
|
|
50
|
-
* // Accept a 7-day rental (fleet and vault auto-fetched)
|
|
51
|
-
* const ixs = await acceptRental({
|
|
52
|
-
* borrower: wallet,
|
|
53
|
-
* borrowerProfile: borrowerProfileAddress,
|
|
54
|
-
* contract: contractAddress,
|
|
55
|
-
* duration: { days: 7 }
|
|
56
|
-
* });
|
|
57
|
-
*
|
|
58
|
-
* // With referrer and compute budget
|
|
59
|
-
* const ixs2 = await acceptRental({
|
|
60
|
-
* borrower: wallet,
|
|
61
|
-
* borrowerProfile: borrowerProfileAddress,
|
|
62
|
-
* contract: contractAddress,
|
|
63
|
-
* referrer: referrerAddress,
|
|
64
|
-
* duration: { weeks: 2 },
|
|
65
|
-
* computeUnits: 400_000
|
|
66
|
-
* });
|
|
67
|
-
* ```
|
|
68
49
|
*/
|
|
69
50
|
export async function acceptRental(params, config) {
|
|
70
51
|
// Merge config
|
|
@@ -81,93 +62,117 @@ export async function acceptRental(params, config) {
|
|
|
81
62
|
}
|
|
82
63
|
// Convert borrower to transaction signer
|
|
83
64
|
const borrowerSigner = toTransactionSigner(params.borrower);
|
|
84
|
-
// Fetch or use provided borrower profile
|
|
85
|
-
let borrowerProfile;
|
|
86
|
-
if (params.borrowerProfile) {
|
|
87
|
-
// User provided profile - use it directly
|
|
88
|
-
borrowerProfile = address(params.borrowerProfile);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
// Fetch borrower_state to get profile
|
|
92
|
-
const borrowerStateAddress = await deriveBorrowerState(borrowerSigner.address);
|
|
93
|
-
const rpc = createRpc(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
|
|
94
|
-
const borrowerState = await fetchBorrowerState(rpc, borrowerStateAddress);
|
|
95
|
-
// Check if borrowerProfile is set (Option type check)
|
|
96
|
-
const profileOption = borrowerState.data.borrowerProfile;
|
|
97
|
-
if (!profileOption || (typeof profileOption === 'object' && '__option' in profileOption && profileOption.__option === 'None')) {
|
|
98
|
-
throw new Error('Borrower profile not set. Please run borrower-update to set your SAGE profile.');
|
|
99
|
-
}
|
|
100
|
-
// Extract value from Some variant
|
|
101
|
-
borrowerProfile = typeof profileOption === 'object' && 'value' in profileOption ? profileOption.value : profileOption;
|
|
102
|
-
}
|
|
103
65
|
// Fetch config to get vault
|
|
104
66
|
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
105
67
|
const vault = configAccount.data.slyvault;
|
|
106
|
-
// Fetch contract to get fleet, gameId
|
|
68
|
+
// Fetch contract to get fleet, gameId
|
|
107
69
|
const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
108
70
|
const fleet = contractAccount.data.fleet;
|
|
109
71
|
const gameId = contractAccount.data.gameId;
|
|
72
|
+
// Client-side rate safety check
|
|
73
|
+
if (params.rate != null) {
|
|
74
|
+
const expectedRate = convertAmount(params.rate);
|
|
75
|
+
const contractRate = BigInt(contractAccount.data.rate);
|
|
76
|
+
if (expectedRate !== contractRate) {
|
|
77
|
+
throw new Error(`Contract rate mismatch: expected ${expectedRate} stardust but contract has ${contractRate} stardust. The rate may have changed since you last fetched it.`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
110
80
|
// Fetch fleet data for faction (needed to derive SAGE accounts)
|
|
111
81
|
const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
|
|
112
82
|
const faction = fleetState.faction;
|
|
83
|
+
// Use param if provided, fallback to fleet.subProfile (current occupant's profile)
|
|
84
|
+
let borrowerProfile;
|
|
85
|
+
if (params.borrowerProfile) {
|
|
86
|
+
borrowerProfile = address(params.borrowerProfile);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
borrowerProfile = fleetState.subProfile;
|
|
90
|
+
}
|
|
113
91
|
// Derive all SAGE game accounts (profile faction, starbase, starbase player)
|
|
114
92
|
const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
|
|
115
|
-
// Derive rental
|
|
116
|
-
const
|
|
93
|
+
// Derive active rental PDA (no more slot logic)
|
|
94
|
+
const rentalState = await deriveActiveRental(params.contract);
|
|
95
|
+
// Resolve expiredBorrowerState: use param if provided, otherwise auto-detect
|
|
96
|
+
// When the same borrower re-rents their own expired contract, skip passing
|
|
97
|
+
// expiredBorrowerState to avoid Anchor's duplicate mutable account error.
|
|
98
|
+
const borrowerStatePda = await deriveBorrowerState(borrowerSigner);
|
|
99
|
+
let expiredBorrowerState;
|
|
100
|
+
if (params.expiredBorrowerState) {
|
|
101
|
+
const explicit = address(params.expiredBorrowerState);
|
|
102
|
+
// Don't pass if it matches the current borrower's state (same-borrower re-rent)
|
|
103
|
+
if (explicit !== borrowerStatePda) {
|
|
104
|
+
expiredBorrowerState = explicit;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
try {
|
|
109
|
+
const activeRental = await fetchRental(rentalState, finalConfig.rpcUrl);
|
|
110
|
+
if (activeRental.data.status !== RentalStatus.Available) {
|
|
111
|
+
// Only pass as separate account if it's a DIFFERENT borrower's state
|
|
112
|
+
if (activeRental.data.borrowerState !== borrowerStatePda) {
|
|
113
|
+
expiredBorrowerState = activeRental.data.borrowerState;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
// Rental state doesn't exist or can't be fetched — no expired rental to replace
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// Derive rental authority PDA
|
|
117
122
|
const rentalAuthority = await deriveRentalAuthority();
|
|
118
|
-
// Derive
|
|
119
|
-
const
|
|
123
|
+
// Derive contract thread and close_rental fiber (fiber index 1) — only if thread configured
|
|
124
|
+
const thread = address(contractAccount.data.thread);
|
|
125
|
+
const hasThread = thread !== '11111111111111111111111111111111';
|
|
126
|
+
const contractThread = hasThread ? await deriveContractThread(params.contract, rentalAuthority) : undefined;
|
|
127
|
+
const closeRentalFiber = hasThread && contractThread ? await deriveFiber(contractThread, 1) : undefined;
|
|
120
128
|
// Convert duration parameter
|
|
121
129
|
const durationSeconds = convertDuration(params.duration);
|
|
122
|
-
// Get network-specific addresses
|
|
130
|
+
// Get network-specific addresses (atlasMint sourced from on-chain config)
|
|
131
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
123
132
|
const addresses = getAddresses(config);
|
|
124
|
-
const atlasMint = address(addresses.atlasMint);
|
|
125
133
|
const sageProgram = address(addresses.sage);
|
|
126
134
|
const programAddress = address(addresses.srsly);
|
|
127
|
-
//
|
|
135
|
+
// Deserialize discount auth if provided
|
|
136
|
+
let discountAuth = null;
|
|
137
|
+
if (params.discountAuth) {
|
|
138
|
+
discountAuth = deserializeDiscountAuth(params.discountAuth);
|
|
139
|
+
}
|
|
128
140
|
const referrer = params.referrer ? address(params.referrer) : undefined;
|
|
129
|
-
// Determine if we need to include scheduleRental
|
|
130
|
-
// Either explicitly requested or contract requires automation
|
|
131
|
-
const shouldSchedule = params.autoSchedule || contractAccount.data.requiresAutomation;
|
|
132
141
|
// Derive vault token account (ATA)
|
|
133
142
|
const vaultTokenAccount = await deriveAssociatedTokenAccount(vault, atlasMint);
|
|
143
|
+
// Derive contract token account (ATA of contract PDA)
|
|
144
|
+
const contractAddress = address(params.contract);
|
|
145
|
+
const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
|
|
146
|
+
// Derive borrower token account (ATA)
|
|
147
|
+
const borrowerTokenAccount = await deriveAssociatedTokenAccount(borrowerSigner.address, atlasMint);
|
|
134
148
|
// Call Codama-generated acceptRental instruction
|
|
135
149
|
const acceptRentalIx = await getAcceptRentalInstructionAsync({
|
|
136
150
|
borrower: borrowerSigner,
|
|
137
|
-
|
|
138
|
-
borrowerProfileFaction: gameAccounts.profileFaction,
|
|
151
|
+
borrowerTokenAccount,
|
|
139
152
|
fleet: address(fleet),
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
starbasePlayer: gameAccounts.starbasePlayer,
|
|
153
|
+
expiredBorrowerState,
|
|
154
|
+
contract: contractAddress,
|
|
155
|
+
rentalState,
|
|
144
156
|
vault: address(vault),
|
|
145
157
|
vaultTokenAccount,
|
|
158
|
+
contractTokenAccount,
|
|
159
|
+
...(contractThread && { contractThread }),
|
|
160
|
+
...(closeRentalFiber && { closeRentalFiber }),
|
|
146
161
|
referrer,
|
|
147
|
-
mint: atlasMint,
|
|
148
162
|
sageProgram,
|
|
149
163
|
duration: BigInt(durationSeconds),
|
|
150
|
-
|
|
164
|
+
discountAuth
|
|
151
165
|
}, { programAddress });
|
|
152
|
-
//
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
sageProgram
|
|
163
|
-
}, { programAddress });
|
|
164
|
-
// Return both instructions as array
|
|
165
|
-
return prepareInstructions([acceptRentalIx, scheduleRentalIx], {
|
|
166
|
-
computeUnits: params.computeUnits,
|
|
167
|
-
PublicKey: finalConfig.PublicKey
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
// Prepare single instruction with optional compute budget and web3.js conversion
|
|
166
|
+
// Append SAGE pass-through accounts as remaining accounts
|
|
167
|
+
const sageRemainingAccounts = [
|
|
168
|
+
{ address: borrowerProfile, role: AccountRole.READONLY },
|
|
169
|
+
{ address: gameAccounts.profileFaction, role: AccountRole.READONLY },
|
|
170
|
+
{ address: address(gameId), role: AccountRole.READONLY },
|
|
171
|
+
{ address: gameAccounts.starbase, role: AccountRole.READONLY },
|
|
172
|
+
{ address: gameAccounts.starbasePlayer, role: AccountRole.WRITABLE },
|
|
173
|
+
];
|
|
174
|
+
acceptRentalIx.accounts.push(...sageRemainingAccounts);
|
|
175
|
+
// Prepare instruction with optional compute budget
|
|
171
176
|
return prepareInstructions(acceptRentalIx, {
|
|
172
177
|
computeUnits: params.computeUnits,
|
|
173
178
|
PublicKey: finalConfig.PublicKey
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified activateRental instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated activateRental instruction.
|
|
5
|
+
* Manually activates a queued rental when automation is delayed or unavailable.
|
|
6
|
+
*/
|
|
7
|
+
import { AccountRole, address } from '@solana/kit';
|
|
8
|
+
import { getActivateRentalInstructionAsync } 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
|
+
import { fetchFleet } from '../accounts/fleet';
|
|
15
|
+
import { fetchRental } from '../accounts/rental';
|
|
16
|
+
import { deriveGameAccounts } from '../pda/sage';
|
|
17
|
+
import { deriveActiveRental, deriveQueuedRental, deriveRentalAuthority } from '../pda/srsly';
|
|
18
|
+
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
19
|
+
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
20
|
+
/**
|
|
21
|
+
* Manually activate a queued rental
|
|
22
|
+
*
|
|
23
|
+
* This is a fallback for when the Antegen automation thread is delayed.
|
|
24
|
+
* Anyone can call this — it's permissionless. The queued rental will be
|
|
25
|
+
* promoted to active, the fleet will be delegated to the borrower in SAGE,
|
|
26
|
+
* and deferred fees will be paid.
|
|
27
|
+
*
|
|
28
|
+
* @param params - Activate rental parameters
|
|
29
|
+
* @param config - Optional SDK configuration overrides
|
|
30
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
31
|
+
*/
|
|
32
|
+
export async function activateRental(params, config) {
|
|
33
|
+
const finalConfig = mergeConfig(config);
|
|
34
|
+
if (!params.payer) {
|
|
35
|
+
throw new Error('payer is required');
|
|
36
|
+
}
|
|
37
|
+
if (!params.contract) {
|
|
38
|
+
throw new Error('contract is required');
|
|
39
|
+
}
|
|
40
|
+
if (!params.borrowerProfile) {
|
|
41
|
+
throw new Error('borrowerProfile is required for manual activation');
|
|
42
|
+
}
|
|
43
|
+
const payerSigner = toTransactionSigner(params.payer);
|
|
44
|
+
const addresses = getAddresses(config);
|
|
45
|
+
const programAddress = address(addresses.srsly);
|
|
46
|
+
const contractAddress = address(params.contract);
|
|
47
|
+
// Fetch config and contract
|
|
48
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
49
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
50
|
+
const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
51
|
+
// Derive rental PDAs
|
|
52
|
+
const activeRental = await deriveActiveRental(contractAddress);
|
|
53
|
+
const queuedRental = await deriveQueuedRental(contractAddress);
|
|
54
|
+
const rentalAuthority = await deriveRentalAuthority();
|
|
55
|
+
// Derive thread PDAs — only if thread configured
|
|
56
|
+
const thread = address(contractAccount.data.thread);
|
|
57
|
+
const hasThread = thread !== '11111111111111111111111111111111';
|
|
58
|
+
const contractThread = hasThread ? await deriveContractThread(contractAddress, rentalAuthority) : undefined;
|
|
59
|
+
const closeRentalFiber = hasThread && contractThread ? await deriveFiber(contractThread, 1) : undefined;
|
|
60
|
+
// Fetch queued rental to get borrower info
|
|
61
|
+
const queuedRentalAccount = await fetchRental(queuedRental, finalConfig.rpcUrl);
|
|
62
|
+
// Derive SAGE accounts from borrowerProfile + fleet faction
|
|
63
|
+
const borrowerProfileAddr = address(params.borrowerProfile);
|
|
64
|
+
const fleetState = await fetchFleet(contractAccount.data.fleet, finalConfig.rpcUrl);
|
|
65
|
+
const gameAccounts = await deriveGameAccounts(borrowerProfileAddr, fleetState.faction, contractAccount.data.gameId);
|
|
66
|
+
// Get vault from config and derive vault token account
|
|
67
|
+
const vault = configAccount.data.slyvault;
|
|
68
|
+
const vaultTokenAccount = await deriveAssociatedTokenAccount(vault, atlasMint);
|
|
69
|
+
const kitInstruction = await getActivateRentalInstructionAsync({
|
|
70
|
+
payer: payerSigner,
|
|
71
|
+
contract: contractAddress,
|
|
72
|
+
contractTokenAccount: contractAccount.data.managedTokenAccount,
|
|
73
|
+
mint: atlasMint,
|
|
74
|
+
borrowerProfile: borrowerProfileAddr,
|
|
75
|
+
borrowerProfileFaction: gameAccounts.profileFaction,
|
|
76
|
+
fleet: contractAccount.data.fleet,
|
|
77
|
+
gameId: contractAccount.data.gameId,
|
|
78
|
+
...(contractThread && { contractThread }),
|
|
79
|
+
...(closeRentalFiber && { closeRentalFiber }),
|
|
80
|
+
vault,
|
|
81
|
+
vaultTokenAccount,
|
|
82
|
+
sageProgram: address(addresses.sage),
|
|
83
|
+
}, { programAddress });
|
|
84
|
+
// Append starbase + starbasePlayer as remaining accounts (for fiber 1 building)
|
|
85
|
+
const sageRemainingAccounts = [
|
|
86
|
+
{ address: gameAccounts.starbase, role: AccountRole.READONLY },
|
|
87
|
+
{ address: gameAccounts.starbasePlayer, role: AccountRole.READONLY },
|
|
88
|
+
];
|
|
89
|
+
kitInstruction.accounts.push(...sageRemainingAccounts);
|
|
90
|
+
return prepareInstructions(kitInstruction, {
|
|
91
|
+
computeUnits: params.computeUnits,
|
|
92
|
+
PublicKey: finalConfig.PublicKey
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=activateRental.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activateRental.js","sourceRoot":"","sources":["../../../src/instructions/activateRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approveAffiliate.js","sourceRoot":"","sources":["../../../src/instructions/approveAffiliate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC"}
|
|
@@ -8,24 +8,23 @@ import { address } from '@solana/kit';
|
|
|
8
8
|
import { getCancelRentalInstructionAsync } from '../generated/codama/instructions';
|
|
9
9
|
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
10
|
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
11
|
+
import { deriveActiveRental } from '../pda/srsly';
|
|
12
|
+
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
13
13
|
import { prepareInstructions } from '../utils/instructions';
|
|
14
14
|
import { convertDuration } from '../params/duration';
|
|
15
|
+
import { fetchConfig } from '../accounts/config';
|
|
16
|
+
import { fetchContract } from '../accounts/contract';
|
|
15
17
|
/**
|
|
16
18
|
* Cancel a rental
|
|
17
19
|
*
|
|
18
|
-
* Allows a borrower to cancel an active rental.
|
|
20
|
+
* Allows a borrower to cancel an active rental. Always targets the active
|
|
21
|
+
* rental PDA (no more slot detection needed).
|
|
19
22
|
*
|
|
20
23
|
* **Cancellation Behavior:**
|
|
21
|
-
* - `cancelDelay = 0`: Instant cancellation
|
|
22
|
-
*
|
|
23
|
-
* - Returns `InstantCancelNotAllowed` error if contract doesn't allow it
|
|
24
|
-
* - `cancelDelay > 0`: Deferred cancellation
|
|
25
|
-
* - Rental continues until `now + cancelDelay`
|
|
26
|
-
* - Existing Cron trigger handles cleanup when `end_time` is reached
|
|
24
|
+
* - `cancelDelay = 0`: Instant cancellation
|
|
25
|
+
* - `cancelDelay > 0`: Deferred cancellation, rental continues until `now + cancelDelay`
|
|
27
26
|
*
|
|
28
|
-
* Both paths refund the borrower for unused time.
|
|
27
|
+
* Both paths refund the borrower for unused time.
|
|
29
28
|
*
|
|
30
29
|
* @param params - Cancellation parameters (borrower, contract, cancelDelay)
|
|
31
30
|
* @param config - Optional SDK configuration overrides
|
|
@@ -33,13 +32,13 @@ import { convertDuration } from '../params/duration';
|
|
|
33
32
|
*
|
|
34
33
|
* @example
|
|
35
34
|
* ```typescript
|
|
36
|
-
* //
|
|
35
|
+
* // Default cancellation (uses contract's cancelDelayMin)
|
|
37
36
|
* const ix = await cancelRental({
|
|
38
37
|
* borrower: borrowerWallet,
|
|
39
38
|
* contract: contractAddress
|
|
40
39
|
* });
|
|
41
40
|
*
|
|
42
|
-
* // Instant cancellation
|
|
41
|
+
* // Instant cancellation
|
|
43
42
|
* const ix2 = await cancelRental({
|
|
44
43
|
* borrower: borrowerWallet,
|
|
45
44
|
* contract: contractAddress,
|
|
@@ -66,27 +65,37 @@ export async function cancelRental(params, config) {
|
|
|
66
65
|
}
|
|
67
66
|
// Convert borrower to transaction signer
|
|
68
67
|
const borrowerSigner = toTransactionSigner(params.borrower);
|
|
69
|
-
// Get
|
|
68
|
+
// Get atlasMint from on-chain config
|
|
69
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
70
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
70
71
|
const addresses = getAddresses(config);
|
|
71
|
-
const atlasMint = address(addresses.atlasMint);
|
|
72
72
|
const programAddress = address(addresses.srsly);
|
|
73
|
-
//
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
|
|
73
|
+
// Fetch contract to get fleet
|
|
74
|
+
const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
75
|
+
const fleet = contractAccount.data.fleet;
|
|
76
|
+
// Derive active rental PDA (no more slot logic)
|
|
77
|
+
const rentalState = await deriveActiveRental(params.contract);
|
|
78
|
+
// Derive contract token account (ATA of contract PDA)
|
|
79
|
+
const contractAddress = address(params.contract);
|
|
80
|
+
const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
|
|
77
81
|
// Convert duration to seconds (supports { hours: 1 }, { days: 1 }, etc.)
|
|
78
|
-
// Default to
|
|
82
|
+
// Default to contract's cancelDelayMin if not specified
|
|
79
83
|
const cancelDelay = params.cancelDelay !== undefined
|
|
80
84
|
? BigInt(convertDuration(params.cancelDelay))
|
|
81
|
-
:
|
|
85
|
+
: contractAccount.data.cancelDelayMin;
|
|
86
|
+
// Resolve contract thread (system_program::ID means no thread configured)
|
|
87
|
+
const thread = address(contractAccount.data.thread);
|
|
88
|
+
const hasThread = thread !== '11111111111111111111111111111111';
|
|
82
89
|
// Call Codama-generated instruction
|
|
83
|
-
// Note: Codama auto-derives config, borrowerState, borrowerTokenAccount,
|
|
84
|
-
// rentalState, rentalTokenAccount, rentalAuthority, antegenProgram, tokenProgram
|
|
90
|
+
// Note: Codama auto-derives config, borrowerState, borrowerTokenAccount, rentalAuthority
|
|
85
91
|
const kitInstruction = await getCancelRentalInstructionAsync({
|
|
86
92
|
mint: atlasMint,
|
|
87
93
|
borrower: borrowerSigner,
|
|
88
|
-
|
|
89
|
-
|
|
94
|
+
rentalState,
|
|
95
|
+
contractTokenAccount,
|
|
96
|
+
contract: contractAddress,
|
|
97
|
+
fleet: address(fleet),
|
|
98
|
+
...(hasThread && { contractThread: thread }),
|
|
90
99
|
cancelDelay,
|
|
91
100
|
}, { programAddress });
|
|
92
101
|
return prepareInstructions(kitInstruction, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancelRental.js","sourceRoot":"","sources":["../../../src/instructions/cancelRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cancelRental.js","sourceRoot":"","sources":["../../../src/instructions/cancelRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
* @purpose Simplified claimBorrower instruction wrapper
|
|
3
3
|
*
|
|
4
4
|
* Thin convenience wrapper around Codama-generated claimBorrower instruction.
|
|
5
|
-
* Allows
|
|
5
|
+
* Allows claiming accumulated ATLAS from a borrower's managed token account.
|
|
6
|
+
* When close is true, bundles a closeBorrower instruction to also close the
|
|
7
|
+
* managed ATA and BorrowerState in a single transaction.
|
|
6
8
|
*/
|
|
7
9
|
import { address } from '@solana/kit';
|
|
8
|
-
import { getClaimBorrowerInstructionAsync } from '../generated/codama/instructions';
|
|
10
|
+
import { getClaimBorrowerInstructionAsync, getCloseBorrowerInstructionAsync } from '../generated/codama/instructions';
|
|
9
11
|
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
-
import { toTransactionSigner } from '../utils/signer';
|
|
12
|
+
import { toTransactionSigner, getSignerAddress } from '../utils/signer';
|
|
11
13
|
import { prepareInstructions } from '../utils/instructions';
|
|
14
|
+
import { fetchConfig } from '../accounts/config';
|
|
12
15
|
/**
|
|
13
16
|
* Claim borrower ATLAS refunds
|
|
14
17
|
*
|
|
@@ -17,45 +20,68 @@ import { prepareInstructions } from '../utils/instructions';
|
|
|
17
20
|
* account (an ATA with the borrower_state as authority). This instruction
|
|
18
21
|
* transfers those funds to the borrower's personal wallet.
|
|
19
22
|
*
|
|
23
|
+
* The payer and borrower can be different accounts, allowing a third party
|
|
24
|
+
* to pay for the claim transaction on behalf of the borrower.
|
|
25
|
+
*
|
|
26
|
+
* When close is true, a closeBorrower instruction is bundled to also close
|
|
27
|
+
* the managed ATA and BorrowerState PDA in the same transaction.
|
|
28
|
+
*
|
|
20
29
|
* @param params - Borrower claim parameters
|
|
21
30
|
* @param config - Optional SDK configuration overrides
|
|
22
31
|
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
23
32
|
*
|
|
24
33
|
* @example
|
|
25
34
|
* ```typescript
|
|
26
|
-
* //
|
|
35
|
+
* // Self-claim: payer is the borrower
|
|
27
36
|
* const ix = await claimBorrower({
|
|
28
|
-
*
|
|
37
|
+
* payer: borrowerWallet,
|
|
29
38
|
* });
|
|
30
39
|
*
|
|
31
|
-
* //
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
40
|
+
* // Third-party claim: someone else pays
|
|
41
|
+
* const ix2 = await claimBorrower({
|
|
42
|
+
* payer: relayerWallet,
|
|
43
|
+
* borrower: "BORROWER_ADDRESS"
|
|
44
|
+
* });
|
|
45
|
+
*
|
|
46
|
+
* // Claim and close the BorrowerState account
|
|
47
|
+
* const ix3 = await claimBorrower({
|
|
48
|
+
* payer: borrowerWallet,
|
|
49
|
+
* close: true
|
|
36
50
|
* });
|
|
37
51
|
* ```
|
|
38
52
|
*/
|
|
39
53
|
export async function claimBorrower(params, config) {
|
|
40
|
-
// Merge config
|
|
41
54
|
const finalConfig = mergeConfig(config);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
throw new Error('borrower is required');
|
|
55
|
+
if (!params.payer) {
|
|
56
|
+
throw new Error('payer is required');
|
|
45
57
|
}
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
|
|
58
|
+
const payerSigner = toTransactionSigner(params.payer);
|
|
59
|
+
const borrowerAddress = params.borrower
|
|
60
|
+
? address(params.borrower)
|
|
61
|
+
: getSignerAddress(payerSigner);
|
|
62
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
63
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
49
64
|
const addresses = getAddresses(config);
|
|
50
|
-
const atlasMint = address(addresses.atlasMint);
|
|
51
65
|
const programAddress = address(addresses.srsly);
|
|
52
|
-
//
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
borrower:
|
|
66
|
+
// Build claim instruction
|
|
67
|
+
const claimIx = await getClaimBorrowerInstructionAsync({
|
|
68
|
+
payer: payerSigner,
|
|
69
|
+
borrower: borrowerAddress,
|
|
56
70
|
mint: atlasMint,
|
|
57
71
|
}, { programAddress });
|
|
58
|
-
|
|
72
|
+
// If close requested, bundle a closeBorrower instruction after the claim
|
|
73
|
+
if (params.close) {
|
|
74
|
+
const closeIx = await getCloseBorrowerInstructionAsync({
|
|
75
|
+
payer: payerSigner,
|
|
76
|
+
borrower: borrowerAddress,
|
|
77
|
+
mint: atlasMint,
|
|
78
|
+
}, { programAddress });
|
|
79
|
+
return prepareInstructions([claimIx, closeIx], {
|
|
80
|
+
computeUnits: params.computeUnits,
|
|
81
|
+
PublicKey: finalConfig.PublicKey
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return prepareInstructions(claimIx, {
|
|
59
85
|
computeUnits: params.computeUnits,
|
|
60
86
|
PublicKey: finalConfig.PublicKey
|
|
61
87
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claimBorrower.js","sourceRoot":"","sources":["../../../src/instructions/claimBorrower.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"claimBorrower.js","sourceRoot":"","sources":["../../../src/instructions/claimBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACtH,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;AAmCjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;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,0BAA0B;IAC1B,MAAM,OAAO,GAAG,MAAM,gCAAgC,CACpD;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;KAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,yEAAyE;IACzE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,gCAAgC,CACpD;YACE,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,SAAS;SAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;QAEF,OAAO,mBAAmB,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;YAC7C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,mBAAmB,CAAC,OAAO,EAAE;QAClC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|