@wuwei-labs/srsly 3.0.0-beta.2 → 3.0.0-beta.21
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 +79 -15
- package/dist/cjs/accounts/borrower.js.map +1 -1
- package/dist/cjs/accounts/config.js +51 -3
- package/dist/cjs/accounts/config.js.map +1 -1
- package/dist/cjs/accounts/contract.js +52 -1
- package/dist/cjs/accounts/contract.js.map +1 -1
- package/dist/cjs/accounts/fleet.js +2 -1
- package/dist/cjs/accounts/fleet.js.map +1 -1
- package/dist/cjs/accounts/member.js +16 -0
- package/dist/cjs/accounts/member.js.map +1 -0
- package/dist/cjs/accounts/owner.js +105 -0
- package/dist/cjs/accounts/owner.js.map +1 -0
- package/dist/cjs/accounts/rental.js +49 -1
- package/dist/cjs/accounts/rental.js.map +1 -1
- package/dist/cjs/demos.js +337 -34
- package/dist/cjs/demos.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/borrowerState.js +25 -25
- package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/configState.js +55 -48
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/contractState.js +59 -42
- package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/fleet.js +103 -0
- package/dist/cjs/generated/codama/accounts/fleet.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/index.js +2 -2
- package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/ownerState.js +86 -0
- package/dist/cjs/generated/codama/accounts/ownerState.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/rentalState.js +42 -30
- package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/thread.js +47 -44
- package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
- package/dist/cjs/generated/codama/errors/srsly.js +61 -19
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/acceptRental.js +39 -61
- package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/activateRental.js +193 -0
- package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/cancelRental.js +50 -28
- package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/claimBorrower.js +36 -23
- package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/{claimContractPayments.js → claimOwner.js} +70 -56
- package/dist/cjs/generated/codama/instructions/claimOwner.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/claimRental.js +336 -0
- package/dist/cjs/generated/codama/instructions/claimRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeContract.js +17 -85
- package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/closeRental.js +46 -45
- package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createConfig.js +56 -20
- package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createContract.js +53 -37
- package/dist/cjs/generated/codama/instructions/createContract.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/index.js +7 -4
- package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/invalidateRental.js +156 -0
- package/dist/cjs/generated/codama/instructions/invalidateRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/payRental.js +64 -24
- package/dist/cjs/generated/codama/instructions/payRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/releaseRental.js +8 -49
- package/dist/cjs/generated/codama/instructions/releaseRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/reserveRental.js +41 -22
- package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/scheduleRental.js +265 -0
- package/dist/cjs/generated/codama/instructions/scheduleRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/setDelegate.js +79 -0
- package/dist/cjs/generated/codama/instructions/setDelegate.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/updateBorrower.js +9 -9
- package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateConfig.js +43 -45
- package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateContract.js +24 -22
- package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateOwner.js +79 -0
- package/dist/cjs/generated/codama/instructions/updateOwner.js.map +1 -0
- package/dist/cjs/generated/codama/programs/srsly.js +48 -36
- 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 +33 -0
- package/dist/cjs/generated/codama/types/atlasClaimed.js.map +1 -0
- package/dist/cjs/generated/codama/types/borrowerInitialized.js +29 -0
- package/dist/cjs/generated/codama/types/borrowerInitialized.js.map +1 -0
- package/dist/cjs/generated/codama/types/cargoStats.js +43 -0
- package/dist/cjs/generated/codama/types/cargoStats.js.map +1 -0
- package/dist/cjs/generated/codama/types/contractClosed.js +31 -0
- package/dist/cjs/generated/codama/types/contractClosed.js.map +1 -0
- package/dist/cjs/generated/codama/types/contractCreated.js +33 -0
- package/dist/cjs/generated/codama/types/contractCreated.js.map +1 -0
- package/dist/cjs/generated/codama/types/contractDelegateSet.js +31 -0
- package/dist/cjs/generated/codama/types/contractDelegateSet.js.map +1 -0
- 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/contractUpdated.js +34 -0
- package/dist/cjs/generated/codama/types/contractUpdated.js.map +1 -0
- package/dist/cjs/generated/codama/types/discountAuthorization.js +33 -0
- package/dist/cjs/generated/codama/types/discountAuthorization.js.map +1 -0
- package/dist/cjs/generated/codama/types/fieldUpdate.js +29 -0
- package/dist/cjs/generated/codama/types/fieldUpdate.js.map +1 -0
- package/dist/cjs/generated/codama/types/index.js +25 -3
- package/dist/cjs/generated/codama/types/index.js.map +1 -1
- package/dist/cjs/generated/codama/types/miscStats.js +47 -0
- package/dist/cjs/generated/codama/types/miscStats.js.map +1 -0
- package/dist/cjs/generated/codama/types/movementStats.js +39 -0
- package/dist/cjs/generated/codama/types/movementStats.js.map +1 -0
- package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js +23 -0
- package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalAccepted.js +43 -0
- package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalActivated.js +31 -0
- package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalCancelled.js +35 -0
- package/dist/cjs/generated/codama/types/rentalCancelled.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalClaimed.js +41 -0
- package/dist/cjs/generated/codama/types/rentalClaimed.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalClosed.js +33 -0
- package/dist/cjs/generated/codama/types/rentalClosed.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js +33 -0
- package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalScheduled.js +35 -0
- package/dist/cjs/generated/codama/types/rentalScheduled.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalStatus.js +31 -0
- package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -0
- package/dist/cjs/generated/codama/types/reservationCreated.js +35 -0
- package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -0
- package/dist/cjs/generated/codama/types/reservationKnockoff.js +35 -0
- package/dist/cjs/generated/codama/types/reservationKnockoff.js.map +1 -0
- package/dist/cjs/generated/codama/types/schedule.js +14 -14
- package/dist/cjs/generated/codama/types/shipCounts.js +45 -0
- package/dist/cjs/generated/codama/types/shipCounts.js.map +1 -0
- package/dist/cjs/generated/codama/types/shipStats.js +32 -0
- package/dist/cjs/generated/codama/types/shipStats.js.map +1 -0
- package/dist/cjs/generated/codama/types/signal.js +12 -12
- package/dist/cjs/generated/codama/types/trigger.js +36 -36
- package/dist/cjs/index.js +64 -11
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instructions/acceptRental.js +82 -24
- package/dist/cjs/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/instructions/approveAffiliate.js +11 -0
- package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
- package/dist/cjs/instructions/cancelRental.js +12 -5
- package/dist/cjs/instructions/cancelRental.js.map +1 -1
- package/dist/cjs/instructions/claimBorrower.js +7 -3
- package/dist/cjs/instructions/claimBorrower.js.map +1 -1
- package/dist/cjs/instructions/claimRental.js +201 -0
- package/dist/cjs/instructions/claimRental.js.map +1 -0
- package/dist/cjs/instructions/closeContract.js +4 -3
- package/dist/cjs/instructions/closeContract.js.map +1 -1
- package/dist/cjs/instructions/closeRental.js +42 -12
- 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/createConfig.js +12 -0
- package/dist/cjs/instructions/createConfig.js.map +1 -1
- package/dist/cjs/instructions/createContract.js +12 -5
- package/dist/cjs/instructions/createContract.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/deleteContract.js +79 -0
- package/dist/cjs/instructions/deleteContract.js.map +1 -0
- package/dist/cjs/instructions/index.js +56 -0
- package/dist/cjs/instructions/index.js.map +1 -0
- package/dist/cjs/instructions/invalidateRental.js +101 -0
- package/dist/cjs/instructions/invalidateRental.js.map +1 -0
- package/dist/cjs/instructions/ownerClaim.js +110 -0
- package/dist/cjs/instructions/ownerClaim.js.map +1 -0
- package/dist/cjs/instructions/ownerUpdate.js +68 -0
- package/dist/cjs/instructions/ownerUpdate.js.map +1 -0
- package/dist/cjs/instructions/releaseRental.js +20 -53
- package/dist/cjs/instructions/releaseRental.js.map +1 -1
- package/dist/cjs/instructions/removeAffiliate.js +11 -0
- package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
- package/dist/cjs/instructions/reserveRental.js +8 -6
- package/dist/cjs/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/instructions/setDelegate.js +72 -0
- package/dist/cjs/instructions/setDelegate.js.map +1 -0
- package/dist/cjs/instructions/updateAffiliate.js +57 -0
- package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
- package/dist/cjs/instructions/updateBorrower.js +4 -2
- package/dist/cjs/instructions/updateBorrower.js.map +1 -1
- package/dist/cjs/instructions/updateConfig.js +0 -1
- package/dist/cjs/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/instructions/updateContract.js +12 -5
- package/dist/cjs/instructions/updateContract.js.map +1 -1
- package/dist/cjs/kit/index.js +34 -0
- package/dist/cjs/kit/index.js.map +1 -0
- package/dist/cjs/legacy/index.js +127 -0
- package/dist/cjs/legacy/index.js.map +1 -0
- package/dist/cjs/package.json +9 -5
- package/dist/cjs/params/amount.js +4 -4
- package/dist/cjs/pda/constants.js +2 -1
- package/dist/cjs/pda/constants.js.map +1 -1
- package/dist/cjs/pda/index.js +7 -2
- package/dist/cjs/pda/index.js.map +1 -1
- package/dist/cjs/pda/lookupTable.js +59 -0
- package/dist/cjs/pda/lookupTable.js.map +1 -0
- package/dist/cjs/pda/slyvault.js +5 -49
- package/dist/cjs/pda/slyvault.js.map +1 -1
- package/dist/cjs/pda/srsly.js +32 -6
- package/dist/cjs/pda/srsly.js.map +1 -1
- package/dist/cjs/pda/thread.js +2 -2
- package/dist/cjs/utils/addresses.js +7 -1
- package/dist/cjs/utils/addresses.js.map +1 -1
- package/dist/cjs/utils/config.js +20 -2
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/discountAuth.js +157 -0
- package/dist/cjs/utils/discountAuth.js.map +1 -0
- package/dist/cjs/utils/index.js +27 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/instructionResult.js +76 -0
- package/dist/cjs/utils/instructionResult.js.map +1 -0
- package/dist/cjs/utils/instructions.js +12 -17
- package/dist/cjs/utils/instructions.js.map +1 -1
- package/dist/cjs/utils/lookupTable.js +143 -0
- package/dist/cjs/utils/lookupTable.js.map +1 -0
- package/dist/cjs/utils/rental.js +135 -0
- package/dist/cjs/utils/rental.js.map +1 -0
- package/dist/cjs/utils/rpc.js +57 -0
- package/dist/cjs/utils/rpc.js.map +1 -0
- package/dist/cjs/utils/signer.js +8 -8
- package/dist/cjs/utils/signer.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/accounts/borrower.js +80 -17
- package/dist/esm/accounts/borrower.js.map +1 -1
- package/dist/esm/accounts/config.js +50 -3
- package/dist/esm/accounts/config.js.map +1 -1
- package/dist/esm/accounts/contract.js +53 -3
- package/dist/esm/accounts/contract.js.map +1 -1
- package/dist/esm/accounts/fleet.js +3 -2
- package/dist/esm/accounts/fleet.js.map +1 -1
- package/dist/esm/accounts/member.js +9 -0
- package/dist/esm/accounts/member.js.map +1 -0
- package/dist/esm/accounts/owner.js +101 -0
- package/dist/esm/accounts/owner.js.map +1 -0
- package/dist/esm/accounts/rental.js +50 -3
- package/dist/esm/accounts/rental.js.map +1 -1
- package/dist/esm/demos.js +336 -33
- package/dist/esm/demos.js.map +1 -1
- package/dist/esm/generated/codama/accounts/borrowerState.js +26 -26
- package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/configState.js +57 -50
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/contractState.js +60 -43
- package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/fleet.js +90 -0
- package/dist/esm/generated/codama/accounts/fleet.js.map +1 -0
- package/dist/esm/generated/codama/accounts/index.js +7 -7
- package/dist/esm/generated/codama/accounts/index.js.map +1 -1
- package/dist/esm/generated/codama/accounts/ownerState.js +73 -0
- package/dist/esm/generated/codama/accounts/ownerState.js.map +1 -0
- package/dist/esm/generated/codama/accounts/rentalState.js +43 -30
- package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/thread.js +49 -46
- 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 +62 -20
- 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 +42 -64
- package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/activateRental.js +183 -0
- package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/cancelRental.js +53 -31
- package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/claimBorrower.js +39 -26
- package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
- package/dist/esm/generated/codama/instructions/{claimContractPayments.js → claimOwner.js} +65 -51
- package/dist/esm/generated/codama/instructions/claimOwner.js.map +1 -0
- package/dist/esm/generated/codama/instructions/claimRental.js +326 -0
- package/dist/esm/generated/codama/instructions/claimRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeContract.js +20 -88
- package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/closeRental.js +49 -48
- package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createConfig.js +59 -23
- package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createContract.js +56 -40
- package/dist/esm/generated/codama/instructions/createContract.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/index.js +23 -20
- package/dist/esm/generated/codama/instructions/index.js.map +1 -1
- package/dist/esm/generated/codama/instructions/invalidateRental.js +146 -0
- package/dist/esm/generated/codama/instructions/invalidateRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/payRental.js +67 -27
- package/dist/esm/generated/codama/instructions/payRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/releaseRental.js +11 -52
- package/dist/esm/generated/codama/instructions/releaseRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/reserveRental.js +44 -25
- package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/scheduleRental.js +255 -0
- package/dist/esm/generated/codama/instructions/scheduleRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/setDelegate.js +70 -0
- package/dist/esm/generated/codama/instructions/setDelegate.js.map +1 -0
- package/dist/esm/generated/codama/instructions/updateBorrower.js +12 -12
- package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateConfig.js +47 -49
- package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateContract.js +27 -25
- package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateOwner.js +70 -0
- package/dist/esm/generated/codama/instructions/updateOwner.js.map +1 -0
- package/dist/esm/generated/codama/programs/index.js +1 -1
- package/dist/esm/generated/codama/programs/srsly.js +49 -37
- 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 +28 -0
- package/dist/esm/generated/codama/types/atlasClaimed.js.map +1 -0
- package/dist/esm/generated/codama/types/borrowerInitialized.js +24 -0
- package/dist/esm/generated/codama/types/borrowerInitialized.js.map +1 -0
- package/dist/esm/generated/codama/types/cargoStats.js +38 -0
- package/dist/esm/generated/codama/types/cargoStats.js.map +1 -0
- package/dist/esm/generated/codama/types/contractClosed.js +26 -0
- package/dist/esm/generated/codama/types/contractClosed.js.map +1 -0
- package/dist/esm/generated/codama/types/contractCreated.js +28 -0
- package/dist/esm/generated/codama/types/contractCreated.js.map +1 -0
- package/dist/esm/generated/codama/types/contractDelegateSet.js +26 -0
- package/dist/esm/generated/codama/types/contractDelegateSet.js.map +1 -0
- 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/contractUpdated.js +29 -0
- package/dist/esm/generated/codama/types/contractUpdated.js.map +1 -0
- package/dist/esm/generated/codama/types/discountAuthorization.js +28 -0
- package/dist/esm/generated/codama/types/discountAuthorization.js.map +1 -0
- package/dist/esm/generated/codama/types/fieldUpdate.js +24 -0
- package/dist/esm/generated/codama/types/fieldUpdate.js.map +1 -0
- package/dist/esm/generated/codama/types/index.js +29 -7
- package/dist/esm/generated/codama/types/index.js.map +1 -1
- package/dist/esm/generated/codama/types/miscStats.js +42 -0
- package/dist/esm/generated/codama/types/miscStats.js.map +1 -0
- package/dist/esm/generated/codama/types/movementStats.js +34 -0
- package/dist/esm/generated/codama/types/movementStats.js.map +1 -0
- package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js +18 -0
- package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js.map +1 -0
- package/dist/esm/generated/codama/types/paymentFrequency.js +1 -1
- package/dist/esm/generated/codama/types/rentalAccepted.js +38 -0
- package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalActivated.js +26 -0
- package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalCancelled.js +30 -0
- package/dist/esm/generated/codama/types/rentalCancelled.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalClaimed.js +36 -0
- package/dist/esm/generated/codama/types/rentalClaimed.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalClosed.js +28 -0
- package/dist/esm/generated/codama/types/rentalClosed.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalPaymentProcessed.js +28 -0
- package/dist/esm/generated/codama/types/rentalPaymentProcessed.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalScheduled.js +30 -0
- package/dist/esm/generated/codama/types/rentalScheduled.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalStatus.js +25 -0
- package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -0
- package/dist/esm/generated/codama/types/reservationCreated.js +30 -0
- package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -0
- package/dist/esm/generated/codama/types/reservationKnockoff.js +30 -0
- package/dist/esm/generated/codama/types/reservationKnockoff.js.map +1 -0
- package/dist/esm/generated/codama/types/schedule.js +15 -15
- package/dist/esm/generated/codama/types/shipCounts.js +40 -0
- package/dist/esm/generated/codama/types/shipCounts.js.map +1 -0
- package/dist/esm/generated/codama/types/shipStats.js +27 -0
- package/dist/esm/generated/codama/types/shipStats.js.map +1 -0
- package/dist/esm/generated/codama/types/signal.js +14 -14
- package/dist/esm/generated/codama/types/trigger.js +37 -37
- package/dist/esm/index.js +38 -13
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instructions/acceptRental.js +84 -26
- package/dist/esm/instructions/acceptRental.js.map +1 -1
- package/dist/esm/instructions/approveAffiliate.js +7 -0
- package/dist/esm/instructions/approveAffiliate.js.map +1 -0
- package/dist/esm/instructions/cancelRental.js +12 -5
- package/dist/esm/instructions/cancelRental.js.map +1 -1
- package/dist/esm/instructions/claimBorrower.js +8 -4
- package/dist/esm/instructions/claimBorrower.js.map +1 -1
- package/dist/esm/instructions/claimRental.js +198 -0
- package/dist/esm/instructions/claimRental.js.map +1 -0
- package/dist/esm/instructions/closeContract.js +4 -3
- package/dist/esm/instructions/closeContract.js.map +1 -1
- package/dist/esm/instructions/closeRental.js +43 -13
- 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/createConfig.js +12 -0
- package/dist/esm/instructions/createConfig.js.map +1 -1
- package/dist/esm/instructions/createContract.js +12 -5
- package/dist/esm/instructions/createContract.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/deleteContract.js +76 -0
- package/dist/esm/instructions/deleteContract.js.map +1 -0
- package/dist/esm/instructions/index.js +29 -0
- package/dist/esm/instructions/index.js.map +1 -0
- package/dist/esm/instructions/invalidateRental.js +98 -0
- package/dist/esm/instructions/invalidateRental.js.map +1 -0
- package/dist/esm/instructions/ownerClaim.js +107 -0
- package/dist/esm/instructions/ownerClaim.js.map +1 -0
- package/dist/esm/instructions/ownerUpdate.js +65 -0
- package/dist/esm/instructions/ownerUpdate.js.map +1 -0
- package/dist/esm/instructions/releaseRental.js +20 -53
- package/dist/esm/instructions/releaseRental.js.map +1 -1
- package/dist/esm/instructions/removeAffiliate.js +7 -0
- package/dist/esm/instructions/removeAffiliate.js.map +1 -0
- package/dist/esm/instructions/reserveRental.js +10 -8
- package/dist/esm/instructions/reserveRental.js.map +1 -1
- package/dist/esm/instructions/setDelegate.js +69 -0
- package/dist/esm/instructions/setDelegate.js.map +1 -0
- package/dist/esm/instructions/updateAffiliate.js +54 -0
- package/dist/esm/instructions/updateAffiliate.js.map +1 -0
- package/dist/esm/instructions/updateBorrower.js +4 -2
- package/dist/esm/instructions/updateBorrower.js.map +1 -1
- package/dist/esm/instructions/updateConfig.js +0 -1
- package/dist/esm/instructions/updateConfig.js.map +1 -1
- package/dist/esm/instructions/updateContract.js +12 -5
- package/dist/esm/instructions/updateContract.js.map +1 -1
- package/dist/esm/kit/index.js +18 -0
- package/dist/esm/kit/index.js.map +1 -0
- package/dist/esm/legacy/index.js +86 -0
- package/dist/esm/legacy/index.js.map +1 -0
- package/dist/esm/package.json +9 -5
- package/dist/esm/params/amount.js +4 -4
- package/dist/esm/pda/constants.js +1 -0
- package/dist/esm/pda/constants.js.map +1 -1
- package/dist/esm/pda/index.js +5 -3
- package/dist/esm/pda/index.js.map +1 -1
- package/dist/esm/pda/lookupTable.js +56 -0
- package/dist/esm/pda/lookupTable.js.map +1 -0
- package/dist/esm/pda/slyvault.js +2 -47
- package/dist/esm/pda/slyvault.js.map +1 -1
- package/dist/esm/pda/srsly.js +32 -7
- package/dist/esm/pda/srsly.js.map +1 -1
- package/dist/esm/pda/thread.js +2 -2
- package/dist/esm/utils/addresses.js +7 -1
- package/dist/esm/utils/addresses.js.map +1 -1
- package/dist/esm/utils/config.js +19 -2
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/discountAuth.js +151 -0
- package/dist/esm/utils/discountAuth.js.map +1 -0
- package/dist/esm/utils/index.js +11 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/instructionResult.js +72 -0
- package/dist/esm/utils/instructionResult.js.map +1 -0
- package/dist/esm/utils/instructions.js +12 -17
- package/dist/esm/utils/instructions.js.map +1 -1
- package/dist/esm/utils/lookupTable.js +139 -0
- package/dist/esm/utils/lookupTable.js.map +1 -0
- package/dist/esm/utils/rental.js +129 -0
- package/dist/esm/utils/rental.js.map +1 -0
- package/dist/esm/utils/rpc.js +52 -0
- package/dist/esm/utils/rpc.js.map +1 -0
- package/dist/esm/utils/signer.js +8 -8
- package/dist/esm/utils/signer.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/idl/srsly.json +7364 -0
- package/dist/types/accounts/borrower.d.ts +33 -9
- 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.map +1 -1
- package/dist/types/accounts/member.d.ts +9 -0
- package/dist/types/accounts/member.d.ts.map +1 -0
- package/dist/types/accounts/owner.d.ts +52 -0
- package/dist/types/accounts/owner.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/demos.d.ts +47 -2
- package/dist/types/demos.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/borrowerState.d.ts +12 -20
- package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/configState.d.ts +23 -6
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/contractState.d.ts +64 -19
- package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/fleet.d.ts +64 -0
- package/dist/types/generated/codama/accounts/fleet.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/index.d.ts +7 -7
- package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/ownerState.d.ts +65 -0
- package/dist/types/generated/codama/accounts/ownerState.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/rentalState.d.ts +32 -5
- package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/thread.d.ts +5 -2
- 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 +43 -15
- 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 +28 -27
- package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/activateRental.d.ts +90 -0
- package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/cancelRental.d.ts +25 -13
- package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts +33 -21
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/claimOwner.d.ts +91 -0
- package/dist/types/generated/codama/instructions/claimOwner.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/claimRental.d.ts +133 -0
- package/dist/types/generated/codama/instructions/claimRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeContract.d.ts +20 -29
- package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/closeRental.d.ts +45 -24
- package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createConfig.d.ts +36 -15
- package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createContract.d.ts +47 -36
- package/dist/types/generated/codama/instructions/createContract.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 +2 -2
- package/dist/types/generated/codama/instructions/index.d.ts +23 -20
- package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/invalidateRental.d.ts +89 -0
- package/dist/types/generated/codama/instructions/invalidateRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/payRental.d.ts +50 -28
- package/dist/types/generated/codama/instructions/payRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/releaseRental.d.ts +42 -49
- package/dist/types/generated/codama/instructions/releaseRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/reserveRental.d.ts +25 -21
- package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/scheduleRental.d.ts +114 -0
- package/dist/types/generated/codama/instructions/scheduleRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/setDelegate.d.ts +44 -0
- package/dist/types/generated/codama/instructions/setDelegate.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/updateBorrower.d.ts +5 -5
- package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateConfig.d.ts +41 -47
- package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateContract.d.ts +37 -31
- package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateOwner.d.ts +44 -0
- package/dist/types/generated/codama/instructions/updateOwner.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 +39 -30
- 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 +24 -0
- package/dist/types/generated/codama/types/atlasClaimed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/borrowerInitialized.d.ts +17 -0
- package/dist/types/generated/codama/types/borrowerInitialized.d.ts.map +1 -0
- package/dist/types/generated/codama/types/cargoStats.d.ts +25 -0
- package/dist/types/generated/codama/types/cargoStats.d.ts.map +1 -0
- package/dist/types/generated/codama/types/contractClosed.d.ts +18 -0
- package/dist/types/generated/codama/types/contractClosed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/contractCreated.d.ts +24 -0
- package/dist/types/generated/codama/types/contractCreated.d.ts.map +1 -0
- package/dist/types/generated/codama/types/contractDelegateSet.d.ts +22 -0
- package/dist/types/generated/codama/types/contractDelegateSet.d.ts.map +1 -0
- 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/contractUpdated.d.ts +27 -0
- package/dist/types/generated/codama/types/contractUpdated.d.ts.map +1 -0
- package/dist/types/generated/codama/types/discountAuthorization.d.ts +36 -0
- package/dist/types/generated/codama/types/discountAuthorization.d.ts.map +1 -0
- package/dist/types/generated/codama/types/fieldUpdate.d.ts +20 -0
- package/dist/types/generated/codama/types/fieldUpdate.d.ts.map +1 -0
- package/dist/types/generated/codama/types/index.d.ts +29 -7
- package/dist/types/generated/codama/types/index.d.ts.map +1 -1
- package/dist/types/generated/codama/types/miscStats.d.ts +27 -0
- package/dist/types/generated/codama/types/miscStats.d.ts.map +1 -0
- package/dist/types/generated/codama/types/movementStats.d.ts +23 -0
- package/dist/types/generated/codama/types/movementStats.d.ts.map +1 -0
- package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts +17 -0
- package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts.map +1 -0
- package/dist/types/generated/codama/types/paymentFrequency.d.ts +1 -1
- package/dist/types/generated/codama/types/rentalAccepted.d.ts +34 -0
- package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalActivated.d.ts +18 -0
- package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalCancelled.d.ts +26 -0
- package/dist/types/generated/codama/types/rentalCancelled.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalClaimed.d.ts +32 -0
- package/dist/types/generated/codama/types/rentalClaimed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalClosed.d.ts +19 -0
- package/dist/types/generated/codama/types/rentalClosed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts +24 -0
- package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalScheduled.d.ts +20 -0
- package/dist/types/generated/codama/types/rentalScheduled.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalStatus.d.ts +19 -0
- package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -0
- package/dist/types/generated/codama/types/reservationCreated.d.ts +26 -0
- package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -0
- package/dist/types/generated/codama/types/reservationKnockoff.d.ts +26 -0
- package/dist/types/generated/codama/types/reservationKnockoff.d.ts.map +1 -0
- package/dist/types/generated/codama/types/schedule.d.ts +11 -11
- package/dist/types/generated/codama/types/shipCounts.d.ts +26 -0
- package/dist/types/generated/codama/types/shipCounts.d.ts.map +1 -0
- package/dist/types/generated/codama/types/shipStats.d.ts +24 -0
- package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -0
- package/dist/types/generated/codama/types/signal.d.ts +21 -21
- package/dist/types/generated/codama/types/trigger.d.ts +23 -23
- package/dist/types/index.d.ts +20 -11
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/instructions/acceptRental.d.ts +31 -2
- package/dist/types/instructions/acceptRental.d.ts.map +1 -1
- 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 +5 -0
- package/dist/types/instructions/cancelRental.d.ts.map +1 -1
- package/dist/types/instructions/claimBorrower.d.ts +6 -0
- package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
- package/dist/types/instructions/claimRental.d.ts +114 -0
- package/dist/types/instructions/claimRental.d.ts.map +1 -0
- package/dist/types/instructions/closeContract.d.ts.map +1 -1
- package/dist/types/instructions/closeRental.d.ts +12 -5
- 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/createConfig.d.ts +10 -0
- package/dist/types/instructions/createConfig.d.ts.map +1 -1
- package/dist/types/instructions/createContract.d.ts +17 -9
- package/dist/types/instructions/createContract.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/deleteContract.d.ts +60 -0
- package/dist/types/instructions/deleteContract.d.ts.map +1 -0
- package/dist/types/instructions/index.d.ts +29 -0
- package/dist/types/instructions/index.d.ts.map +1 -0
- package/dist/types/instructions/invalidateRental.d.ts +86 -0
- package/dist/types/instructions/invalidateRental.d.ts.map +1 -0
- package/dist/types/instructions/ownerClaim.d.ts +72 -0
- package/dist/types/instructions/ownerClaim.d.ts.map +1 -0
- package/dist/types/instructions/ownerUpdate.d.ts +57 -0
- package/dist/types/instructions/ownerUpdate.d.ts.map +1 -0
- package/dist/types/instructions/releaseRental.d.ts +19 -39
- package/dist/types/instructions/releaseRental.d.ts.map +1 -1
- package/dist/types/instructions/removeAffiliate.d.ts +7 -0
- package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
- package/dist/types/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/instructions/setDelegate.d.ts +63 -0
- package/dist/types/instructions/setDelegate.d.ts.map +1 -0
- 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.map +1 -1
- package/dist/types/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/instructions/updateContract.d.ts +13 -4
- package/dist/types/instructions/updateContract.d.ts.map +1 -1
- package/dist/types/kit/index.d.ts +18 -0
- package/dist/types/kit/index.d.ts.map +1 -0
- package/dist/types/legacy/index.d.ts +90 -0
- package/dist/types/legacy/index.d.ts.map +1 -0
- package/dist/types/params/amount.d.ts +3 -3
- package/dist/types/pda/constants.d.ts +1 -0
- package/dist/types/pda/constants.d.ts.map +1 -1
- package/dist/types/pda/index.d.ts +4 -3
- package/dist/types/pda/index.d.ts.map +1 -1
- package/dist/types/pda/lookupTable.d.ts +29 -0
- package/dist/types/pda/lookupTable.d.ts.map +1 -0
- 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 +17 -3
- package/dist/types/pda/srsly.d.ts.map +1 -1
- package/dist/types/pda/thread.d.ts +2 -2
- package/dist/types/utils/addresses.d.ts +7 -1
- package/dist/types/utils/addresses.d.ts.map +1 -1
- package/dist/types/utils/config.d.ts +48 -0
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/discountAuth.d.ts +90 -0
- package/dist/types/utils/discountAuth.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +6 -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/lookupTable.d.ts +48 -0
- package/dist/types/utils/lookupTable.d.ts.map +1 -0
- package/dist/types/utils/rental.d.ts +80 -0
- package/dist/types/utils/rental.d.ts.map +1 -0
- package/dist/types/utils/rpc.d.ts +37 -0
- package/dist/types/utils/rpc.d.ts.map +1 -0
- package/dist/types/utils/signer.d.ts +2 -2
- package/dist/types/utils/signer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/package.json +40 -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/captureRental.js +0 -129
- package/dist/cjs/generated/codama/instructions/captureRental.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js +0 -225
- package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/closeBorrower.js +0 -84
- package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/deleteBorrower.js +0 -126
- package/dist/cjs/generated/codama/instructions/deleteBorrower.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/types/capturedFlagData.js +0 -31
- package/dist/cjs/generated/codama/types/capturedFlagData.js.map +0 -1
- package/dist/cjs/generated/codama/types/memberConfig.js +0 -33
- package/dist/cjs/generated/codama/types/memberConfig.js.map +0 -1
- package/dist/cjs/generated/codama/types/memberType.js +0 -55
- package/dist/cjs/generated/codama/types/memberType.js.map +0 -1
- package/dist/cjs/instructions/captureRental.js +0 -85
- package/dist/cjs/instructions/captureRental.js.map +0 -1
- package/dist/cjs/instructions/claimBorrowerPayments.js +0 -69
- package/dist/cjs/instructions/claimBorrowerPayments.js.map +0 -1
- package/dist/cjs/instructions/claimContractPayments.js +0 -79
- package/dist/cjs/instructions/claimContractPayments.js.map +0 -1
- package/dist/cjs/instructions/closeBorrower.js +0 -60
- package/dist/cjs/instructions/closeBorrower.js.map +0 -1
- package/dist/cjs/instructions/deleteBorrower.js +0 -60
- package/dist/cjs/instructions/deleteBorrower.js.map +0 -1
- package/dist/cjs/instructions/discountBorrower.js +0 -75
- package/dist/cjs/instructions/discountBorrower.js.map +0 -1
- package/dist/esm/generated/codama/accounts/memberState.js +0 -66
- package/dist/esm/generated/codama/accounts/memberState.js.map +0 -1
- package/dist/esm/generated/codama/accounts/vaultState.js +0 -70
- package/dist/esm/generated/codama/accounts/vaultState.js.map +0 -1
- package/dist/esm/generated/codama/instructions/captureRental.js +0 -119
- package/dist/esm/generated/codama/instructions/captureRental.js.map +0 -1
- package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +0 -1
- package/dist/esm/generated/codama/instructions/closeBorrower.js +0 -75
- package/dist/esm/generated/codama/instructions/closeBorrower.js.map +0 -1
- package/dist/esm/generated/codama/instructions/deleteBorrower.js +0 -116
- package/dist/esm/generated/codama/instructions/deleteBorrower.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/types/capturedFlagData.js +0 -26
- package/dist/esm/generated/codama/types/capturedFlagData.js.map +0 -1
- package/dist/esm/generated/codama/types/memberConfig.js +0 -28
- package/dist/esm/generated/codama/types/memberConfig.js.map +0 -1
- package/dist/esm/generated/codama/types/memberType.js +0 -48
- package/dist/esm/generated/codama/types/memberType.js.map +0 -1
- package/dist/esm/instructions/captureRental.js +0 -82
- package/dist/esm/instructions/captureRental.js.map +0 -1
- package/dist/esm/instructions/claimContractPayments.js +0 -76
- package/dist/esm/instructions/claimContractPayments.js.map +0 -1
- package/dist/esm/instructions/closeBorrower.js +0 -57
- package/dist/esm/instructions/closeBorrower.js.map +0 -1
- package/dist/esm/instructions/deleteBorrower.js +0 -57
- package/dist/esm/instructions/deleteBorrower.js.map +0 -1
- package/dist/esm/instructions/discountBorrower.js +0 -72
- package/dist/esm/instructions/discountBorrower.js.map +0 -1
- package/dist/types/generated/codama/accounts/memberState.d.ts +0 -58
- package/dist/types/generated/codama/accounts/memberState.d.ts.map +0 -1
- package/dist/types/generated/codama/accounts/vaultState.d.ts +0 -66
- package/dist/types/generated/codama/accounts/vaultState.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/captureRental.d.ts +0 -59
- package/dist/types/generated/codama/instructions/captureRental.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts +0 -75
- package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +0 -98
- package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/closeBorrower.d.ts +0 -43
- package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +0 -55
- package/dist/types/generated/codama/instructions/deleteBorrower.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/types/capturedFlagData.d.ts +0 -35
- package/dist/types/generated/codama/types/capturedFlagData.d.ts.map +0 -1
- package/dist/types/generated/codama/types/memberConfig.d.ts +0 -33
- package/dist/types/generated/codama/types/memberConfig.d.ts.map +0 -1
- package/dist/types/generated/codama/types/memberType.d.ts +0 -48
- package/dist/types/generated/codama/types/memberType.d.ts.map +0 -1
- package/dist/types/instructions/captureRental.d.ts +0 -58
- package/dist/types/instructions/captureRental.d.ts.map +0 -1
- package/dist/types/instructions/claimBorrowerPayments.d.ts +0 -59
- package/dist/types/instructions/claimBorrowerPayments.d.ts.map +0 -1
- package/dist/types/instructions/claimContractPayments.d.ts +0 -78
- package/dist/types/instructions/claimContractPayments.d.ts.map +0 -1
- package/dist/types/instructions/closeBorrower.d.ts +0 -45
- package/dist/types/instructions/closeBorrower.d.ts.map +0 -1
- package/dist/types/instructions/deleteBorrower.d.ts +0 -53
- package/dist/types/instructions/deleteBorrower.d.ts.map +0 -1
- package/dist/types/instructions/discountBorrower.d.ts +0 -64
- package/dist/types/instructions/discountBorrower.d.ts.map +0 -1
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Simplified claimRental instruction wrapper
|
|
4
|
+
*
|
|
5
|
+
* Thin convenience wrapper around Codama-generated claimRental instruction.
|
|
6
|
+
* Claims a rental slot as the crowned winner while fleet is currently rented.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.claimRental = claimRental;
|
|
10
|
+
const kit_1 = require("@solana/kit");
|
|
11
|
+
const rpc_1 = require("../utils/rpc");
|
|
12
|
+
const instructions_1 = require("../generated/codama/instructions");
|
|
13
|
+
const config_1 = require("../utils/config");
|
|
14
|
+
const signer_1 = require("../utils/signer");
|
|
15
|
+
const amount_1 = require("../params/amount");
|
|
16
|
+
const duration_1 = require("../params/duration");
|
|
17
|
+
const fleet_1 = require("../accounts/fleet");
|
|
18
|
+
const contract_1 = require("../accounts/contract");
|
|
19
|
+
const config_2 = require("../accounts/config");
|
|
20
|
+
const sage_1 = require("../pda/sage");
|
|
21
|
+
const srsly_1 = require("../pda/srsly");
|
|
22
|
+
const token_1 = require("../pda/token");
|
|
23
|
+
const thread_1 = require("../pda/thread");
|
|
24
|
+
const instructions_2 = require("../utils/instructions");
|
|
25
|
+
const accounts_1 = require("../generated/codama/accounts");
|
|
26
|
+
const discountAuth_1 = require("../utils/discountAuth");
|
|
27
|
+
/**
|
|
28
|
+
* Claim a rental slot as the crowned winner
|
|
29
|
+
*
|
|
30
|
+
* This instruction is EXCLUSIVELY for crowned winners (reservation holders)
|
|
31
|
+
* to queue for the next rental while the fleet is currently rented.
|
|
32
|
+
* Others must wait for rental_accept when the claim window expires.
|
|
33
|
+
*
|
|
34
|
+
* This function automatically fetches the contract and config to get required
|
|
35
|
+
* data (fleet, vault), fetches fleet for faction, and derives SAGE starbase accounts.
|
|
36
|
+
*
|
|
37
|
+
* @param params - Rental claim parameters
|
|
38
|
+
* @param config - Optional SDK configuration overrides
|
|
39
|
+
* @returns Array of instructions (Kit format or web3.js if PublicKey in config)
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* // Claim a 7-day rental slot
|
|
44
|
+
* const ixs = await claimRental({
|
|
45
|
+
* borrower: wallet,
|
|
46
|
+
* contract: "CONTRACT_ADDRESS",
|
|
47
|
+
* duration: { days: 7 },
|
|
48
|
+
* computeUnits: 400_000
|
|
49
|
+
* });
|
|
50
|
+
*
|
|
51
|
+
* // With automate (or contract.automationRequired)
|
|
52
|
+
* const ixs2 = await claimRental({
|
|
53
|
+
* borrower: wallet,
|
|
54
|
+
* contract: "CONTRACT_ADDRESS",
|
|
55
|
+
* duration: { days: 7 },
|
|
56
|
+
* automate: true,
|
|
57
|
+
* computeUnits: 600_000
|
|
58
|
+
* });
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
async function claimRental(params, config) {
|
|
62
|
+
// Merge config
|
|
63
|
+
const finalConfig = (0, config_1.mergeConfig)(config);
|
|
64
|
+
// Validate required params
|
|
65
|
+
if (!params.borrower) {
|
|
66
|
+
throw new Error('borrower is required');
|
|
67
|
+
}
|
|
68
|
+
if (!params.contract) {
|
|
69
|
+
throw new Error('contract is required');
|
|
70
|
+
}
|
|
71
|
+
if (!params.duration) {
|
|
72
|
+
throw new Error('duration is required');
|
|
73
|
+
}
|
|
74
|
+
// Convert borrower to transaction signer
|
|
75
|
+
const borrowerSigner = (0, signer_1.toTransactionSigner)(params.borrower);
|
|
76
|
+
// Try to fetch borrowerProfile from existing borrower_state, fallback to param
|
|
77
|
+
let borrowerProfile;
|
|
78
|
+
try {
|
|
79
|
+
const borrowerStateAddress = await (0, srsly_1.deriveBorrowerState)(borrowerSigner.address);
|
|
80
|
+
const rpc = (0, rpc_1.createRpc)(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
|
|
81
|
+
const borrowerState = await (0, accounts_1.fetchBorrowerState)(rpc, borrowerStateAddress);
|
|
82
|
+
const profileOption = borrowerState.data.borrowerProfile;
|
|
83
|
+
if (profileOption && typeof profileOption === 'object' && '__option' in profileOption && profileOption.__option === 'Some') {
|
|
84
|
+
// borrower_state exists and has profile set - use it
|
|
85
|
+
borrowerProfile = profileOption.value;
|
|
86
|
+
}
|
|
87
|
+
else if (params.borrowerProfile) {
|
|
88
|
+
// borrower_state exists but no profile - use provided param
|
|
89
|
+
borrowerProfile = (0, kit_1.address)(params.borrowerProfile);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
throw new Error('borrowerProfile is required when not set in borrower_state');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch (e) {
|
|
96
|
+
// borrower_state doesn't exist yet - require param for first-time borrowers
|
|
97
|
+
if (params.borrowerProfile) {
|
|
98
|
+
borrowerProfile = (0, kit_1.address)(params.borrowerProfile);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
throw new Error('borrowerProfile is required for first-time borrowers');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// Fetch config to get vault
|
|
105
|
+
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
106
|
+
const vault = configAccount.data.slyvault;
|
|
107
|
+
// Fetch contract to get fleet, gameId
|
|
108
|
+
const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
|
|
109
|
+
const fleet = contractAccount.data.fleet;
|
|
110
|
+
const gameId = contractAccount.data.gameId;
|
|
111
|
+
// Client-side rate safety check
|
|
112
|
+
if (params.rate != null) {
|
|
113
|
+
const expectedRate = (0, amount_1.convertAmount)(params.rate);
|
|
114
|
+
const contractRate = BigInt(contractAccount.data.rate);
|
|
115
|
+
if (expectedRate !== contractRate) {
|
|
116
|
+
throw new Error(`Contract rate mismatch: expected ${expectedRate} stardust but contract has ${contractRate} stardust. The rate may have changed since you last fetched it.`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Fetch fleet data for faction (needed to derive SAGE accounts)
|
|
120
|
+
const fleetState = await (0, fleet_1.fetchFleet)(fleet, finalConfig.rpcUrl);
|
|
121
|
+
const faction = fleetState.faction;
|
|
122
|
+
// Derive SAGE game accounts (starbase, starbase player)
|
|
123
|
+
const gameAccounts = await (0, sage_1.deriveGameAccounts)(borrowerProfile, faction, gameId);
|
|
124
|
+
// Determine which slot is free
|
|
125
|
+
// claim_rental requires one slot occupied, one free
|
|
126
|
+
const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
|
|
127
|
+
const slot0Empty = contractAccount.data.rentalSlot0 === SYSTEM_PROGRAM_ID;
|
|
128
|
+
const slot1Empty = contractAccount.data.rentalSlot1 === SYSTEM_PROGRAM_ID;
|
|
129
|
+
// Use the free slot (slot 0 if empty, else slot 1)
|
|
130
|
+
const rentalSlot = slot0Empty ? 0 : 1;
|
|
131
|
+
const otherSlot = slot0Empty ? 1 : 0;
|
|
132
|
+
// Derive rental and rental authority PDAs
|
|
133
|
+
const rental = await (0, srsly_1.deriveRental)(params.contract, rentalSlot);
|
|
134
|
+
const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
|
|
135
|
+
// Derive rental thread for automated payments
|
|
136
|
+
const rentalThread = await (0, thread_1.deriveRentalThread)(rental, rentalAuthority);
|
|
137
|
+
// Derive queued thread for the other slot
|
|
138
|
+
const otherSlotRental = await (0, srsly_1.deriveRental)(params.contract, otherSlot);
|
|
139
|
+
const queuedThread = await (0, thread_1.deriveRentalThread)(otherSlotRental, rentalAuthority);
|
|
140
|
+
// Convert duration parameter
|
|
141
|
+
const durationSeconds = (0, duration_1.convertDuration)(params.duration);
|
|
142
|
+
// Get network-specific addresses (atlasMint sourced from on-chain config)
|
|
143
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
144
|
+
const addresses = (0, config_1.getAddresses)(config);
|
|
145
|
+
const sageProgram = (0, kit_1.address)(addresses.sage);
|
|
146
|
+
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
147
|
+
// Deserialize discount auth if provided
|
|
148
|
+
let discountAuth = null;
|
|
149
|
+
if (params.discountAuth) {
|
|
150
|
+
discountAuth = (0, discountAuth_1.deserializeDiscountAuth)(params.discountAuth);
|
|
151
|
+
}
|
|
152
|
+
const referrer = params.referrer ? (0, kit_1.address)(params.referrer) : undefined;
|
|
153
|
+
// Determine if we need to include scheduleRental
|
|
154
|
+
// Either explicitly requested or contract requires automation
|
|
155
|
+
const shouldSchedule = params.automate || contractAccount.data.automationRequired;
|
|
156
|
+
// Derive vault token account (ATA)
|
|
157
|
+
const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vault, atlasMint);
|
|
158
|
+
// Call Codama-generated claimRental instruction
|
|
159
|
+
const claimRentalIx = await (0, instructions_1.getClaimRentalInstructionAsync)({
|
|
160
|
+
borrower: borrowerSigner,
|
|
161
|
+
contract: (0, kit_1.address)(params.contract),
|
|
162
|
+
rentalState: rental,
|
|
163
|
+
fleet: (0, kit_1.address)(fleet),
|
|
164
|
+
starbase: gameAccounts.starbase,
|
|
165
|
+
starbasePlayer: gameAccounts.starbasePlayer,
|
|
166
|
+
borrowerProfile,
|
|
167
|
+
vault: (0, kit_1.address)(vault),
|
|
168
|
+
vaultTokenAccount,
|
|
169
|
+
referrer,
|
|
170
|
+
mint: atlasMint,
|
|
171
|
+
duration: BigInt(durationSeconds),
|
|
172
|
+
rentalSlot,
|
|
173
|
+
discountAuth
|
|
174
|
+
}, { programAddress });
|
|
175
|
+
// If auto-schedule is enabled, bundle scheduleRental instruction
|
|
176
|
+
if (shouldSchedule) {
|
|
177
|
+
const scheduleRentalIx = await (0, instructions_1.getScheduleRentalInstructionAsync)({
|
|
178
|
+
payer: borrowerSigner,
|
|
179
|
+
mint: atlasMint,
|
|
180
|
+
contract: (0, kit_1.address)(params.contract),
|
|
181
|
+
fleet: (0, kit_1.address)(fleet),
|
|
182
|
+
rentalState: rental,
|
|
183
|
+
rentalThread,
|
|
184
|
+
queuedThread,
|
|
185
|
+
borrowerProfileFaction: gameAccounts.profileFaction,
|
|
186
|
+
sageProgram,
|
|
187
|
+
rentalSlot,
|
|
188
|
+
}, { programAddress });
|
|
189
|
+
// Return both instructions as array
|
|
190
|
+
return (0, instructions_2.prepareInstructions)([claimRentalIx, scheduleRentalIx], {
|
|
191
|
+
computeUnits: params.computeUnits,
|
|
192
|
+
PublicKey: finalConfig.PublicKey
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
// Prepare single instruction with optional compute budget and web3.js conversion
|
|
196
|
+
return (0, instructions_2.prepareInstructions)(claimRentalIx, {
|
|
197
|
+
computeUnits: params.computeUnits,
|
|
198
|
+
PublicKey: finalConfig.PublicKey
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=claimRental.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claimRental.js","sourceRoot":"","sources":["../../../src/instructions/claimRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAiIH,kCA6KC;AA5SD,qCAAoD;AACpD,sCAAyC;AACzC,mEAAqH;AACrH,4CAA4E;AAC5E,4CAA4E;AAC5E,6CAAmE;AACnE,iDAAyE;AACzE,6CAA+C;AAC/C,mDAAqD;AACrD,+CAAiD;AACjD,sCAAiD;AACjD,wCAAwF;AACxF,wCAA4D;AAC5D,0CAAmD;AACnD,wDAA4D;AAC5D,2DAAkE;AAClE,wDAA6F;AA6E7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACI,KAAK,UAAU,WAAW,CAC/B,MAAyB,EACzB,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,+EAA+E;IAC/E,IAAI,eAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,oBAAoB,GAAG,MAAM,IAAA,2BAAmB,EAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,WAAW,CAAC,MAAM,IAAI,+BAA+B,CAAC,CAAC;QAC7E,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAkB,EAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QAC1E,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;QAEzD,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,UAAU,IAAI,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC3H,qDAAqD;YACrD,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC;QACxC,CAAC;aAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAClC,4DAA4D;YAC5D,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,eAA0B,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,4EAA4E;QAC5E,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,eAA0B,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;IAE1C,sCAAsC;IACtC,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;IACzC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;IAE3C,gCAAgC;IAChC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,oCAAoC,YAAY,8BAA8B,YAAY,iEAAiE,CAC5J,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAU,EAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IAEnC,wDAAwD;IACxD,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAkB,EAC3C,eAAe,EACf,OAAO,EACP,MAAM,CACP,CAAC;IAEF,+BAA+B;IAC/B,oDAAoD;IACpD,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;IAC7D,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,KAAK,iBAAiB,CAAC;IAC1E,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,KAAK,iBAAiB,CAAC;IAE1E,mDAAmD;IACnD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErC,0CAA0C;IAC1C,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAY,EAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAqB,GAAE,CAAC;IAEtD,8CAA8C;IAC9C,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAkB,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAEvE,0CAA0C;IAC1C,MAAM,eAAe,GAAG,MAAM,IAAA,oBAAY,EAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAkB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEhF,6BAA6B;IAC7B,MAAM,eAAe,GAAG,IAAA,0BAAe,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEzD,0EAA0E;IAC1E,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,wCAAwC;IACxC,IAAI,YAAY,GAAqC,IAAI,CAAC;IAC1D,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,YAAY,GAAG,IAAA,sCAAuB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,QAAQ,GAAwB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExG,iDAAiD;IACjD,8DAA8D;IAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAElF,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,MAAM,IAAA,oCAA4B,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAE/E,gDAAgD;IAChD,MAAM,aAAa,GAAG,MAAM,IAAA,6CAA8B,EACxD;QACE,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC;QAC7C,WAAW,EAAE,MAAM;QACnB,KAAK,EAAE,IAAA,aAAO,EAAC,KAAgB,CAAC;QAChC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,eAAe;QACf,KAAK,EAAE,IAAA,aAAO,EAAC,KAAgB,CAAC;QAChC,iBAAiB;QACjB,QAAQ;QACR,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;QACjC,UAAU;QACV,YAAY;KACb,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,iEAAiE;IACjE,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,gBAAgB,GAAG,MAAM,IAAA,gDAAiC,EAC9D;YACE,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC;YAC7C,KAAK,EAAE,IAAA,aAAO,EAAC,KAAgB,CAAC;YAChC,WAAW,EAAE,MAAM;YACnB,YAAY;YACZ,YAAY;YACZ,sBAAsB,EAAE,YAAY,CAAC,cAAc;YACnD,WAAW;YACX,UAAU;SACX,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;QAEF,oCAAoC;QACpC,OAAO,IAAA,kCAAmB,EAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE;YAC5D,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,OAAO,IAAA,kCAAmB,EAAC,aAAa,EAAE;QACxC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -12,6 +12,7 @@ const instructions_1 = require("../generated/codama/instructions");
|
|
|
12
12
|
const config_1 = require("../utils/config");
|
|
13
13
|
const signer_1 = require("../utils/signer");
|
|
14
14
|
const contract_1 = require("../accounts/contract");
|
|
15
|
+
const config_2 = require("../accounts/config");
|
|
15
16
|
const instructions_2 = require("../utils/instructions");
|
|
16
17
|
/**
|
|
17
18
|
* Close a rental contract
|
|
@@ -68,9 +69,10 @@ async function closeContract(params, config) {
|
|
|
68
69
|
}
|
|
69
70
|
// Convert owner to transaction signer
|
|
70
71
|
const ownerSigner = (0, signer_1.toTransactionSigner)(params.owner);
|
|
71
|
-
// Get
|
|
72
|
+
// Get atlasMint from on-chain config
|
|
73
|
+
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
74
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
72
75
|
const addresses = (0, config_1.getAddresses)(config);
|
|
73
|
-
const atlasMint = (0, kit_1.address)(addresses.atlasMint);
|
|
74
76
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
75
77
|
// Resolve fleet and contract addresses
|
|
76
78
|
let fleetAddress;
|
|
@@ -108,7 +110,6 @@ async function closeContract(params, config) {
|
|
|
108
110
|
owner: ownerSigner,
|
|
109
111
|
contract: contractAddress,
|
|
110
112
|
mint: atlasMint,
|
|
111
|
-
destinationTokenAccount,
|
|
112
113
|
fleet: fleetAddress,
|
|
113
114
|
sageProgram,
|
|
114
115
|
}, { programAddress });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.closeRental = closeRental;
|
|
10
10
|
const kit_1 = require("@solana/kit");
|
|
11
11
|
const instructions_1 = require("../generated/codama/instructions");
|
|
12
|
+
const accounts_1 = require("../generated/codama/accounts");
|
|
12
13
|
const config_1 = require("../utils/config");
|
|
13
14
|
const signer_1 = require("../utils/signer");
|
|
14
15
|
const contract_1 = require("../accounts/contract");
|
|
16
|
+
const config_2 = require("../accounts/config");
|
|
15
17
|
const fleet_1 = require("../accounts/fleet");
|
|
16
18
|
const sage_1 = require("../pda/sage");
|
|
17
19
|
const srsly_1 = require("../pda/srsly");
|
|
18
20
|
const thread_1 = require("../pda/thread");
|
|
19
21
|
const instructions_2 = require("../utils/instructions");
|
|
22
|
+
const rpc_1 = require("../utils/rpc");
|
|
23
|
+
const rental_1 = require("../utils/rental");
|
|
20
24
|
/**
|
|
21
25
|
* Close a rental
|
|
22
26
|
*
|
|
@@ -30,7 +34,7 @@ const instructions_2 = require("../utils/instructions");
|
|
|
30
34
|
* - Derives rental thread for automated payments
|
|
31
35
|
* - Codama auto-derives contractTokenAccount as ATA
|
|
32
36
|
*
|
|
33
|
-
* @param params - Rental closure parameters (payer,
|
|
37
|
+
* @param params - Rental closure parameters (payer, rentalSlot, contract)
|
|
34
38
|
* @param config - Optional SDK configuration overrides
|
|
35
39
|
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
36
40
|
*
|
|
@@ -38,7 +42,7 @@ const instructions_2 = require("../utils/instructions");
|
|
|
38
42
|
* ```typescript
|
|
39
43
|
* const ix = await closeRental({
|
|
40
44
|
* payer: ownerWallet,
|
|
41
|
-
*
|
|
45
|
+
* rentalSlot: 0,
|
|
42
46
|
* contract: contractAddress
|
|
43
47
|
* });
|
|
44
48
|
* ```
|
|
@@ -50,9 +54,6 @@ async function closeRental(params, config) {
|
|
|
50
54
|
if (!params.payer) {
|
|
51
55
|
throw new Error('payer is required');
|
|
52
56
|
}
|
|
53
|
-
if (!params.borrower) {
|
|
54
|
-
throw new Error('borrower is required');
|
|
55
|
-
}
|
|
56
57
|
if (!params.contract) {
|
|
57
58
|
throw new Error('contract is required');
|
|
58
59
|
}
|
|
@@ -63,6 +64,9 @@ async function closeRental(params, config) {
|
|
|
63
64
|
const gameId = contractAccount.data.gameId;
|
|
64
65
|
// Convert payer to transaction signer
|
|
65
66
|
const payerSigner = (0, signer_1.toTransactionSigner)(params.payer);
|
|
67
|
+
// Auto-detect rental slot if not provided
|
|
68
|
+
const rentalSlot = params.rentalSlot ?? (0, rental_1.requireExistingRentalSlot)(contractAccount.data);
|
|
69
|
+
const otherSlot = rentalSlot === 0 ? 1 : 0;
|
|
66
70
|
// Fetch fleet data to get faction (for SAGE account derivation)
|
|
67
71
|
const fleetState = await (0, fleet_1.fetchFleet)(fleet, finalConfig.rpcUrl);
|
|
68
72
|
const faction = fleetState.faction;
|
|
@@ -70,32 +74,58 @@ async function closeRental(params, config) {
|
|
|
70
74
|
// Derive SAGE game accounts (we need owner's profile for starbase player)
|
|
71
75
|
const gameAccounts = await (0, sage_1.deriveGameAccounts)(ownerProfile, faction, gameId);
|
|
72
76
|
// Derive rental and rental authority PDAs
|
|
73
|
-
const rental = await (0, srsly_1.deriveRental)(params.contract,
|
|
77
|
+
const rental = await (0, srsly_1.deriveRental)(params.contract, rentalSlot);
|
|
74
78
|
const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
|
|
79
|
+
// Get borrower - use provided value, or fetch from rental state, or fall back to payer
|
|
80
|
+
let borrower;
|
|
81
|
+
if (params.borrower) {
|
|
82
|
+
borrower = params.borrower;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
// Try to fetch from rental state
|
|
86
|
+
try {
|
|
87
|
+
const rpc = (0, rpc_1.createRpc)(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
|
|
88
|
+
const rentalState = await (0, accounts_1.fetchRentalState)(rpc, rental);
|
|
89
|
+
borrower = rentalState.data.borrower;
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
// Rental state doesn't exist, fall back to payer
|
|
93
|
+
borrower = payerSigner.address;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
75
96
|
// Derive borrower state PDA
|
|
76
|
-
const borrowerState = await (0, srsly_1.deriveBorrowerState)(
|
|
97
|
+
const borrowerState = await (0, srsly_1.deriveBorrowerState)(borrower);
|
|
77
98
|
// Derive rental thread for automated payments
|
|
78
99
|
const rentalThread = await (0, thread_1.deriveRentalThread)(rental, rentalAuthority);
|
|
79
|
-
// Get
|
|
100
|
+
// Get atlasMint from on-chain config
|
|
101
|
+
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
102
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
80
103
|
const addresses = (0, config_1.getAddresses)(config);
|
|
81
|
-
const atlasMint = (0, kit_1.address)(addresses.atlasMint);
|
|
82
104
|
const sageProgram = (0, kit_1.address)(addresses.sage);
|
|
83
105
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
106
|
+
// Derive queuedThread from the other slot's rental
|
|
107
|
+
const otherSlotRental = await (0, srsly_1.deriveRental)(params.contract, otherSlot);
|
|
108
|
+
const queuedThread = await (0, thread_1.deriveRentalThread)(otherSlotRental, rentalAuthority);
|
|
109
|
+
// Derive ownerState PDA from owner address
|
|
110
|
+
const ownerState = await (0, srsly_1.deriveOwnerState)(owner);
|
|
84
111
|
// Call Codama-generated instruction
|
|
85
|
-
// Note:
|
|
112
|
+
// Note: ownerTokenAccount is auto-derived by Codama as ATA for ownerState + mint
|
|
86
113
|
const kitInstruction = await (0, instructions_1.getCloseRentalInstructionAsync)({
|
|
87
114
|
payer: payerSigner,
|
|
88
115
|
mint: atlasMint,
|
|
89
|
-
borrower: (0, kit_1.address)(
|
|
116
|
+
borrower: (0, kit_1.address)(borrower),
|
|
90
117
|
borrowerState,
|
|
91
|
-
|
|
118
|
+
ownerState,
|
|
92
119
|
contract: (0, kit_1.address)(params.contract),
|
|
120
|
+
rentalState: rental,
|
|
93
121
|
rentalThread,
|
|
94
122
|
fleet: (0, kit_1.address)(fleet),
|
|
95
123
|
gameId: (0, kit_1.address)(gameId),
|
|
96
124
|
starbase: gameAccounts.starbase,
|
|
97
125
|
starbasePlayer: gameAccounts.starbasePlayer,
|
|
126
|
+
queuedThread,
|
|
98
127
|
sageProgram,
|
|
128
|
+
rentalSlot,
|
|
99
129
|
}, { programAddress });
|
|
100
130
|
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
101
131
|
computeUnits: params.computeUnits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA+EH,kCA2GC;AAxLD,qCAAoD;AACpD,mEAAkF;AAClF,2DAAgE;AAChE,4CAA4E;AAC5E,4CAA4E;AAC5E,mDAAqD;AACrD,+CAAiD;AACjD,6CAA+C;AAC/C,sCAAiD;AACjD,wCAA0G;AAC1G,0CAAmD;AACnD,wDAA4D;AAC5D,sCAAyC;AACzC,4CAA4D;AAsC5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,WAAW,CAC/B,MAAyB,EACzB,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,6CAA6C;IAC7C,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;IACzC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;IACzC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;IAE3C,sCAAsC;IACtC,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,0CAA0C;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAA,kCAAyB,EAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACxF,MAAM,SAAS,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3C,gEAAgE;IAChE,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAU,EAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACnC,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAE7C,0EAA0E;IAC1E,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAkB,EAC3C,YAAY,EACZ,OAAO,EACP,MAAM,CACP,CAAC;IAEF,0CAA0C;IAC1C,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAY,EAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAqB,GAAE,CAAC;IAEtD,uFAAuF;IACvF,IAAI,QAA0B,CAAC;IAC/B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,iCAAiC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,WAAW,CAAC,MAAM,IAAI,+BAA+B,CAAC,CAAC;YAC7E,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxD,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;YACjD,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;QACjC,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAmB,EAAC,QAAQ,CAAC,CAAC;IAE1D,8CAA8C;IAC9C,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAkB,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAEvE,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,mDAAmD;IACnD,MAAM,eAAe,GAAG,MAAM,IAAA,oBAAY,EAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAkB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEhF,2CAA2C;IAC3C,MAAM,UAAU,GAAG,MAAM,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;IAEjD,oCAAoC;IACpC,iFAAiF;IACjF,MAAM,cAAc,GAAG,MAAM,IAAA,6CAA8B,EACzD;QACE,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAA,aAAO,EAAC,QAAmB,CAAC;QACtC,aAAa;QACb,UAAU;QACV,QAAQ,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC;QAC7C,WAAW,EAAE,MAAM;QACnB,YAAY;QACZ,KAAK,EAAE,IAAA,aAAO,EAAC,KAAgB,CAAC;QAChC,MAAM,EAAE,IAAA,aAAO,EAAC,MAAiB,CAAC;QAClC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,YAAY;QACZ,WAAW;QACX,UAAU;KACX,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Create a pending affiliate (Affiliate member) for SRSLY vault
|
|
4
|
+
*
|
|
5
|
+
* Wraps slyvault's initMember instruction with Affiliate type pre-configured.
|
|
6
|
+
* Auto-fetches vault and nonce from parent member state.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.createAffiliate = createAffiliate;
|
|
10
|
+
const kit_1 = require("@solana/kit");
|
|
11
|
+
const slyvault_1 = require("@wuwei-labs/slyvault");
|
|
12
|
+
const config_1 = require("../utils/config");
|
|
13
|
+
/**
|
|
14
|
+
* Create a pending affiliate (Affiliate member)
|
|
15
|
+
*
|
|
16
|
+
* Creates a new Affiliate member state that references a parent Normal member.
|
|
17
|
+
* The affiliate must be approved by the parent member's authority using approveAffiliate.
|
|
18
|
+
*
|
|
19
|
+
* This function auto-fetches the vault address and parent member nonce from the
|
|
20
|
+
* parent member state, making it easier to use than the underlying initMember.
|
|
21
|
+
*
|
|
22
|
+
* @param params - Affiliate creation parameters
|
|
23
|
+
* @param config - Optional SDK configuration overrides
|
|
24
|
+
* @returns Prepared instruction(s)
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* import { createAffiliate } from '@wuwei-labs/srsly';
|
|
29
|
+
*
|
|
30
|
+
* // Create affiliate linked to parent member
|
|
31
|
+
* const ix = await createAffiliate({
|
|
32
|
+
* affiliate: wallet,
|
|
33
|
+
* parentMemberState: "PARENT_MEMBER_STATE_PDA",
|
|
34
|
+
* discountAuthority: "OPTIONAL_DISCOUNT_SIGNER", // optional, defaults to main authority
|
|
35
|
+
* // vault and nonce are auto-fetched from parent state
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
async function createAffiliate(params, config) {
|
|
40
|
+
const finalConfig = (0, config_1.mergeConfig)(config);
|
|
41
|
+
if (!params.affiliate)
|
|
42
|
+
throw new Error('affiliate is required');
|
|
43
|
+
if (!params.parentMemberState)
|
|
44
|
+
throw new Error('parentMemberState is required');
|
|
45
|
+
// Fetch parent member state to get vault and nonce
|
|
46
|
+
const { data: parentState } = await (0, slyvault_1.fetchMember)((0, kit_1.address)(params.parentMemberState), finalConfig.rpcUrl);
|
|
47
|
+
// Validate parent is Normal type with affiliateEnabled
|
|
48
|
+
if (parentState.memberType.__kind !== 'Normal') {
|
|
49
|
+
throw new Error('Parent member is not a Normal member type');
|
|
50
|
+
}
|
|
51
|
+
if (!parentState.memberType.affiliateEnabled) {
|
|
52
|
+
throw new Error('Parent member does not have affiliates enabled');
|
|
53
|
+
}
|
|
54
|
+
// Get vault and nonce from parent state
|
|
55
|
+
const vaultAddress = parentState.vault;
|
|
56
|
+
const parentNonce = parentState.nonce;
|
|
57
|
+
// Call slyvault initMember with Affiliate type pre-configured
|
|
58
|
+
return (0, slyvault_1.initMember)({
|
|
59
|
+
member: params.affiliate,
|
|
60
|
+
vault: vaultAddress,
|
|
61
|
+
nonce: params.nonce,
|
|
62
|
+
memberType: {
|
|
63
|
+
__kind: 'Affiliate',
|
|
64
|
+
parentMemberNonce: parentNonce,
|
|
65
|
+
percentageBps: 0,
|
|
66
|
+
claimableBalance: 0n,
|
|
67
|
+
isActive: false,
|
|
68
|
+
},
|
|
69
|
+
discountAuthority: params.discountAuthority,
|
|
70
|
+
computeUnits: params.computeUnits,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=createAffiliate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAffiliate.js","sourceRoot":"","sources":["../../../src/instructions/createAffiliate.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAsEH,0CA0CC;AA9GD,qCAAoD;AACpD,mDAI8B;AAC9B,4CAA8D;AAoC9D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,eAAe,CACnC,MAA6B,EAC7B,MAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,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,IAAA,sBAAW,EAC7C,IAAA,aAAO,EAAC,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,IAAA,qBAAU,EAAC;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"}
|
|
@@ -48,10 +48,18 @@ async function createConfig(params, config) {
|
|
|
48
48
|
if (!params.vaultTokenAccount) {
|
|
49
49
|
throw new Error('vaultTokenAccount is required');
|
|
50
50
|
}
|
|
51
|
+
if (!params.lookupTable) {
|
|
52
|
+
throw new Error('lookupTable is required');
|
|
53
|
+
}
|
|
54
|
+
if (params.recentSlot === undefined || params.recentSlot === null) {
|
|
55
|
+
throw new Error('recentSlot is required');
|
|
56
|
+
}
|
|
51
57
|
// Get network-specific addresses
|
|
52
58
|
const addresses = (0, config_1.getAddresses)(config);
|
|
53
59
|
const atlasMint = (0, kit_1.address)(addresses.atlasMint);
|
|
54
60
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
61
|
+
const sageProgram = (0, kit_1.address)(addresses.sage);
|
|
62
|
+
const antegenProgram = (0, kit_1.address)(addresses.antegen);
|
|
55
63
|
// Convert authority to TransactionSigner
|
|
56
64
|
// Handles both real signers (CLI/backend) and addresses (browser/wallet)
|
|
57
65
|
const authoritySigner = params.authority
|
|
@@ -64,7 +72,11 @@ async function createConfig(params, config) {
|
|
|
64
72
|
mint: atlasMint,
|
|
65
73
|
vault: (0, kit_1.address)(params.vault),
|
|
66
74
|
vaultTokenAccount: (0, kit_1.address)(params.vaultTokenAccount),
|
|
75
|
+
lookupTable: (0, kit_1.address)(params.lookupTable),
|
|
76
|
+
sageProgram,
|
|
77
|
+
antegenProgram,
|
|
67
78
|
srslyProgram: programAddress,
|
|
79
|
+
recentSlot: BigInt(params.recentSlot),
|
|
68
80
|
}, { programAddress });
|
|
69
81
|
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
70
82
|
computeUnits: params.computeUnits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../../../src/instructions/createConfig.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../../../src/instructions/createConfig.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA2EH,oCAuDC;AAhID,qCAAoD;AACpD,mEAAmF;AACnF,4CAA4E;AAC5E,4CAA4E;AAE5E,wDAA4D;AA0C5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,OAAkB,CAAC,CAAC;IAE7D,yCAAyC;IACzC,yEAAyE;IACzE,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS;QACtC,CAAC,CAAC,IAAA,4BAAmB,EAAC,MAAM,CAAC,SAAS,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC;IAEd,oCAAoC;IACpC,8EAA8E;IAC9E,MAAM,cAAc,GAAG,MAAM,IAAA,8CAA+B,EAC1D;QACE,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,iBAAiB,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,iBAA4B,CAAC;QAC/D,WAAW,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,WAAsB,CAAC;QACnD,WAAW;QACX,cAAc;QACd,YAAY,EAAE,cAAc;QAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;KACtC,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -15,6 +15,7 @@ const amount_1 = require("../params/amount");
|
|
|
15
15
|
const duration_1 = require("../params/duration");
|
|
16
16
|
const schedule_1 = require("../params/schedule");
|
|
17
17
|
const fleet_1 = require("../accounts/fleet");
|
|
18
|
+
const config_2 = require("../accounts/config");
|
|
18
19
|
const instructions_2 = require("../utils/instructions");
|
|
19
20
|
/**
|
|
20
21
|
* Create a rental contract for a Star Atlas fleet
|
|
@@ -102,11 +103,16 @@ async function createContract(params, config) {
|
|
|
102
103
|
if (durationMaxSeconds < durationMinSeconds) {
|
|
103
104
|
throw new Error(`durationMax (${durationMaxSeconds}s) must be >= durationMin (${durationMinSeconds}s)`);
|
|
104
105
|
}
|
|
105
|
-
// Get
|
|
106
|
+
// Get atlasMint from on-chain config
|
|
107
|
+
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
108
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
106
109
|
const addresses = (0, config_1.getAddresses)(config);
|
|
107
|
-
const atlasMint = (0, kit_1.address)(addresses.atlasMint);
|
|
108
110
|
const sageProgram = (0, kit_1.address)(addresses.sage);
|
|
109
111
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
112
|
+
// Convert cancelDelayMin duration to seconds
|
|
113
|
+
const cancelDelayMinSeconds = params.cancelDelayMin
|
|
114
|
+
? BigInt((0, duration_1.convertDuration)(params.cancelDelayMin))
|
|
115
|
+
: 1n; // Default 1 second (no instant cancel)
|
|
110
116
|
// Call Codama-generated instruction
|
|
111
117
|
const kitInstruction = await (0, instructions_1.getCreateContractInstructionAsync)({
|
|
112
118
|
owner: ownerSigner,
|
|
@@ -118,10 +124,11 @@ async function createContract(params, config) {
|
|
|
118
124
|
rate: rateStardust,
|
|
119
125
|
durationMin: BigInt(durationMinSeconds),
|
|
120
126
|
durationMax: BigInt(durationMaxSeconds),
|
|
121
|
-
|
|
127
|
+
paymentsFreq: normalizedSchedule,
|
|
122
128
|
ownerKeyIndex: params.ownerKeyIndex ?? 0,
|
|
123
|
-
|
|
124
|
-
reservationsDisabled: params.
|
|
129
|
+
cancelDelayMin: cancelDelayMinSeconds,
|
|
130
|
+
reservationsDisabled: params.reservationsDisabled ?? true,
|
|
131
|
+
automationRequired: params.automationRequired ?? true
|
|
125
132
|
}, { programAddress });
|
|
126
133
|
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
127
134
|
computeUnits: params.computeUnits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContract.js","sourceRoot":"","sources":["../../../src/instructions/createContract.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"createContract.js","sourceRoot":"","sources":["../../../src/instructions/createContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ const instructions_1 = require("../generated/codama/instructions");
|
|
|
15
15
|
const config_1 = require("../utils/config");
|
|
16
16
|
const signer_1 = require("../utils/signer");
|
|
17
17
|
const instructions_2 = require("../utils/instructions");
|
|
18
|
+
const config_2 = require("../accounts/config");
|
|
18
19
|
const slyvault_1 = require("../pda/slyvault");
|
|
19
20
|
/**
|
|
20
21
|
* Delete program configuration
|
|
@@ -53,17 +54,27 @@ async function deleteConfig(params, config) {
|
|
|
53
54
|
if (!addresses.srsly || addresses.srsly === 'undefined') {
|
|
54
55
|
throw new Error(`Invalid SRSLY program address: ${addresses.srsly}. SDK config may not be initialized properly.`);
|
|
55
56
|
}
|
|
56
|
-
if (!params.mint) {
|
|
57
|
-
throw new Error('mint is required for vault derivation');
|
|
58
|
-
}
|
|
59
57
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
60
|
-
|
|
58
|
+
// Resolve mint: explicit param > on-chain config > hardcoded fallback
|
|
59
|
+
let mintAddress;
|
|
60
|
+
if (params.mint) {
|
|
61
|
+
mintAddress = (0, kit_1.address)(params.mint);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
try {
|
|
65
|
+
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
66
|
+
mintAddress = configAccount.data.atlasMint;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
mintAddress = (0, kit_1.address)(addresses.atlasMint);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
61
72
|
// Convert authority to TransactionSigner if provided
|
|
62
73
|
const authoritySigner = params.authority
|
|
63
74
|
? (0, signer_1.toTransactionSigner)(params.authority)
|
|
64
75
|
: undefined;
|
|
65
76
|
// Derive vault PDA (creator = SRSLY program)
|
|
66
|
-
const { vault, vaultTokenAccount } = await (0, slyvault_1.
|
|
77
|
+
const { vault, vaultTokenAccount } = await (0, slyvault_1.deriveVault)(programAddress, mintAddress);
|
|
67
78
|
// Call Codama-generated instruction
|
|
68
79
|
const kitInstruction = await (0, instructions_1.getDeleteConfigInstructionAsync)({
|
|
69
80
|
authority: authoritySigner,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteConfig.js","sourceRoot":"","sources":["../../../src/instructions/deleteConfig.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;
|
|
1
|
+
{"version":3,"file":"deleteConfig.js","sourceRoot":"","sources":["../../../src/instructions/deleteConfig.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAgEH,oCAuDC;AArHD,qCAAoD;AACpD,mEAAmF;AACnF,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,+CAAiD;AACjD,8CAA8C;AA2B9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACI,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,CAAC,KAAK,+CAA+C,CAAC,CAAC;IACpH,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,sEAAsE;IACtE,IAAI,WAAoB,CAAC;IACzB,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,WAAW,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5D,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS;QACtC,CAAC,CAAC,IAAA,4BAAmB,EAAC,MAAM,CAAC,SAAS,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC;IAEd,6CAA6C;IAC7C,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAA,sBAAW,EACpD,cAAc,EACd,WAAW,CACZ,CAAC;IAEF,oCAAoC;IACpC,MAAM,cAAc,GAAG,MAAM,IAAA,8CAA+B,EAC1D;QACE,SAAS,EAAE,eAAe;QAC1B,KAAK;QACL,iBAAiB;QACjB,IAAI,EAAE,WAAW;KAClB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|