@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 @@
|
|
|
1
|
+
{"version":3,"file":"instructionResult.js","sourceRoot":"","sources":["../../../src/utils/instructionResult.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,qCAAmE;AAenE;;GAEG;AACH,SAAS,eAAe,CACtB,WAAwB,EACxB,SAA2C;IAE3C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;IAElD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,qBAAqB;YAC3D,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB;SACvD,CAAC,CAAC;QACH,SAAS,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,iBAAiB;IACnB,YAAY,CAAgB;IAErC,YAAY,YAA2B;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CACN,SAA4C;QAE5C,MAAM,EAAE,GAAG,SAAS,IAAI,IAAA,qBAAY,GAAE,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CACb,6GAA6G,CAC9G,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9C,CAAC;CACF;AAlCD,8CAkCC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Shared utilities for preparing instructions with compute budget
|
|
3
|
+
* Shared utilities for preparing instructions with compute budget
|
|
4
4
|
* @module utils/instructions
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.prepareInstructions = prepareInstructions;
|
|
8
|
-
const
|
|
8
|
+
const instructionResult_1 = require("./instructionResult");
|
|
9
9
|
/**
|
|
10
10
|
* Compute Budget Program ID
|
|
11
11
|
*/
|
|
@@ -18,7 +18,7 @@ const SET_COMPUTE_UNIT_LIMIT_DISCRIMINATOR = 0x02;
|
|
|
18
18
|
* Create a SetComputeUnitLimit instruction manually
|
|
19
19
|
*
|
|
20
20
|
* @param units - Compute units to allocate
|
|
21
|
-
* @returns
|
|
21
|
+
* @returns Instruction for setting compute unit limit
|
|
22
22
|
*/
|
|
23
23
|
function createComputeBudgetInstruction(units) {
|
|
24
24
|
// Encode u32 in little-endian format
|
|
@@ -39,26 +39,25 @@ function createComputeBudgetInstruction(units) {
|
|
|
39
39
|
* This utility handles the common workflow of:
|
|
40
40
|
* 1. Normalizing single instruction to array
|
|
41
41
|
* 2. Optionally prepending compute budget instruction
|
|
42
|
-
* 3.
|
|
42
|
+
* 3. Returning an InstructionResult that can be used directly with @solana/kit
|
|
43
|
+
* or converted to web3.js format via .toLegacy()
|
|
43
44
|
*
|
|
44
45
|
* @param instructions - Single instruction or array of instructions
|
|
45
|
-
* @param options - Optional configuration for compute budget
|
|
46
|
-
* @returns
|
|
46
|
+
* @param options - Optional configuration for compute budget
|
|
47
|
+
* @returns InstructionResult (extends Instruction[], has .toLegacy() method)
|
|
47
48
|
*
|
|
48
49
|
* @example
|
|
49
50
|
* ```typescript
|
|
50
|
-
* //
|
|
51
|
+
* // Kit users - use result directly as Instruction[]
|
|
51
52
|
* const ixs = prepareInstructions(acceptRentalIx);
|
|
53
|
+
* // ixs works with appendTransactionMessageInstruction()
|
|
52
54
|
*
|
|
53
55
|
* // Add compute budget
|
|
54
56
|
* const ixs = prepareInstructions(acceptRentalIx, { computeUnits: 400_000 });
|
|
55
57
|
*
|
|
56
|
-
* //
|
|
58
|
+
* // Web3.js users - call .toLegacy()
|
|
57
59
|
* import { PublicKey } from '@solana/web3.js';
|
|
58
|
-
* const
|
|
59
|
-
*
|
|
60
|
-
* // Both compute budget and web3.js conversion
|
|
61
|
-
* const ixs = prepareInstructions(acceptRentalIx, { computeUnits: 400_000, PublicKey });
|
|
60
|
+
* const legacyIxs = prepareInstructions(acceptRentalIx).toLegacy(PublicKey);
|
|
62
61
|
* ```
|
|
63
62
|
*/
|
|
64
63
|
function prepareInstructions(instructions, options) {
|
|
@@ -70,10 +69,6 @@ function prepareInstructions(instructions, options) {
|
|
|
70
69
|
const computeBudgetIx = createComputeBudgetInstruction(options.computeUnits);
|
|
71
70
|
finalIxs = [computeBudgetIx, ...ixArray];
|
|
72
71
|
}
|
|
73
|
-
|
|
74
|
-
if (options?.PublicKey) {
|
|
75
|
-
return finalIxs.map(ix => (0, web3js_1.toWeb3Instruction)(ix, options.PublicKey));
|
|
76
|
-
}
|
|
77
|
-
return finalIxs;
|
|
72
|
+
return new instructionResult_1.InstructionResult(finalIxs);
|
|
78
73
|
}
|
|
79
74
|
//# sourceMappingURL=instructions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../src/utils/instructions.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../src/utils/instructions.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAgFH,kDAeC;AA5FD,2DAAwD;AAExD;;GAEG;AACH,MAAM,sBAAsB,GAAG,6CAAwD,CAAC;AAExF;;GAEG;AACH,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAElD;;;;;GAKG;AACH,SAAS,8BAA8B,CAAC,KAAa;IACnD,qCAAqC;IACrC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,CAAC,GAAG,oCAAoC,CAAC;IAC/C,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAE/B,OAAO;QACL,cAAc,EAAE,sBAAsB;QACtC,IAAI;KACL,CAAC;AACJ,CAAC;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,mBAAmB,CACjC,YAAyC,EACzC,OAAoC;IAEpC,qBAAqB;IACrB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAE5E,gDAAgD;IAChD,IAAI,QAAQ,GAAkB,OAAO,CAAC;IACtC,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,8BAA8B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7E,QAAQ,GAAG,CAAC,eAAe,EAAE,GAAG,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,qCAAiB,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Address Lookup Table utilities for SRSLY
|
|
4
|
+
*
|
|
5
|
+
* Provides helpers for fetching and using the SRSLY Address Lookup Table
|
|
6
|
+
* to reduce transaction size for rental operations.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.fetchLookupTable = fetchLookupTable;
|
|
10
|
+
exports.getLookupTableAddress = getLookupTableAddress;
|
|
11
|
+
const config_1 = require("../accounts/config");
|
|
12
|
+
const rpc_1 = require("./rpc");
|
|
13
|
+
const config_2 = require("./config");
|
|
14
|
+
/**
|
|
15
|
+
* System program address used as default when ALT not configured
|
|
16
|
+
*/
|
|
17
|
+
const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
|
|
18
|
+
/**
|
|
19
|
+
* Fetch the SRSLY Address Lookup Table from chain
|
|
20
|
+
*
|
|
21
|
+
* The ALT contains static addresses used across all rental operations,
|
|
22
|
+
* reducing transaction size by ~310 bytes when used with versioned transactions.
|
|
23
|
+
*
|
|
24
|
+
* @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
|
|
25
|
+
* @returns ALT data with addresses, or null if ALT not configured
|
|
26
|
+
* @throws Error if fetch fails
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Fetch ALT using global config RPC
|
|
31
|
+
* const alt = await fetchLookupTable();
|
|
32
|
+
* if (alt) {
|
|
33
|
+
* console.log('ALT address:', alt.address);
|
|
34
|
+
* console.log('Contains', alt.addresses.length, 'addresses');
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
async function fetchLookupTable(rpcUrl) {
|
|
39
|
+
try {
|
|
40
|
+
// Fetch config to get ALT address
|
|
41
|
+
const config = await (0, config_1.fetchConfig)(rpcUrl);
|
|
42
|
+
const altAddress = config.data.lookupTable;
|
|
43
|
+
// Return null if ALT not configured (default pubkey)
|
|
44
|
+
if (altAddress === SYSTEM_PROGRAM_ID) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
// Fetch ALT account data
|
|
48
|
+
const resolvedRpcUrl = rpcUrl || (0, config_2.getRpcUrl)();
|
|
49
|
+
const rpc = (0, rpc_1.createRpc)(resolvedRpcUrl);
|
|
50
|
+
const accountInfo = await rpc
|
|
51
|
+
.getAccountInfo(altAddress, { encoding: 'base64' })
|
|
52
|
+
.send();
|
|
53
|
+
if (!accountInfo.value) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
// Decode ALT data
|
|
57
|
+
// ALT format: https://docs.solanalabs.com/implemented-proposals/address-lookup-table
|
|
58
|
+
// Header: 56 bytes (discriminator, deactivation_slot, last_extended_slot, etc.)
|
|
59
|
+
// Addresses: remaining bytes, 32 bytes each
|
|
60
|
+
const data = base64ToUint8Array(accountInfo.value.data[0]);
|
|
61
|
+
// Skip 56-byte header to get to addresses
|
|
62
|
+
const HEADER_SIZE = 56;
|
|
63
|
+
const ADDRESS_SIZE = 32;
|
|
64
|
+
const addresses = [];
|
|
65
|
+
for (let i = HEADER_SIZE; i < data.length; i += ADDRESS_SIZE) {
|
|
66
|
+
const addressBytes = data.subarray(i, i + ADDRESS_SIZE);
|
|
67
|
+
// Convert to base58 address string
|
|
68
|
+
addresses.push(bs58Encode(addressBytes));
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
address: altAddress,
|
|
72
|
+
addresses,
|
|
73
|
+
isActive: addresses.length > 0
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
throw new Error(`Failed to fetch lookup table: ${error.message}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get the ALT address from config without fetching full ALT data
|
|
82
|
+
*
|
|
83
|
+
* @param rpcUrl - Optional RPC endpoint URL
|
|
84
|
+
* @returns ALT address, or null if not configured
|
|
85
|
+
*/
|
|
86
|
+
async function getLookupTableAddress(rpcUrl) {
|
|
87
|
+
const config = await (0, config_1.fetchConfig)(rpcUrl);
|
|
88
|
+
const altAddress = config.data.lookupTable;
|
|
89
|
+
if (altAddress === SYSTEM_PROGRAM_ID) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
return altAddress;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Browser-compatible base64 to Uint8Array decoder
|
|
96
|
+
* Uses atob which is available in browsers and Node.js 16+
|
|
97
|
+
*/
|
|
98
|
+
function base64ToUint8Array(base64) {
|
|
99
|
+
const binaryString = atob(base64);
|
|
100
|
+
const bytes = new Uint8Array(binaryString.length);
|
|
101
|
+
for (let i = 0; i < binaryString.length; i++) {
|
|
102
|
+
bytes[i] = binaryString.charCodeAt(i);
|
|
103
|
+
}
|
|
104
|
+
return bytes;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Simple base58 encoder for address bytes
|
|
108
|
+
* Using a minimal implementation to avoid additional dependencies
|
|
109
|
+
*/
|
|
110
|
+
function bs58Encode(bytes) {
|
|
111
|
+
const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
112
|
+
const BASE = 58;
|
|
113
|
+
if (bytes.length === 0)
|
|
114
|
+
return '';
|
|
115
|
+
// Count leading zeros
|
|
116
|
+
let zeros = 0;
|
|
117
|
+
while (zeros < bytes.length && bytes[zeros] === 0) {
|
|
118
|
+
zeros++;
|
|
119
|
+
}
|
|
120
|
+
// Convert to base58
|
|
121
|
+
const input = Array.from(bytes);
|
|
122
|
+
const encoded = [];
|
|
123
|
+
for (const byte of input) {
|
|
124
|
+
let carry = byte;
|
|
125
|
+
for (let i = 0; i < encoded.length; i++) {
|
|
126
|
+
carry += encoded[i] << 8;
|
|
127
|
+
encoded[i] = carry % BASE;
|
|
128
|
+
carry = Math.floor(carry / BASE);
|
|
129
|
+
}
|
|
130
|
+
while (carry > 0) {
|
|
131
|
+
encoded.push(carry % BASE);
|
|
132
|
+
carry = Math.floor(carry / BASE);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Add leading zeros
|
|
136
|
+
let result = ALPHABET[0].repeat(zeros);
|
|
137
|
+
// Convert to string (encoded is in reverse order)
|
|
138
|
+
for (let i = encoded.length - 1; i >= 0; i--) {
|
|
139
|
+
result += ALPHABET[encoded[i]];
|
|
140
|
+
}
|
|
141
|
+
return result;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=lookupTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookupTable.js","sourceRoot":"","sources":["../../../src/utils/lookupTable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Rental utility functions
|
|
4
|
+
* @module utils/rental
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.findExistingRentalSlot = findExistingRentalSlot;
|
|
8
|
+
exports.requireExistingRentalSlot = requireExistingRentalSlot;
|
|
9
|
+
exports.findBorrowerRentalSlot = findBorrowerRentalSlot;
|
|
10
|
+
exports.requireBorrowerRentalSlot = requireBorrowerRentalSlot;
|
|
11
|
+
const accounts_1 = require("../generated/codama/accounts");
|
|
12
|
+
const srsly_1 = require("../pda/srsly");
|
|
13
|
+
const rpc_1 = require("./rpc");
|
|
14
|
+
// System program ID constant
|
|
15
|
+
const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
|
|
16
|
+
/**
|
|
17
|
+
* Find which slot has an existing rental from contract data.
|
|
18
|
+
*
|
|
19
|
+
* Uses the contract's rentalSlot0/rentalSlot1 fields to determine which slot has a rental.
|
|
20
|
+
* If both slots have rentals, returns the active slot.
|
|
21
|
+
* If only one slot has a rental, returns that slot.
|
|
22
|
+
*
|
|
23
|
+
* @param contractData - Object with rentalSlot0, rentalSlot1, and activeSlot fields
|
|
24
|
+
* @returns The slot number (0 or 1) if found, undefined if no rentals exist
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const contract = await fetchContract(contractAddress, rpcUrl);
|
|
29
|
+
* const slot = findExistingRentalSlot(contract.data);
|
|
30
|
+
* if (slot !== undefined) {
|
|
31
|
+
* console.log(`Found rental at slot ${slot}`);
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
function findExistingRentalSlot(contractData) {
|
|
36
|
+
const slot0HasRental = contractData.rentalSlot0 !== SYSTEM_PROGRAM_ID;
|
|
37
|
+
const slot1HasRental = contractData.rentalSlot1 !== SYSTEM_PROGRAM_ID;
|
|
38
|
+
if (slot0HasRental && slot1HasRental) {
|
|
39
|
+
// Both slots have rentals, return the active one
|
|
40
|
+
return contractData.activeSlot;
|
|
41
|
+
}
|
|
42
|
+
else if (slot0HasRental) {
|
|
43
|
+
return 0;
|
|
44
|
+
}
|
|
45
|
+
else if (slot1HasRental) {
|
|
46
|
+
return 1;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Find which slot has an existing rental, throwing if none found.
|
|
52
|
+
*
|
|
53
|
+
* @param contractData - Object with rentalSlot0, rentalSlot1, and activeSlot fields
|
|
54
|
+
* @returns The slot number (0 or 1)
|
|
55
|
+
* @throws Error if no rental exists on this contract
|
|
56
|
+
*/
|
|
57
|
+
function requireExistingRentalSlot(contractData) {
|
|
58
|
+
const slot = findExistingRentalSlot(contractData);
|
|
59
|
+
if (slot === undefined) {
|
|
60
|
+
throw new Error('No rental exists on this contract');
|
|
61
|
+
}
|
|
62
|
+
return slot;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Find which rental slot belongs to a borrower on a contract.
|
|
66
|
+
*
|
|
67
|
+
* Checks both slot 0 and slot 1 to find the rental that belongs to the borrower.
|
|
68
|
+
* Useful for operations like cancel where the borrower can only act on their own rental.
|
|
69
|
+
*
|
|
70
|
+
* @param contract - The contract address
|
|
71
|
+
* @param borrower - The borrower address to search for
|
|
72
|
+
* @param rpcUrl - RPC URL to use for fetching rental states
|
|
73
|
+
* @returns The slot number (0 or 1) if found, undefined if no rental exists for this borrower
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* const slot = await findBorrowerRentalSlot(contractAddress, borrowerAddress, rpcUrl);
|
|
78
|
+
* if (slot !== undefined) {
|
|
79
|
+
* console.log(`Borrower has rental at slot ${slot}`);
|
|
80
|
+
* }
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
async function findBorrowerRentalSlot(contract, borrower, rpcUrl) {
|
|
84
|
+
const rpc = (0, rpc_1.createRpc)(rpcUrl);
|
|
85
|
+
// Address type is a branded string, so we can compare directly
|
|
86
|
+
const borrowerStr = typeof borrower === 'string' ? borrower : borrower;
|
|
87
|
+
// Try slot 0 first
|
|
88
|
+
try {
|
|
89
|
+
const rental0 = await (0, srsly_1.deriveRental)(contract, 0);
|
|
90
|
+
const rentalState0 = await (0, accounts_1.fetchRentalState)(rpc, rental0);
|
|
91
|
+
if (rentalState0.data.borrower === borrowerStr) {
|
|
92
|
+
return 0;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
// slot 0 doesn't exist or fetch failed
|
|
97
|
+
}
|
|
98
|
+
// Try slot 1
|
|
99
|
+
try {
|
|
100
|
+
const rental1 = await (0, srsly_1.deriveRental)(contract, 1);
|
|
101
|
+
const rentalState1 = await (0, accounts_1.fetchRentalState)(rpc, rental1);
|
|
102
|
+
if (rentalState1.data.borrower === borrowerStr) {
|
|
103
|
+
return 1;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// slot 1 doesn't exist or fetch failed
|
|
108
|
+
}
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Find which rental slot belongs to a borrower, throwing if not found.
|
|
113
|
+
*
|
|
114
|
+
* Same as findBorrowerRentalSlot but throws an error if no rental is found.
|
|
115
|
+
*
|
|
116
|
+
* @param contract - The contract address
|
|
117
|
+
* @param borrower - The borrower address to search for
|
|
118
|
+
* @param rpcUrl - RPC URL to use for fetching rental states
|
|
119
|
+
* @returns The slot number (0 or 1)
|
|
120
|
+
* @throws Error if no rental is found for this borrower
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```typescript
|
|
124
|
+
* const slot = await requireBorrowerRentalSlot(contractAddress, borrowerAddress, rpcUrl);
|
|
125
|
+
* // Will throw if borrower has no rental on this contract
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
async function requireBorrowerRentalSlot(contract, borrower, rpcUrl) {
|
|
129
|
+
const slot = await findBorrowerRentalSlot(contract, borrower, rpcUrl);
|
|
130
|
+
if (slot === undefined) {
|
|
131
|
+
throw new Error('No active rental found for this borrower on this contract');
|
|
132
|
+
}
|
|
133
|
+
return slot;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=rental.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rental.js","sourceRoot":"","sources":["../../../src/utils/rental.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAsCH,wDAcC;AASD,8DAMC;AAqBD,wDAgCC;AAmBD,8DAUC;AAlJD,2DAAgE;AAChE,wCAA4C;AAC5C,+BAAkC;AAElC,6BAA6B;AAC7B,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAW7D;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,sBAAsB,CAAC,YAA8B;IACnE,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,KAAK,iBAAiB,CAAC;IACtE,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,KAAK,iBAAiB,CAAC;IAEtE,IAAI,cAAc,IAAI,cAAc,EAAE,CAAC;QACrC,iDAAiD;QACjD,OAAO,YAAY,CAAC,UAAU,CAAC;IACjC,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAC,YAA8B;IACtE,MAAM,IAAI,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,sBAAsB,CAC1C,QAA0B,EAC1B,QAA0B,EAC1B,MAAc;IAEd,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,MAAM,CAAC,CAAC;IAC9B,+DAA+D;IAC/D,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,QAAmB,CAAC;IAEnF,mBAAmB;IACnB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,oBAAY,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC/C,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IAED,aAAa;IACb,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,oBAAY,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC/C,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,yBAAyB,CAC7C,QAA0B,EAC1B,QAA0B,EAC1B,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Centralized RPC client creation for SRSLY SDK
|
|
4
|
+
*
|
|
5
|
+
* Provides a single point for creating Solana RPC clients, making it easier
|
|
6
|
+
* to add environment-specific configurations or debugging in the future.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.setRpcDebug = setRpcDebug;
|
|
10
|
+
exports.isRpcDebugEnabled = isRpcDebugEnabled;
|
|
11
|
+
exports.createRpc = createRpc;
|
|
12
|
+
const kit_1 = require("@solana/kit");
|
|
13
|
+
// Debug flag - can be set via setSdkConfig or environment
|
|
14
|
+
let debugMode = false;
|
|
15
|
+
/**
|
|
16
|
+
* Enable or disable RPC debug mode
|
|
17
|
+
* When enabled, logs RPC requests to console
|
|
18
|
+
*/
|
|
19
|
+
function setRpcDebug(enabled) {
|
|
20
|
+
debugMode = enabled;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Check if RPC debug mode is enabled
|
|
24
|
+
*/
|
|
25
|
+
function isRpcDebugEnabled() {
|
|
26
|
+
return debugMode;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create a Solana RPC client
|
|
30
|
+
*
|
|
31
|
+
* This utility centralizes RPC client creation for the SDK. While it currently
|
|
32
|
+
* uses the standard createSolanaRpc approach, having a single point of creation
|
|
33
|
+
* makes it easier to:
|
|
34
|
+
* - Add debugging/logging
|
|
35
|
+
* - Handle environment-specific configurations
|
|
36
|
+
* - Implement retry logic or custom transports
|
|
37
|
+
*
|
|
38
|
+
* @param rpcUrl - The RPC endpoint URL
|
|
39
|
+
* @returns A configured Solana RPC client
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const rpc = createRpc('https://api.devnet.solana.com');
|
|
44
|
+
* const account = await rpc.getAccountInfo(address).send();
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
function createRpc(rpcUrl) {
|
|
48
|
+
if (debugMode) {
|
|
49
|
+
console.log('[SRSLY RPC Debug] Creating RPC client:', {
|
|
50
|
+
url: rpcUrl,
|
|
51
|
+
environment: typeof window !== 'undefined' ? 'browser' : 'node',
|
|
52
|
+
userAgent: typeof navigator !== 'undefined' ? navigator.userAgent : 'N/A'
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return (0, kit_1.createSolanaRpc)(rpcUrl);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=rpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/utils/rpc.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAeH,kCAEC;AAKD,8CAEC;AAqBD,8BASC;AApDD,qCAIqB;AAErB,0DAA0D;AAC1D,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB;;;GAGG;AACH,SAAgB,WAAW,CAAC,OAAgB;IAC1C,SAAS,GAAG,OAAO,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,SAAS,CAAC,MAAc;IACtC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE;YACpD,GAAG,EAAE,MAAM;YACX,WAAW,EAAE,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;YAC/D,SAAS,EAAE,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;SAC1E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
|
package/dist/cjs/utils/signer.js
CHANGED
|
@@ -39,21 +39,21 @@ function getSignerAddress(signer) {
|
|
|
39
39
|
// Handle string address
|
|
40
40
|
if (typeof signer === 'string') {
|
|
41
41
|
validateAddress(signer);
|
|
42
|
-
return signer;
|
|
42
|
+
return (0, kit_1.address)(signer);
|
|
43
43
|
}
|
|
44
44
|
// Handle object signers
|
|
45
45
|
if (signer && typeof signer === 'object') {
|
|
46
46
|
// web3.js Keypair/Wallet format
|
|
47
47
|
if ('publicKey' in signer && signer.publicKey && typeof signer.publicKey.toBase58 === 'function') {
|
|
48
|
-
const
|
|
49
|
-
validateAddress(
|
|
50
|
-
return address;
|
|
48
|
+
const addr = signer.publicKey.toBase58();
|
|
49
|
+
validateAddress(addr);
|
|
50
|
+
return (0, kit_1.address)(addr);
|
|
51
51
|
}
|
|
52
52
|
// @solana/kit signer format
|
|
53
53
|
if ('address' in signer) {
|
|
54
|
-
const
|
|
55
|
-
validateAddress(
|
|
56
|
-
return address;
|
|
54
|
+
const addr = String(signer.address);
|
|
55
|
+
validateAddress(addr);
|
|
56
|
+
return (0, kit_1.address)(addr);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
throw new Error('Invalid signer format. Expected:\n' +
|
|
@@ -141,6 +141,6 @@ function toTransactionSigner(signer) {
|
|
|
141
141
|
return signer;
|
|
142
142
|
}
|
|
143
143
|
// Otherwise, extract address and create noop signer (for browser/wallet cases)
|
|
144
|
-
return (0, kit_1.createNoopSigner)(
|
|
144
|
+
return (0, kit_1.createNoopSigner)(getSignerAddress(signer));
|
|
145
145
|
}
|
|
146
146
|
//# sourceMappingURL=signer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAyCH,4CA8BC;AAWD,0CAwBC;AAKD,wCASC;AAKD,kCAEC;AAKD,0CAEC;AA2BD,kDAQC;AAvKD,qCAA8F;AAgB9F;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,gBAAgB,CAAC,MAAuB;IACtD,wBAAwB;IACxB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/version.js
CHANGED
|
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VERSION = void 0;
|
|
4
4
|
// Auto-generated from package.json - DO NOT EDIT
|
|
5
5
|
// Run "pnpm run generate:version" to update
|
|
6
|
-
exports.VERSION = '3.0.0-beta.
|
|
6
|
+
exports.VERSION = '3.0.0-beta.20';
|
|
7
7
|
//# sourceMappingURL=version.js.map
|
package/dist/cjs/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAA,iDAAiD;AACjD,4CAA4C;AAC/B,QAAA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAA,iDAAiD;AACjD,4CAA4C;AAC/B,QAAA,OAAO,GAAG,eAAe,CAAC"}
|
|
@@ -3,42 +3,105 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Fetches borrower state data from the SRSLY program.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import { fetchBorrowerState } from '../generated/codama/accounts';
|
|
6
|
+
import { getBase64Encoder } from '@solana/kit';
|
|
7
|
+
import { fetchBorrowerState, BORROWER_STATE_DISCRIMINATOR, getBorrowerStateDecoder } from '../generated/codama/accounts';
|
|
8
|
+
import { SRSLY_PROGRAM_ADDRESS } from '../generated/codama/programs/srsly';
|
|
8
9
|
import { getRpcUrl } from '../utils/config';
|
|
10
|
+
import { createRpc } from '../utils/rpc';
|
|
11
|
+
import { deriveBorrowerState } from '../pda';
|
|
9
12
|
/**
|
|
10
13
|
* Fetch borrower state from the SRSLY program
|
|
11
14
|
*
|
|
12
|
-
*
|
|
15
|
+
* Accepts either a borrower state PDA address OR a wallet address.
|
|
16
|
+
* If direct fetch fails, automatically derives the borrower state PDA
|
|
17
|
+
* from the address (treating it as a wallet) and retries.
|
|
18
|
+
*
|
|
19
|
+
* @param address - Borrower state address OR wallet address
|
|
13
20
|
* @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
|
|
14
21
|
* @returns Borrower state with discounts, payment info, etc.
|
|
15
22
|
* @throws Error if borrower account not found or fetch fails
|
|
16
23
|
*
|
|
17
24
|
* @example
|
|
18
25
|
* ```typescript
|
|
19
|
-
* //
|
|
20
|
-
* const borrower = await fetchBorrower('
|
|
21
|
-
*
|
|
26
|
+
* // Fetch by borrower state PDA address
|
|
27
|
+
* const borrower = await fetchBorrower('BorrowerStatePDA...');
|
|
28
|
+
*
|
|
29
|
+
* // Fetch by wallet address (auto-derives PDA)
|
|
30
|
+
* const borrower2 = await fetchBorrower('WalletAddress...');
|
|
22
31
|
*
|
|
23
|
-
* //
|
|
24
|
-
* const
|
|
25
|
-
* '
|
|
32
|
+
* // With custom RPC
|
|
33
|
+
* const borrower3 = await fetchBorrower(
|
|
34
|
+
* 'WalletOrStateAddress...',
|
|
26
35
|
* 'https://api.devnet.solana.com'
|
|
27
36
|
* );
|
|
28
|
-
* console.log('Total Paid:', borrower2.data.totalPaid);
|
|
29
37
|
* ```
|
|
30
38
|
*/
|
|
31
|
-
export async function fetchBorrower(
|
|
39
|
+
export async function fetchBorrower(address, rpcUrl) {
|
|
40
|
+
// Get RPC URL from config or use provided
|
|
41
|
+
const resolvedRpcUrl = rpcUrl || getRpcUrl();
|
|
42
|
+
const rpc = createRpc(resolvedRpcUrl);
|
|
43
|
+
// Try direct fetch first (assumes address is borrower state PDA)
|
|
32
44
|
try {
|
|
33
|
-
|
|
34
|
-
const resolvedRpcUrl = rpcUrl || getRpcUrl();
|
|
35
|
-
const rpc = createSolanaRpc(resolvedRpcUrl);
|
|
36
|
-
// Use Codama-generated fetch function
|
|
37
|
-
const account = await fetchBorrowerState(rpc, borrowerAddress);
|
|
45
|
+
const account = await fetchBorrowerState(rpc, address);
|
|
38
46
|
return account;
|
|
39
47
|
}
|
|
48
|
+
catch (directError) {
|
|
49
|
+
// Direct fetch failed - try deriving PDA from address as wallet
|
|
50
|
+
try {
|
|
51
|
+
const derivedAddress = await deriveBorrowerState(address);
|
|
52
|
+
const account = await fetchBorrowerState(rpc, derivedAddress);
|
|
53
|
+
return account;
|
|
54
|
+
}
|
|
55
|
+
catch (derivedError) {
|
|
56
|
+
// Both attempts failed - throw with helpful message
|
|
57
|
+
throw new Error(`Failed to fetch borrower state. Tried direct fetch at ${address} and derived PDA. ` +
|
|
58
|
+
`Error: ${derivedError.message}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Fetch all borrower state accounts from the SRSLY program
|
|
64
|
+
*
|
|
65
|
+
* Uses getProgramAccounts with a discriminator filter to find all BorrowerState accounts.
|
|
66
|
+
*
|
|
67
|
+
* @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
|
|
68
|
+
* @returns Array of borrower states with their addresses
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* const borrowers = await fetchAllBorrowers();
|
|
73
|
+
* console.log(`Found ${borrowers.length} borrowers`);
|
|
74
|
+
* borrowers.forEach(b => console.log(b.address, b.data.borrower));
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export async function fetchAllBorrowers(rpcUrl) {
|
|
78
|
+
try {
|
|
79
|
+
const resolvedRpcUrl = rpcUrl || getRpcUrl();
|
|
80
|
+
const rpc = createRpc(resolvedRpcUrl);
|
|
81
|
+
const discriminatorBase64 = btoa(String.fromCharCode(...BORROWER_STATE_DISCRIMINATOR));
|
|
82
|
+
const response = await rpc.getProgramAccounts(SRSLY_PROGRAM_ADDRESS, {
|
|
83
|
+
encoding: 'base64',
|
|
84
|
+
filters: [
|
|
85
|
+
{
|
|
86
|
+
memcmp: {
|
|
87
|
+
offset: 0n,
|
|
88
|
+
bytes: discriminatorBase64,
|
|
89
|
+
encoding: 'base64',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
}).send();
|
|
94
|
+
const base64Encoder = getBase64Encoder();
|
|
95
|
+
const decoder = getBorrowerStateDecoder();
|
|
96
|
+
const accounts = Array.isArray(response) ? response : response.value;
|
|
97
|
+
return accounts.map((account) => {
|
|
98
|
+
const bytes = base64Encoder.encode(account.account.data[0]);
|
|
99
|
+
const decoded = decoder.decode(bytes);
|
|
100
|
+
return { data: decoded, address: account.pubkey };
|
|
101
|
+
});
|
|
102
|
+
}
|
|
40
103
|
catch (error) {
|
|
41
|
-
throw new Error(`Failed to fetch borrower
|
|
104
|
+
throw new Error(`Failed to fetch all borrower states: ${error.message}`);
|
|
42
105
|
}
|
|
43
106
|
}
|
|
44
107
|
//# sourceMappingURL=borrower.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"borrower.js","sourceRoot":"","sources":["../../../src/accounts/borrower.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"borrower.js","sourceRoot":"","sources":["../../../src/accounts/borrower.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAgB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAsB,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC7I,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAyB,EACzB,MAAe;IAEf,0CAA0C;IAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IAEtC,iEAAiE;IACjE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,OAAkB,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,WAAgB,EAAE,CAAC;QAC1B,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,OAAiB,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC9D,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,YAAiB,EAAE,CAAC;YAC3B,oDAAoD;YACpD,MAAM,IAAI,KAAK,CACb,yDAAyD,OAAO,oBAAoB;gBACpF,UAAU,YAAY,CAAC,OAAO,EAAE,CACjC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QAEtC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC;QAEvF,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,kBAAkB,CACpD,qBAAqB,EACrB;YACE,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE;wBACN,MAAM,EAAE,EAAE;wBACV,KAAK,EAAE,mBAAmB;wBAC1B,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF;SACF,CACF,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAE1C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrE,OAAQ,QAAkB,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAiB,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,wCAAwC,KAAK,CAAC,OAAO,EAAE,CACxD,CAAC;IACJ,CAAC;AACH,CAAC"}
|