@sly-rentals/core 0.1.0
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/LICENSE +21 -0
- package/README.md +235 -0
- package/dist/api.json +50992 -0
- package/dist/cjs/accounts/borrower.js +120 -0
- package/dist/cjs/accounts/borrower.js.map +1 -0
- package/dist/cjs/accounts/config.js +97 -0
- package/dist/cjs/accounts/config.js.map +1 -0
- package/dist/cjs/accounts/contract.js +107 -0
- package/dist/cjs/accounts/contract.js.map +1 -0
- package/dist/cjs/accounts/fleet.js +47 -0
- package/dist/cjs/accounts/fleet.js.map +1 -0
- package/dist/cjs/accounts/index.js +24 -0
- package/dist/cjs/accounts/index.js.map +1 -0
- package/dist/cjs/accounts/member.js +16 -0
- package/dist/cjs/accounts/member.js.map +1 -0
- package/dist/cjs/accounts/rental.js +108 -0
- package/dist/cjs/accounts/rental.js.map +1 -0
- package/dist/cjs/accounts/thread.js +222 -0
- package/dist/cjs/accounts/thread.js.map +1 -0
- package/dist/cjs/audit/audit.js +398 -0
- package/dist/cjs/audit/audit.js.map +1 -0
- package/dist/cjs/audit/events.js +273 -0
- package/dist/cjs/audit/events.js.map +1 -0
- package/dist/cjs/audit/index.js +8 -0
- package/dist/cjs/audit/index.js.map +1 -0
- package/dist/cjs/audit/types.js +3 -0
- package/dist/cjs/audit/types.js.map +1 -0
- package/dist/cjs/cost/constants.js +34 -0
- package/dist/cjs/cost/constants.js.map +1 -0
- package/dist/cjs/cost/estimate.js +123 -0
- package/dist/cjs/cost/estimate.js.map +1 -0
- package/dist/cjs/cost/estimate.test.js +145 -0
- package/dist/cjs/cost/estimate.test.js.map +1 -0
- package/dist/cjs/cost/index.js +20 -0
- package/dist/cjs/cost/index.js.map +1 -0
- package/dist/cjs/cost/sizes.js +21 -0
- package/dist/cjs/cost/sizes.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/borrowerState.js +80 -0
- package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/configState.js +114 -0
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/contractState.js +115 -0
- package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/index.js +28 -0
- package/dist/cjs/generated/codama/accounts/index.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/rentalState.js +105 -0
- package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -0
- package/dist/cjs/generated/codama/errors/index.js +25 -0
- package/dist/cjs/generated/codama/errors/index.js.map +1 -0
- package/dist/cjs/generated/codama/errors/srsly.js +312 -0
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -0
- package/dist/cjs/generated/codama/index.js +29 -0
- package/dist/cjs/generated/codama/index.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/acceptRental.js +375 -0
- package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/cancelRental.js +261 -0
- package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/claimBorrower.js +217 -0
- package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/claimContract.js +195 -0
- package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeBorrower.js +169 -0
- package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeContract.js +286 -0
- package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeContractThread.js +164 -0
- package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeRental.js +332 -0
- package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/createBorrower.js +188 -0
- package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/createConfig.js +236 -0
- package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/createContract.js +281 -0
- package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/createContractThread.js +309 -0
- package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteBorrower.js +109 -0
- package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteConfig.js +187 -0
- package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteContract.js +109 -0
- package/dist/cjs/generated/codama/instructions/deleteContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteContractThread.js +170 -0
- package/dist/cjs/generated/codama/instructions/deleteContractThread.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteRental.js +109 -0
- package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/index.js +49 -0
- package/dist/cjs/generated/codama/instructions/index.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/invalidateRental.js +150 -0
- package/dist/cjs/generated/codama/instructions/invalidateRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/processContract.js +213 -0
- package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/releaseRental.js +148 -0
- package/dist/cjs/generated/codama/instructions/releaseRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/reserveRental.js +323 -0
- package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/setDelegate.js +74 -0
- package/dist/cjs/generated/codama/instructions/setDelegate.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/updateConfig.js +132 -0
- package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/updateContract.js +126 -0
- package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/updateContractThread.js +168 -0
- package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
- package/dist/cjs/generated/codama/programs/index.js +25 -0
- package/dist/cjs/generated/codama/programs/index.js.map +1 -0
- package/dist/cjs/generated/codama/programs/srsly.js +145 -0
- package/dist/cjs/generated/codama/programs/srsly.js.map +1 -0
- package/dist/cjs/generated/codama/shared/index.js +88 -0
- package/dist/cjs/generated/codama/shared/index.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/combatStats.js +49 -0
- package/dist/cjs/generated/codama/types/combatStats.js.map +1 -0
- package/dist/cjs/generated/codama/types/feesPaid.js +33 -0
- package/dist/cjs/generated/codama/types/feesPaid.js.map +1 -0
- package/dist/cjs/generated/codama/types/fleet.js +74 -0
- package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
- package/dist/cjs/generated/codama/types/index.js +43 -0
- package/dist/cjs/generated/codama/types/index.js.map +1 -0
- 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/ownerPaid.js +31 -0
- package/dist/cjs/generated/codama/types/ownerPaid.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/rentalCancelled.js +39 -0
- package/dist/cjs/generated/codama/types/rentalCancelled.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalClosed.js +37 -0
- package/dist/cjs/generated/codama/types/rentalClosed.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalSettled.js +35 -0
- package/dist/cjs/generated/codama/types/rentalSettled.js.map +1 -0
- package/dist/cjs/generated/codama/types/rentalStatus.js +32 -0
- package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -0
- package/dist/cjs/generated/codama/types/schedule.js +63 -0
- package/dist/cjs/generated/codama/types/schedule.js.map +1 -0
- 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 +34 -0
- package/dist/cjs/generated/codama/types/shipStats.js.map +1 -0
- package/dist/cjs/generated/codama/types/signal.js +60 -0
- package/dist/cjs/generated/codama/types/signal.js.map +1 -0
- package/dist/cjs/generated/codama/types/thread.js +62 -0
- package/dist/cjs/generated/codama/types/thread.js.map +1 -0
- package/dist/cjs/generated/codama/types/trigger.js +101 -0
- package/dist/cjs/generated/codama/types/trigger.js.map +1 -0
- package/dist/cjs/idl/srsly.json +4747 -0
- package/dist/cjs/index.js +28 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/instructions/acceptRental.js +245 -0
- package/dist/cjs/instructions/acceptRental.js.map +1 -0
- package/dist/cjs/instructions/approveAffiliate.js +11 -0
- package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
- package/dist/cjs/instructions/cancelRental.js +101 -0
- package/dist/cjs/instructions/cancelRental.js.map +1 -0
- package/dist/cjs/instructions/claimBorrower.js +88 -0
- package/dist/cjs/instructions/claimBorrower.js.map +1 -0
- package/dist/cjs/instructions/claimContract.js +54 -0
- package/dist/cjs/instructions/claimContract.js.map +1 -0
- package/dist/cjs/instructions/closeBorrower.js +51 -0
- package/dist/cjs/instructions/closeBorrower.js.map +1 -0
- package/dist/cjs/instructions/closeContract.js +235 -0
- package/dist/cjs/instructions/closeContract.js.map +1 -0
- package/dist/cjs/instructions/closeContractThread.js +61 -0
- package/dist/cjs/instructions/closeContractThread.js.map +1 -0
- package/dist/cjs/instructions/closeRental.js +136 -0
- package/dist/cjs/instructions/closeRental.js.map +1 -0
- package/dist/cjs/instructions/createAffiliate.js +68 -0
- package/dist/cjs/instructions/createAffiliate.js.map +1 -0
- package/dist/cjs/instructions/createBorrower.js +44 -0
- package/dist/cjs/instructions/createBorrower.js.map +1 -0
- package/dist/cjs/instructions/createConfig.js +81 -0
- package/dist/cjs/instructions/createConfig.js.map +1 -0
- package/dist/cjs/instructions/createContract.js +146 -0
- package/dist/cjs/instructions/createContract.js.map +1 -0
- package/dist/cjs/instructions/createContractThread.js +98 -0
- package/dist/cjs/instructions/createContractThread.js.map +1 -0
- package/dist/cjs/instructions/deleteBorrower.js +57 -0
- package/dist/cjs/instructions/deleteBorrower.js.map +1 -0
- package/dist/cjs/instructions/deleteConfig.js +77 -0
- package/dist/cjs/instructions/deleteConfig.js.map +1 -0
- package/dist/cjs/instructions/deleteContract.js +76 -0
- package/dist/cjs/instructions/deleteContract.js.map +1 -0
- package/dist/cjs/instructions/deleteContractThread.js +62 -0
- package/dist/cjs/instructions/deleteContractThread.js.map +1 -0
- package/dist/cjs/instructions/deleteRental.js +73 -0
- package/dist/cjs/instructions/deleteRental.js.map +1 -0
- package/dist/cjs/instructions/index.js +49 -0
- package/dist/cjs/instructions/index.js.map +1 -0
- package/dist/cjs/instructions/invalidateRental.js +87 -0
- package/dist/cjs/instructions/invalidateRental.js.map +1 -0
- package/dist/cjs/instructions/releaseRental.js +87 -0
- package/dist/cjs/instructions/releaseRental.js.map +1 -0
- package/dist/cjs/instructions/removeAffiliate.js +11 -0
- package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
- package/dist/cjs/instructions/reserveRental.js +174 -0
- package/dist/cjs/instructions/reserveRental.js.map +1 -0
- package/dist/cjs/instructions/setDelegate.js +67 -0
- package/dist/cjs/instructions/setDelegate.js.map +1 -0
- package/dist/cjs/instructions/updateAffiliate.js +55 -0
- package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
- package/dist/cjs/instructions/updateConfig.js +94 -0
- package/dist/cjs/instructions/updateConfig.js.map +1 -0
- package/dist/cjs/instructions/updateContract.js +98 -0
- package/dist/cjs/instructions/updateContract.js.map +1 -0
- package/dist/cjs/instructions/updateContractThread.js +56 -0
- package/dist/cjs/instructions/updateContractThread.js.map +1 -0
- package/dist/cjs/kit/index.js +69 -0
- package/dist/cjs/kit/index.js.map +1 -0
- package/dist/cjs/legacy/index.js +121 -0
- package/dist/cjs/legacy/index.js.map +1 -0
- package/dist/cjs/package.json +78 -0
- package/dist/cjs/params/amount.js +126 -0
- package/dist/cjs/params/amount.js.map +1 -0
- package/dist/cjs/params/duration.js +120 -0
- package/dist/cjs/params/duration.js.map +1 -0
- package/dist/cjs/params/index.js +21 -0
- package/dist/cjs/params/index.js.map +1 -0
- package/dist/cjs/params/schedule.js +164 -0
- package/dist/cjs/params/schedule.js.map +1 -0
- package/dist/cjs/params/sol.js +76 -0
- package/dist/cjs/params/sol.js.map +1 -0
- package/dist/cjs/pda/constants.js +78 -0
- package/dist/cjs/pda/constants.js.map +1 -0
- package/dist/cjs/pda/index.js +64 -0
- package/dist/cjs/pda/index.js.map +1 -0
- package/dist/cjs/pda/lookupTable.js +58 -0
- package/dist/cjs/pda/lookupTable.js.map +1 -0
- package/dist/cjs/pda/sage.js +160 -0
- package/dist/cjs/pda/sage.js.map +1 -0
- package/dist/cjs/pda/slyvault.js +12 -0
- package/dist/cjs/pda/slyvault.js.map +1 -0
- package/dist/cjs/pda/srsly.js +130 -0
- package/dist/cjs/pda/srsly.js.map +1 -0
- package/dist/cjs/pda/thread.js +74 -0
- package/dist/cjs/pda/thread.js.map +1 -0
- package/dist/cjs/pda/token.js +63 -0
- package/dist/cjs/pda/token.js.map +1 -0
- package/dist/cjs/utils/addresses.js +131 -0
- package/dist/cjs/utils/addresses.js.map +1 -0
- package/dist/cjs/utils/bidMath.js +150 -0
- package/dist/cjs/utils/bidMath.js.map +1 -0
- package/dist/cjs/utils/config.js +212 -0
- package/dist/cjs/utils/config.js.map +1 -0
- package/dist/cjs/utils/discountAuth.js +78 -0
- package/dist/cjs/utils/discountAuth.js.map +1 -0
- package/dist/cjs/utils/index.js +68 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/instructionResult.js +76 -0
- package/dist/cjs/utils/instructionResult.js.map +1 -0
- package/dist/cjs/utils/instructions.js +74 -0
- package/dist/cjs/utils/instructions.js.map +1 -0
- package/dist/cjs/utils/lookupTable.js +141 -0
- package/dist/cjs/utils/lookupTable.js.map +1 -0
- package/dist/cjs/utils/rental.js +49 -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 +155 -0
- package/dist/cjs/utils/signer.js.map +1 -0
- package/dist/cjs/utils/web3js.js +76 -0
- package/dist/cjs/utils/web3js.js.map +1 -0
- package/dist/cjs/version.js +7 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/accounts/borrower.js +116 -0
- package/dist/esm/accounts/borrower.js.map +1 -0
- package/dist/esm/accounts/config.js +93 -0
- package/dist/esm/accounts/config.js.map +1 -0
- package/dist/esm/accounts/contract.js +103 -0
- package/dist/esm/accounts/contract.js.map +1 -0
- package/dist/esm/accounts/fleet.js +44 -0
- package/dist/esm/accounts/fleet.js.map +1 -0
- package/dist/esm/accounts/index.js +8 -0
- package/dist/esm/accounts/index.js.map +1 -0
- package/dist/esm/accounts/member.js +9 -0
- package/dist/esm/accounts/member.js.map +1 -0
- package/dist/esm/accounts/rental.js +104 -0
- package/dist/esm/accounts/rental.js.map +1 -0
- package/dist/esm/accounts/thread.js +216 -0
- package/dist/esm/accounts/thread.js.map +1 -0
- package/dist/esm/audit/audit.js +395 -0
- package/dist/esm/audit/audit.js.map +1 -0
- package/dist/esm/audit/events.js +267 -0
- package/dist/esm/audit/events.js.map +1 -0
- package/dist/esm/audit/index.js +3 -0
- package/dist/esm/audit/index.js.map +1 -0
- package/dist/esm/audit/types.js +2 -0
- package/dist/esm/audit/types.js.map +1 -0
- package/dist/esm/cost/constants.js +31 -0
- package/dist/esm/cost/constants.js.map +1 -0
- package/dist/esm/cost/estimate.js +117 -0
- package/dist/esm/cost/estimate.js.map +1 -0
- package/dist/esm/cost/estimate.test.js +143 -0
- package/dist/esm/cost/estimate.test.js.map +1 -0
- package/dist/esm/cost/index.js +4 -0
- package/dist/esm/cost/index.js.map +1 -0
- package/dist/esm/cost/sizes.js +18 -0
- package/dist/esm/cost/sizes.js.map +1 -0
- package/dist/esm/generated/codama/accounts/borrowerState.js +68 -0
- package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -0
- package/dist/esm/generated/codama/accounts/configState.js +101 -0
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -0
- package/dist/esm/generated/codama/accounts/contractState.js +103 -0
- package/dist/esm/generated/codama/accounts/contractState.js.map +1 -0
- package/dist/esm/generated/codama/accounts/index.js +12 -0
- package/dist/esm/generated/codama/accounts/index.js.map +1 -0
- package/dist/esm/generated/codama/accounts/rentalState.js +93 -0
- package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -0
- package/dist/esm/generated/codama/errors/index.js +9 -0
- package/dist/esm/generated/codama/errors/index.js.map +1 -0
- package/dist/esm/generated/codama/errors/srsly.js +306 -0
- package/dist/esm/generated/codama/errors/srsly.js.map +1 -0
- package/dist/esm/generated/codama/index.js +13 -0
- package/dist/esm/generated/codama/index.js.map +1 -0
- package/dist/esm/generated/codama/instructions/acceptRental.js +365 -0
- package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/cancelRental.js +251 -0
- package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/claimBorrower.js +207 -0
- package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/claimContract.js +185 -0
- package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeBorrower.js +159 -0
- package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeContract.js +276 -0
- package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeContractThread.js +154 -0
- package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeRental.js +322 -0
- package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/createBorrower.js +178 -0
- package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/createConfig.js +226 -0
- package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -0
- package/dist/esm/generated/codama/instructions/createContract.js +271 -0
- package/dist/esm/generated/codama/instructions/createContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/createContractThread.js +299 -0
- package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteBorrower.js +99 -0
- package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteConfig.js +177 -0
- package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteContract.js +99 -0
- package/dist/esm/generated/codama/instructions/deleteContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteContractThread.js +160 -0
- package/dist/esm/generated/codama/instructions/deleteContractThread.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteRental.js +99 -0
- package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/index.js +33 -0
- package/dist/esm/generated/codama/instructions/index.js.map +1 -0
- package/dist/esm/generated/codama/instructions/invalidateRental.js +140 -0
- package/dist/esm/generated/codama/instructions/invalidateRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/processContract.js +203 -0
- package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/releaseRental.js +138 -0
- package/dist/esm/generated/codama/instructions/releaseRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/reserveRental.js +313 -0
- package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/setDelegate.js +65 -0
- package/dist/esm/generated/codama/instructions/setDelegate.js.map +1 -0
- package/dist/esm/generated/codama/instructions/updateConfig.js +122 -0
- package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -0
- package/dist/esm/generated/codama/instructions/updateContract.js +116 -0
- package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/updateContractThread.js +158 -0
- package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
- package/dist/esm/generated/codama/programs/index.js +9 -0
- package/dist/esm/generated/codama/programs/index.js.map +1 -0
- package/dist/esm/generated/codama/programs/srsly.js +140 -0
- package/dist/esm/generated/codama/programs/srsly.js.map +1 -0
- package/dist/esm/generated/codama/shared/index.js +80 -0
- package/dist/esm/generated/codama/shared/index.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/combatStats.js +44 -0
- package/dist/esm/generated/codama/types/combatStats.js.map +1 -0
- package/dist/esm/generated/codama/types/feesPaid.js +28 -0
- package/dist/esm/generated/codama/types/feesPaid.js.map +1 -0
- package/dist/esm/generated/codama/types/fleet.js +69 -0
- package/dist/esm/generated/codama/types/fleet.js.map +1 -0
- package/dist/esm/generated/codama/types/index.js +27 -0
- package/dist/esm/generated/codama/types/index.js.map +1 -0
- 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/ownerPaid.js +26 -0
- package/dist/esm/generated/codama/types/ownerPaid.js.map +1 -0
- 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/rentalCancelled.js +34 -0
- package/dist/esm/generated/codama/types/rentalCancelled.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalClosed.js +32 -0
- package/dist/esm/generated/codama/types/rentalClosed.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalSettled.js +30 -0
- package/dist/esm/generated/codama/types/rentalSettled.js.map +1 -0
- package/dist/esm/generated/codama/types/rentalStatus.js +26 -0
- package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -0
- package/dist/esm/generated/codama/types/schedule.js +56 -0
- package/dist/esm/generated/codama/types/schedule.js.map +1 -0
- 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 +29 -0
- package/dist/esm/generated/codama/types/shipStats.js.map +1 -0
- package/dist/esm/generated/codama/types/signal.js +53 -0
- package/dist/esm/generated/codama/types/signal.js.map +1 -0
- package/dist/esm/generated/codama/types/thread.js +57 -0
- package/dist/esm/generated/codama/types/thread.js.map +1 -0
- package/dist/esm/generated/codama/types/trigger.js +94 -0
- package/dist/esm/generated/codama/types/trigger.js.map +1 -0
- package/dist/esm/idl/srsly.json +4747 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/instructions/acceptRental.js +242 -0
- package/dist/esm/instructions/acceptRental.js.map +1 -0
- package/dist/esm/instructions/approveAffiliate.js +7 -0
- package/dist/esm/instructions/approveAffiliate.js.map +1 -0
- package/dist/esm/instructions/cancelRental.js +98 -0
- package/dist/esm/instructions/cancelRental.js.map +1 -0
- package/dist/esm/instructions/claimBorrower.js +85 -0
- package/dist/esm/instructions/claimBorrower.js.map +1 -0
- package/dist/esm/instructions/claimContract.js +51 -0
- package/dist/esm/instructions/claimContract.js.map +1 -0
- package/dist/esm/instructions/closeBorrower.js +48 -0
- package/dist/esm/instructions/closeBorrower.js.map +1 -0
- package/dist/esm/instructions/closeContract.js +199 -0
- package/dist/esm/instructions/closeContract.js.map +1 -0
- package/dist/esm/instructions/closeContractThread.js +58 -0
- package/dist/esm/instructions/closeContractThread.js.map +1 -0
- package/dist/esm/instructions/closeRental.js +133 -0
- package/dist/esm/instructions/closeRental.js.map +1 -0
- package/dist/esm/instructions/createAffiliate.js +65 -0
- package/dist/esm/instructions/createAffiliate.js.map +1 -0
- package/dist/esm/instructions/createBorrower.js +41 -0
- package/dist/esm/instructions/createBorrower.js.map +1 -0
- package/dist/esm/instructions/createConfig.js +78 -0
- package/dist/esm/instructions/createConfig.js.map +1 -0
- package/dist/esm/instructions/createContract.js +143 -0
- package/dist/esm/instructions/createContract.js.map +1 -0
- package/dist/esm/instructions/createContractThread.js +95 -0
- package/dist/esm/instructions/createContractThread.js.map +1 -0
- package/dist/esm/instructions/deleteBorrower.js +54 -0
- package/dist/esm/instructions/deleteBorrower.js.map +1 -0
- package/dist/esm/instructions/deleteConfig.js +74 -0
- package/dist/esm/instructions/deleteConfig.js.map +1 -0
- package/dist/esm/instructions/deleteContract.js +73 -0
- package/dist/esm/instructions/deleteContract.js.map +1 -0
- package/dist/esm/instructions/deleteContractThread.js +59 -0
- package/dist/esm/instructions/deleteContractThread.js.map +1 -0
- package/dist/esm/instructions/deleteRental.js +70 -0
- package/dist/esm/instructions/deleteRental.js.map +1 -0
- package/dist/esm/instructions/index.js +33 -0
- package/dist/esm/instructions/index.js.map +1 -0
- package/dist/esm/instructions/invalidateRental.js +84 -0
- package/dist/esm/instructions/invalidateRental.js.map +1 -0
- package/dist/esm/instructions/releaseRental.js +84 -0
- package/dist/esm/instructions/releaseRental.js.map +1 -0
- package/dist/esm/instructions/removeAffiliate.js +7 -0
- package/dist/esm/instructions/removeAffiliate.js.map +1 -0
- package/dist/esm/instructions/reserveRental.js +171 -0
- package/dist/esm/instructions/reserveRental.js.map +1 -0
- package/dist/esm/instructions/setDelegate.js +64 -0
- package/dist/esm/instructions/setDelegate.js.map +1 -0
- package/dist/esm/instructions/updateAffiliate.js +52 -0
- package/dist/esm/instructions/updateAffiliate.js.map +1 -0
- package/dist/esm/instructions/updateConfig.js +91 -0
- package/dist/esm/instructions/updateConfig.js.map +1 -0
- package/dist/esm/instructions/updateContract.js +95 -0
- package/dist/esm/instructions/updateContract.js.map +1 -0
- package/dist/esm/instructions/updateContractThread.js +53 -0
- package/dist/esm/instructions/updateContractThread.js.map +1 -0
- package/dist/esm/kit/index.js +28 -0
- package/dist/esm/kit/index.js.map +1 -0
- package/dist/esm/legacy/index.js +81 -0
- package/dist/esm/legacy/index.js.map +1 -0
- package/dist/esm/package.json +78 -0
- package/dist/esm/params/amount.js +120 -0
- package/dist/esm/params/amount.js.map +1 -0
- package/dist/esm/params/duration.js +115 -0
- package/dist/esm/params/duration.js.map +1 -0
- package/dist/esm/params/index.js +5 -0
- package/dist/esm/params/index.js.map +1 -0
- package/dist/esm/params/schedule.js +157 -0
- package/dist/esm/params/schedule.js.map +1 -0
- package/dist/esm/params/sol.js +73 -0
- package/dist/esm/params/sol.js.map +1 -0
- package/dist/esm/pda/constants.js +72 -0
- package/dist/esm/pda/constants.js.map +1 -0
- package/dist/esm/pda/index.js +26 -0
- package/dist/esm/pda/index.js.map +1 -0
- package/dist/esm/pda/lookupTable.js +55 -0
- package/dist/esm/pda/lookupTable.js.map +1 -0
- package/dist/esm/pda/sage.js +153 -0
- package/dist/esm/pda/sage.js.map +1 -0
- package/dist/esm/pda/slyvault.js +8 -0
- package/dist/esm/pda/slyvault.js.map +1 -0
- package/dist/esm/pda/srsly.js +122 -0
- package/dist/esm/pda/srsly.js.map +1 -0
- package/dist/esm/pda/thread.js +70 -0
- package/dist/esm/pda/thread.js.map +1 -0
- package/dist/esm/pda/token.js +60 -0
- package/dist/esm/pda/token.js.map +1 -0
- package/dist/esm/utils/addresses.js +125 -0
- package/dist/esm/utils/addresses.js.map +1 -0
- package/dist/esm/utils/bidMath.js +146 -0
- package/dist/esm/utils/bidMath.js.map +1 -0
- package/dist/esm/utils/config.js +200 -0
- package/dist/esm/utils/config.js.map +1 -0
- package/dist/esm/utils/discountAuth.js +73 -0
- package/dist/esm/utils/discountAuth.js.map +1 -0
- package/dist/esm/utils/index.js +27 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/instructionResult.js +72 -0
- package/dist/esm/utils/instructionResult.js.map +1 -0
- package/dist/esm/utils/instructions.js +71 -0
- package/dist/esm/utils/instructions.js.map +1 -0
- package/dist/esm/utils/lookupTable.js +137 -0
- package/dist/esm/utils/lookupTable.js.map +1 -0
- package/dist/esm/utils/rental.js +45 -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 +147 -0
- package/dist/esm/utils/signer.js.map +1 -0
- package/dist/esm/utils/web3js.js +72 -0
- package/dist/esm/utils/web3js.js.map +1 -0
- package/dist/esm/version.js +4 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/idl/srsly.json +4747 -0
- package/dist/types/accounts/borrower.d.ts +58 -0
- package/dist/types/accounts/borrower.d.ts.map +1 -0
- package/dist/types/accounts/config.d.ts +50 -0
- package/dist/types/accounts/config.d.ts.map +1 -0
- package/dist/types/accounts/contract.d.ts +53 -0
- package/dist/types/accounts/contract.d.ts.map +1 -0
- package/dist/types/accounts/fleet.d.ts +24 -0
- package/dist/types/accounts/fleet.d.ts.map +1 -0
- package/dist/types/accounts/index.d.ts +8 -0
- package/dist/types/accounts/index.d.ts.map +1 -0
- package/dist/types/accounts/member.d.ts +9 -0
- package/dist/types/accounts/member.d.ts.map +1 -0
- package/dist/types/accounts/rental.d.ts +53 -0
- package/dist/types/accounts/rental.d.ts.map +1 -0
- package/dist/types/accounts/thread.d.ts +78 -0
- package/dist/types/accounts/thread.d.ts.map +1 -0
- package/dist/types/audit/audit.d.ts +10 -0
- package/dist/types/audit/audit.d.ts.map +1 -0
- package/dist/types/audit/events.d.ts +17 -0
- package/dist/types/audit/events.d.ts.map +1 -0
- package/dist/types/audit/index.d.ts +4 -0
- package/dist/types/audit/index.d.ts.map +1 -0
- package/dist/types/audit/types.d.ts +132 -0
- package/dist/types/audit/types.d.ts.map +1 -0
- package/dist/types/cost/constants.d.ts +31 -0
- package/dist/types/cost/constants.d.ts.map +1 -0
- package/dist/types/cost/estimate.d.ts +93 -0
- package/dist/types/cost/estimate.d.ts.map +1 -0
- package/dist/types/cost/estimate.test.d.ts +2 -0
- package/dist/types/cost/estimate.test.d.ts.map +1 -0
- package/dist/types/cost/index.d.ts +4 -0
- package/dist/types/cost/index.d.ts.map +1 -0
- package/dist/types/cost/sizes.d.ts +18 -0
- package/dist/types/cost/sizes.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/borrowerState.d.ts +82 -0
- package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/configState.d.ts +159 -0
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/contractState.d.ts +165 -0
- package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/index.d.ts +12 -0
- package/dist/types/generated/codama/accounts/index.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/rentalState.d.ts +125 -0
- package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -0
- package/dist/types/generated/codama/errors/index.d.ts +9 -0
- package/dist/types/generated/codama/errors/index.d.ts.map +1 -0
- package/dist/types/generated/codama/errors/srsly.d.ts +208 -0
- package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -0
- package/dist/types/generated/codama/index.d.ts +13 -0
- package/dist/types/generated/codama/index.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/acceptRental.d.ts +176 -0
- package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/cancelRental.d.ts +107 -0
- package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts +82 -0
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
- package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeBorrower.d.ts +79 -0
- package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeContract.d.ts +130 -0
- package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeContractThread.d.ts +70 -0
- package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeRental.d.ts +149 -0
- package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/createBorrower.d.ts +71 -0
- package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/createConfig.d.ts +100 -0
- package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/createContract.d.ts +131 -0
- package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
- package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +58 -0
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteConfig.d.ts +75 -0
- package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteContract.d.ts +58 -0
- package/dist/types/generated/codama/instructions/deleteContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteContractThread.d.ts +70 -0
- package/dist/types/generated/codama/instructions/deleteContractThread.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteRental.d.ts +61 -0
- package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/index.d.ts +33 -0
- package/dist/types/generated/codama/instructions/index.d.ts.map +1 -0
- 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/processContract.d.ts +100 -0
- package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/releaseRental.d.ts +98 -0
- package/dist/types/generated/codama/instructions/releaseRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/reserveRental.d.ts +159 -0
- package/dist/types/generated/codama/instructions/reserveRental.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/updateConfig.d.ts +158 -0
- package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/updateContract.d.ts +102 -0
- package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
- package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
- package/dist/types/generated/codama/programs/index.d.ts +9 -0
- package/dist/types/generated/codama/programs/index.d.ts.map +1 -0
- package/dist/types/generated/codama/programs/srsly.d.ts +101 -0
- package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -0
- package/dist/types/generated/codama/shared/index.d.ts +50 -0
- package/dist/types/generated/codama/shared/index.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/combatStats.d.ts +28 -0
- package/dist/types/generated/codama/types/combatStats.d.ts.map +1 -0
- package/dist/types/generated/codama/types/feesPaid.d.ts +28 -0
- package/dist/types/generated/codama/types/feesPaid.d.ts.map +1 -0
- package/dist/types/generated/codama/types/fleet.d.ts +66 -0
- package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
- package/dist/types/generated/codama/types/index.d.ts +27 -0
- package/dist/types/generated/codama/types/index.d.ts.map +1 -0
- 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/ownerPaid.d.ts +26 -0
- package/dist/types/generated/codama/types/ownerPaid.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalAccepted.d.ts +38 -0
- package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalCancelled.d.ts +34 -0
- package/dist/types/generated/codama/types/rentalCancelled.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalClosed.d.ts +32 -0
- package/dist/types/generated/codama/types/rentalClosed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalSettled.d.ts +30 -0
- package/dist/types/generated/codama/types/rentalSettled.d.ts.map +1 -0
- package/dist/types/generated/codama/types/rentalStatus.d.ts +20 -0
- package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -0
- package/dist/types/generated/codama/types/schedule.d.ts +46 -0
- package/dist/types/generated/codama/types/schedule.d.ts.map +1 -0
- 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 +26 -0
- package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -0
- package/dist/types/generated/codama/types/signal.d.ts +60 -0
- package/dist/types/generated/codama/types/signal.d.ts.map +1 -0
- package/dist/types/generated/codama/types/thread.d.ts +54 -0
- package/dist/types/generated/codama/types/thread.d.ts.map +1 -0
- package/dist/types/generated/codama/types/trigger.d.ts +109 -0
- package/dist/types/generated/codama/types/trigger.d.ts.map +1 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/instructions/acceptRental.d.ts +98 -0
- package/dist/types/instructions/acceptRental.d.ts.map +1 -0
- package/dist/types/instructions/approveAffiliate.d.ts +7 -0
- package/dist/types/instructions/approveAffiliate.d.ts.map +1 -0
- package/dist/types/instructions/cancelRental.d.ts +77 -0
- package/dist/types/instructions/cancelRental.d.ts.map +1 -0
- package/dist/types/instructions/claimBorrower.d.ts +74 -0
- package/dist/types/instructions/claimBorrower.d.ts.map +1 -0
- package/dist/types/instructions/claimContract.d.ts +38 -0
- package/dist/types/instructions/claimContract.d.ts.map +1 -0
- package/dist/types/instructions/closeBorrower.d.ts +43 -0
- package/dist/types/instructions/closeBorrower.d.ts.map +1 -0
- package/dist/types/instructions/closeContract.d.ts +79 -0
- package/dist/types/instructions/closeContract.d.ts.map +1 -0
- package/dist/types/instructions/closeContractThread.d.ts +37 -0
- package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
- package/dist/types/instructions/closeRental.d.ts +52 -0
- package/dist/types/instructions/closeRental.d.ts.map +1 -0
- package/dist/types/instructions/createAffiliate.d.ts +61 -0
- package/dist/types/instructions/createAffiliate.d.ts.map +1 -0
- package/dist/types/instructions/createBorrower.d.ts +34 -0
- package/dist/types/instructions/createBorrower.d.ts.map +1 -0
- package/dist/types/instructions/createConfig.d.ts +70 -0
- package/dist/types/instructions/createConfig.d.ts.map +1 -0
- package/dist/types/instructions/createContract.d.ts +145 -0
- package/dist/types/instructions/createContract.d.ts.map +1 -0
- package/dist/types/instructions/createContractThread.d.ts +57 -0
- package/dist/types/instructions/createContractThread.d.ts.map +1 -0
- package/dist/types/instructions/deleteBorrower.d.ts +53 -0
- package/dist/types/instructions/deleteBorrower.d.ts.map +1 -0
- package/dist/types/instructions/deleteConfig.d.ts +55 -0
- package/dist/types/instructions/deleteConfig.d.ts.map +1 -0
- package/dist/types/instructions/deleteContract.d.ts +57 -0
- package/dist/types/instructions/deleteContract.d.ts.map +1 -0
- package/dist/types/instructions/deleteContractThread.d.ts +39 -0
- package/dist/types/instructions/deleteContractThread.d.ts.map +1 -0
- package/dist/types/instructions/deleteRental.d.ts +66 -0
- package/dist/types/instructions/deleteRental.d.ts.map +1 -0
- package/dist/types/instructions/index.d.ts +33 -0
- package/dist/types/instructions/index.d.ts.map +1 -0
- package/dist/types/instructions/invalidateRental.d.ts +70 -0
- package/dist/types/instructions/invalidateRental.d.ts.map +1 -0
- package/dist/types/instructions/releaseRental.d.ts +70 -0
- package/dist/types/instructions/releaseRental.d.ts.map +1 -0
- package/dist/types/instructions/removeAffiliate.d.ts +7 -0
- package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
- package/dist/types/instructions/reserveRental.d.ts +89 -0
- package/dist/types/instructions/reserveRental.d.ts.map +1 -0
- package/dist/types/instructions/setDelegate.d.ts +60 -0
- package/dist/types/instructions/setDelegate.d.ts.map +1 -0
- package/dist/types/instructions/updateAffiliate.d.ts +62 -0
- package/dist/types/instructions/updateAffiliate.d.ts.map +1 -0
- package/dist/types/instructions/updateConfig.d.ts +128 -0
- package/dist/types/instructions/updateConfig.d.ts.map +1 -0
- package/dist/types/instructions/updateContract.d.ts +114 -0
- package/dist/types/instructions/updateContract.d.ts.map +1 -0
- package/dist/types/instructions/updateContractThread.d.ts +53 -0
- package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
- package/dist/types/kit/index.d.ts +27 -0
- package/dist/types/kit/index.d.ts.map +1 -0
- package/dist/types/legacy/index.d.ts +62 -0
- package/dist/types/legacy/index.d.ts.map +1 -0
- package/dist/types/params/amount.d.ts +75 -0
- package/dist/types/params/amount.d.ts.map +1 -0
- package/dist/types/params/duration.d.ts +65 -0
- package/dist/types/params/duration.d.ts.map +1 -0
- package/dist/types/params/index.d.ts +5 -0
- package/dist/types/params/index.d.ts.map +1 -0
- package/dist/types/params/schedule.d.ts +74 -0
- package/dist/types/params/schedule.d.ts.map +1 -0
- package/dist/types/params/sol.d.ts +39 -0
- package/dist/types/params/sol.d.ts.map +1 -0
- package/dist/types/pda/constants.d.ts +56 -0
- package/dist/types/pda/constants.d.ts.map +1 -0
- package/dist/types/pda/index.d.ts +20 -0
- package/dist/types/pda/index.d.ts.map +1 -0
- package/dist/types/pda/lookupTable.d.ts +30 -0
- package/dist/types/pda/lookupTable.d.ts.map +1 -0
- package/dist/types/pda/sage.d.ts +70 -0
- package/dist/types/pda/sage.d.ts.map +1 -0
- package/dist/types/pda/slyvault.d.ts +8 -0
- package/dist/types/pda/slyvault.d.ts.map +1 -0
- package/dist/types/pda/srsly.d.ts +53 -0
- package/dist/types/pda/srsly.d.ts.map +1 -0
- package/dist/types/pda/thread.d.ts +31 -0
- package/dist/types/pda/thread.d.ts.map +1 -0
- package/dist/types/pda/token.d.ts +30 -0
- package/dist/types/pda/token.d.ts.map +1 -0
- package/dist/types/utils/addresses.d.ts +97 -0
- package/dist/types/utils/addresses.d.ts.map +1 -0
- package/dist/types/utils/bidMath.d.ts +89 -0
- package/dist/types/utils/bidMath.d.ts.map +1 -0
- package/dist/types/utils/config.d.ts +213 -0
- package/dist/types/utils/config.d.ts.map +1 -0
- package/dist/types/utils/discountAuth.d.ts +57 -0
- package/dist/types/utils/discountAuth.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +16 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- 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 +50 -0
- package/dist/types/utils/instructions.d.ts.map +1 -0
- 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 +22 -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 +103 -0
- package/dist/types/utils/signer.d.ts.map +1 -0
- package/dist/types/utils/web3js.d.ts +85 -0
- package/dist/types/utils/web3js.d.ts.map +1 -0
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +111 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simple SDK configuration management
|
|
3
|
+
*
|
|
4
|
+
* Provides global configuration with per-call overrides.
|
|
5
|
+
* Supports both @solana/kit (default) and @solana/web3.js modes.
|
|
6
|
+
*/
|
|
7
|
+
import { SRSLY_PROGRAM_ADDRESS } from '../generated/codama';
|
|
8
|
+
import { getProgramAddresses, MAINNET_GENESIS, DEVNET_GENESIS, } from './addresses';
|
|
9
|
+
import { createRpc } from './rpc';
|
|
10
|
+
import { setSdkConfig as setSlyvaultSdkConfig } from '@sly-rentals/vault';
|
|
11
|
+
/**
|
|
12
|
+
* Default RPC URLs keyed by genesis hash
|
|
13
|
+
*/
|
|
14
|
+
const DEFAULT_RPC_URLS = {
|
|
15
|
+
[MAINNET_GENESIS]: 'https://api.mainnet-beta.solana.com',
|
|
16
|
+
[DEVNET_GENESIS]: 'https://api.devnet.solana.com',
|
|
17
|
+
// ATLASNET_GENESIS has no public RPC — requires custom URL via config
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Alias-based RPC URL fallbacks (for localnet and named aliases)
|
|
21
|
+
*/
|
|
22
|
+
const ALIAS_RPC_URLS = {
|
|
23
|
+
atlasnet: 'https://api.devnet.solana.com',
|
|
24
|
+
holosim: 'https://api.devnet.solana.com',
|
|
25
|
+
mainnet: 'https://api.mainnet-beta.solana.com',
|
|
26
|
+
localnet: 'http://localhost:8899',
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Default SRSLY program ID (from generated code)
|
|
30
|
+
*/
|
|
31
|
+
const DEFAULT_PROGRAM_ID = SRSLY_PROGRAM_ADDRESS;
|
|
32
|
+
/**
|
|
33
|
+
* Global SDK configuration state
|
|
34
|
+
*/
|
|
35
|
+
let globalConfig = {
|
|
36
|
+
programs: 'atlasnet',
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Set global SDK configuration
|
|
40
|
+
*
|
|
41
|
+
* This configuration will be used as the default for all SDK operations.
|
|
42
|
+
* Individual function calls can override these settings.
|
|
43
|
+
*
|
|
44
|
+
* @param config - Configuration options to set globally
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* // Use atlasnet programs with default devnet RPC
|
|
49
|
+
* setSdkConfig({ programs: 'atlasnet' });
|
|
50
|
+
*
|
|
51
|
+
* // Use mainnet programs with web3.js
|
|
52
|
+
* import { PublicKey } from '@solana/web3.js';
|
|
53
|
+
* setSdkConfig({
|
|
54
|
+
* programs: 'mainnet',
|
|
55
|
+
* PublicKey
|
|
56
|
+
* });
|
|
57
|
+
*
|
|
58
|
+
* // Use mainnet programs with custom RPC (e.g., Helius, QuickNode)
|
|
59
|
+
* setSdkConfig({
|
|
60
|
+
* programs: 'mainnet',
|
|
61
|
+
* rpcUrl: 'https://my-custom-mainnet-rpc.com'
|
|
62
|
+
* });
|
|
63
|
+
*
|
|
64
|
+
* // Use atlasnet programs with custom devnet RPC
|
|
65
|
+
* setSdkConfig({
|
|
66
|
+
* programs: 'atlasnet',
|
|
67
|
+
* rpcUrl: 'https://my-custom-devnet-rpc.com'
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export function setSdkConfig(config) {
|
|
72
|
+
globalConfig = { ...globalConfig, ...config };
|
|
73
|
+
// Propagate relevant config to slyvault SDK
|
|
74
|
+
setSlyvaultSdkConfig({
|
|
75
|
+
rpcUrl: config.rpcUrl,
|
|
76
|
+
PublicKey: config.PublicKey,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get the current global SDK configuration
|
|
81
|
+
*
|
|
82
|
+
* @returns A copy of the current global configuration
|
|
83
|
+
*/
|
|
84
|
+
export function getSdkConfig() {
|
|
85
|
+
return { ...globalConfig };
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Clear global SDK configuration (resets to defaults)
|
|
89
|
+
*/
|
|
90
|
+
export function clearSdkConfig() {
|
|
91
|
+
globalConfig = {
|
|
92
|
+
programs: 'atlasnet',
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Merge global config with optional overrides
|
|
97
|
+
*
|
|
98
|
+
* @param overrides - Optional configuration overrides
|
|
99
|
+
* @returns Merged configuration
|
|
100
|
+
*/
|
|
101
|
+
export function mergeConfig(overrides) {
|
|
102
|
+
return { ...globalConfig, ...overrides };
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get the effective RPC URL for a configuration
|
|
106
|
+
*
|
|
107
|
+
* @param config - Optional SDK configuration. If not provided, uses global config
|
|
108
|
+
* @returns RPC URL to use
|
|
109
|
+
*/
|
|
110
|
+
export function getRpcUrl(config) {
|
|
111
|
+
const finalConfig = mergeConfig(config);
|
|
112
|
+
if (finalConfig.rpcUrl)
|
|
113
|
+
return finalConfig.rpcUrl;
|
|
114
|
+
// Try genesis-hash-keyed lookup first, then alias fallback
|
|
115
|
+
return (DEFAULT_RPC_URLS[finalConfig.programs] ||
|
|
116
|
+
ALIAS_RPC_URLS[finalConfig.programs] ||
|
|
117
|
+
DEFAULT_RPC_URLS[DEVNET_GENESIS]);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Get the effective program ID for a configuration
|
|
121
|
+
*
|
|
122
|
+
* @param config - SDK configuration
|
|
123
|
+
* @returns Program ID to use
|
|
124
|
+
*/
|
|
125
|
+
export function getProgramId(config) {
|
|
126
|
+
return config.programId || DEFAULT_PROGRAM_ID;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get the effective commitment level for a configuration
|
|
130
|
+
*
|
|
131
|
+
* @param config - SDK configuration
|
|
132
|
+
* @returns Commitment level to use
|
|
133
|
+
*/
|
|
134
|
+
export function getCommitment(config) {
|
|
135
|
+
return config.commitment || 'confirmed';
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Get the affiliate configuration from global config with optional overrides
|
|
139
|
+
*
|
|
140
|
+
* @param config - Optional SDK configuration overrides
|
|
141
|
+
* @returns Affiliate configuration if set, undefined otherwise
|
|
142
|
+
*/
|
|
143
|
+
export function getAffiliateConfig(config) {
|
|
144
|
+
const merged = mergeConfig(config);
|
|
145
|
+
return merged.affiliate;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Get program-specific addresses with optional overrides
|
|
149
|
+
*
|
|
150
|
+
* Returns addresses for the configured program set. The SRSLY program ID
|
|
151
|
+
* can be overridden via config.programId.
|
|
152
|
+
*
|
|
153
|
+
* @param config - Optional SDK configuration overrides
|
|
154
|
+
* @returns Program addresses with any config overrides applied
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* // Get atlasnet addresses (from global config)
|
|
159
|
+
* setSdkConfig({ programs: 'atlasnet' });
|
|
160
|
+
* const addresses = getAddresses();
|
|
161
|
+
* console.log(addresses.atlasMint); // Atlasnet ATLAS mint
|
|
162
|
+
*
|
|
163
|
+
* // Override programs for specific call
|
|
164
|
+
* const mainnetAddrs = getAddresses({ programs: 'mainnet' });
|
|
165
|
+
*
|
|
166
|
+
* // Custom SRSLY program
|
|
167
|
+
* const customAddrs = getAddresses({ programId: 'MyCustomProgram...' });
|
|
168
|
+
* console.log(customAddrs.srsly); // 'MyCustomProgram...'
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
export function getAddresses(config) {
|
|
172
|
+
const finalConfig = mergeConfig(config);
|
|
173
|
+
const networkAddresses = getProgramAddresses(finalConfig.programs);
|
|
174
|
+
// Return addresses with programId override if provided
|
|
175
|
+
return {
|
|
176
|
+
...networkAddresses,
|
|
177
|
+
srsly: finalConfig.programId || networkAddresses.srsly,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Auto-detect the correct program set by querying the chain's genesis hash
|
|
182
|
+
*
|
|
183
|
+
* Returns the raw genesis hash string, which can be passed directly to
|
|
184
|
+
* `setSdkConfig({ programs: genesisHash })` or `getProgramAddresses(genesisHash)`.
|
|
185
|
+
*
|
|
186
|
+
* @param rpcUrl - RPC endpoint URL to query
|
|
187
|
+
* @returns Genesis hash string identifying the chain
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```typescript
|
|
191
|
+
* const genesisHash = await detectProgramSet('https://api.mainnet-beta.solana.com');
|
|
192
|
+
* setSdkConfig({ programs: genesisHash });
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
195
|
+
export async function detectProgramSet(rpcUrl) {
|
|
196
|
+
const rpc = createRpc(rpcUrl);
|
|
197
|
+
const genesisHash = await rpc.getGenesisHash().send();
|
|
198
|
+
return genesisHash;
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Discount authorization helper for server-side signing
|
|
3
|
+
* @module utils/discountAuth
|
|
4
|
+
*
|
|
5
|
+
* Convenience wrapper that fetches member nonce + vault automatically,
|
|
6
|
+
* then delegates to slyvault's createDiscountAuth for signing.
|
|
7
|
+
*/
|
|
8
|
+
import { address, createKeyPairSignerFromBytes } from '@solana/kit';
|
|
9
|
+
import { createDiscountAuth as slyvaultCreateDiscountAuth, fetchMember, } from '@sly-rentals/vault';
|
|
10
|
+
import { getRpcUrl, mergeConfig } from './config';
|
|
11
|
+
/**
|
|
12
|
+
* Sign and serialize a discount authorization. Server-side helper that
|
|
13
|
+
* lets a designated authority pre-grant a fee discount, which the holder
|
|
14
|
+
* can later attach to a vault deposit to redeem.
|
|
15
|
+
*
|
|
16
|
+
* @param params - Discount parameters
|
|
17
|
+
* @param config - Optional SDK configuration overrides
|
|
18
|
+
* @returns SerializedDiscountAuth ready for JSON API response
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // Server-side: create discount for a borrower
|
|
23
|
+
* const auth = await createDiscount({
|
|
24
|
+
* memberAddress: 'AFFILIATE_MEMBER_PDA',
|
|
25
|
+
* contextKey: borrowerWallet,
|
|
26
|
+
* discountBps: 500, // 5%
|
|
27
|
+
* expirySeconds: 300, // 5 minutes
|
|
28
|
+
* discountAuthority: process.env.DISCOUNT_KEY, // JSON keypair string
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* // Return via API — all fields are JSON-safe strings/numbers
|
|
32
|
+
* res.json(auth);
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export async function createDiscount(params, config) {
|
|
36
|
+
const finalConfig = mergeConfig(config);
|
|
37
|
+
const rpcUrl = getRpcUrl(finalConfig);
|
|
38
|
+
// Fetch member to get nonce + vault
|
|
39
|
+
const memberAddr = address(params.memberAddress);
|
|
40
|
+
const member = await fetchMember(memberAddr, rpcUrl);
|
|
41
|
+
// Resolve discount authority signer
|
|
42
|
+
const discountAuthority = await resolveAuthority(params.discountAuthority);
|
|
43
|
+
// Compute expiry as unix timestamp
|
|
44
|
+
const now = Math.floor(Date.now() / 1000);
|
|
45
|
+
const expiresAt = BigInt(now + params.expirySeconds);
|
|
46
|
+
return slyvaultCreateDiscountAuth({
|
|
47
|
+
contextKey: address(params.contextKey),
|
|
48
|
+
memberNonce: member.data.nonce,
|
|
49
|
+
discountBps: params.discountBps,
|
|
50
|
+
expiresAt,
|
|
51
|
+
vault: member.data.vault,
|
|
52
|
+
discountAuthority,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
async function resolveAuthority(authority) {
|
|
56
|
+
if (typeof authority === 'string') {
|
|
57
|
+
const bytes = JSON.parse(authority);
|
|
58
|
+
if (!Array.isArray(bytes) || bytes.length !== 64) {
|
|
59
|
+
throw new Error('Invalid keypair: expected JSON array of 64 bytes');
|
|
60
|
+
}
|
|
61
|
+
return createKeyPairSignerFromBytes(new Uint8Array(bytes));
|
|
62
|
+
}
|
|
63
|
+
if (authority instanceof Uint8Array) {
|
|
64
|
+
return createKeyPairSignerFromBytes(authority);
|
|
65
|
+
}
|
|
66
|
+
if (Array.isArray(authority)) {
|
|
67
|
+
return createKeyPairSignerFromBytes(new Uint8Array(authority));
|
|
68
|
+
}
|
|
69
|
+
return authority;
|
|
70
|
+
}
|
|
71
|
+
// Re-export for convenience
|
|
72
|
+
export { deserializeDiscountAuth } from '@sly-rentals/vault';
|
|
73
|
+
//# sourceMappingURL=discountAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discountAuth.js","sourceRoot":"","sources":["../../../src/utils/discountAuth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAgB,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EACL,kBAAkB,IAAI,0BAA0B,EAEhD,WAAW,GAGZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAkB,MAAM,UAAU,CAAC;AAsBlE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAEtC,oCAAoC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,aAAwB,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAErD,oCAAoC;IACpC,MAAM,iBAAiB,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE3E,mCAAmC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAErD,OAAO,0BAA0B,CAAC;QAChC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAqB,CAAC;QACjD,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;QAC9B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS;QACT,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;QACxB,iBAAiB;KAClB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,SAAyD;IAEzD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,4BAA4B,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,SAAS,YAAY,UAAU,EAAE,CAAC;QACpC,OAAO,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,4BAA4B,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Utility functions and helpers
|
|
3
|
+
* @module utils
|
|
4
|
+
*/
|
|
5
|
+
// Configuration
|
|
6
|
+
export { setSdkConfig, getSdkConfig, clearSdkConfig, mergeConfig, getAddresses, getAffiliateConfig, getRpcUrl, detectProgramSet, } from './config';
|
|
7
|
+
// Network Addresses
|
|
8
|
+
export { getProgramAddresses, getNetworkAddresses, isValidProgramSet, isValidNetwork, resolveGenesisHash, MAINNET_GENESIS, DEVNET_GENESIS, ATLASNET_GENESIS, MAINNET_ADDRESSES, ATLASNET_ADDRESSES, } from './addresses';
|
|
9
|
+
// Signer Utilities
|
|
10
|
+
export { toTransactionSigner, validateAddress, isWeb3jsSigner, isKitSigner, isAddressString, } from './signer';
|
|
11
|
+
// Web3.js Compatibility
|
|
12
|
+
export { toWeb3Instruction, toAddress, } from './web3js';
|
|
13
|
+
// Instruction Utilities
|
|
14
|
+
export { prepareInstructions } from './instructions';
|
|
15
|
+
// Instruction Result
|
|
16
|
+
export { InstructionResult } from './instructionResult';
|
|
17
|
+
// RPC Utilities
|
|
18
|
+
export { createRpc, setRpcDebug, isRpcDebugEnabled } from './rpc';
|
|
19
|
+
// Address Lookup Table Utilities
|
|
20
|
+
export { fetchLookupTable, getLookupTableAddress, } from './lookupTable';
|
|
21
|
+
// Rental Utilities
|
|
22
|
+
export { hasActiveRental, hasQueuedRental } from './rental';
|
|
23
|
+
// Bid Math
|
|
24
|
+
export { computeMinimumBid, getMinimumBid } from './bidMath';
|
|
25
|
+
// Discount Authorization
|
|
26
|
+
export { createDiscount, deserializeDiscountAuth, } from './discountAuth';
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,gBAAgB,GAIjB,MAAM,UAAU,CAAC;AAElB,oBAAoB;AACpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GAKnB,MAAM,aAAa,CAAC;AAErB,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,GAEhB,MAAM,UAAU,CAAC;AAElB,wBAAwB;AACxB,OAAO,EACL,iBAAiB,EACjB,SAAS,GAIV,MAAM,UAAU,CAAC;AAElB,wBAAwB;AACxB,OAAO,EAAE,mBAAmB,EAAmC,MAAM,gBAAgB,CAAC;AAEtF,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAA0B,MAAM,qBAAqB,CAAC;AAEhF,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAElE,iCAAiC;AACjC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE5D,WAAW;AACX,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAmB,MAAM,WAAW,CAAC;AAE9E,yBAAyB;AACzB,OAAO,EACL,cAAc,EACd,uBAAuB,GAIxB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose InstructionResult - Array-like wrapper for @solana/kit Instructions with legacy conversion
|
|
3
|
+
*
|
|
4
|
+
* Provides native @solana/kit Instruction[] compatibility with optional .toLegacy() conversion
|
|
5
|
+
* for web3.js users.
|
|
6
|
+
*/
|
|
7
|
+
import { getSdkConfig } from './config';
|
|
8
|
+
/**
|
|
9
|
+
* Convert a single @solana/kit Instruction to legacy web3.js format
|
|
10
|
+
*/
|
|
11
|
+
function convertToLegacy(instruction, PublicKey) {
|
|
12
|
+
const accounts = instruction.accounts || [];
|
|
13
|
+
const data = instruction.data || new Uint8Array();
|
|
14
|
+
return {
|
|
15
|
+
keys: accounts.map(account => ({
|
|
16
|
+
pubkey: new PublicKey(String(account.address)),
|
|
17
|
+
isWritable: (account.role & 1) === 1, // Check writable bit
|
|
18
|
+
isSigner: (account.role & 2) === 2, // Check signer bit
|
|
19
|
+
})),
|
|
20
|
+
programId: new PublicKey(String(instruction.programAddress)),
|
|
21
|
+
data,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* InstructionResult - Wrapper for @solana/kit Instructions with legacy conversion
|
|
26
|
+
*
|
|
27
|
+
* Contains a plain Instruction[] array accessible via `.instructions`.
|
|
28
|
+
* Supports iteration (`for...of`, spread) and `.toLegacy()` conversion for web3.js.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* // Kit users - access instructions directly
|
|
33
|
+
* const result = await createContract(params);
|
|
34
|
+
* for (const ix of result) { ... }
|
|
35
|
+
* // Or unwrap: result.instructions
|
|
36
|
+
*
|
|
37
|
+
* // Web3.js users - convert to legacy format
|
|
38
|
+
* import { PublicKey } from '@solana/web3.js';
|
|
39
|
+
* const legacyIxs = result.toLegacy(PublicKey);
|
|
40
|
+
* // Or if PublicKey is configured in SDK:
|
|
41
|
+
* setSdkConfig({ PublicKey });
|
|
42
|
+
* const legacyIxs = result.toLegacy();
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export class InstructionResult {
|
|
46
|
+
instructions;
|
|
47
|
+
constructor(instructions) {
|
|
48
|
+
this.instructions = instructions;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Convert to legacy web3.js instruction format
|
|
52
|
+
*
|
|
53
|
+
* @param PublicKey - Optional PublicKey constructor. If not provided,
|
|
54
|
+
* uses the PublicKey from SDK config (set via setSdkConfig)
|
|
55
|
+
* @returns Array of instructions in web3.js format
|
|
56
|
+
* @throws Error if no PublicKey is available
|
|
57
|
+
*/
|
|
58
|
+
toLegacy(PublicKey) {
|
|
59
|
+
const pk = PublicKey || getSdkConfig().PublicKey;
|
|
60
|
+
if (!pk) {
|
|
61
|
+
throw new Error('PublicKey constructor required - pass it to toLegacy() or set in SDK config via setSdkConfig({ PublicKey })');
|
|
62
|
+
}
|
|
63
|
+
return this.instructions.map(ix => convertToLegacy(ix, pk));
|
|
64
|
+
}
|
|
65
|
+
get length() {
|
|
66
|
+
return this.instructions.length;
|
|
67
|
+
}
|
|
68
|
+
[Symbol.iterator]() {
|
|
69
|
+
return this.instructions[Symbol.iterator]();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=instructionResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructionResult.js","sourceRoot":"","sources":["../../../src/utils/instructionResult.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAA6B,MAAM,UAAU,CAAC;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,EAAE,mBAAmB;SACxD,CAAC,CAAC;QACH,SAAS,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,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,YAAY,EAAE,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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utilities for preparing instructions with compute budget
|
|
3
|
+
* @module utils/instructions
|
|
4
|
+
*/
|
|
5
|
+
import { InstructionResult } from './instructionResult';
|
|
6
|
+
/**
|
|
7
|
+
* Compute Budget Program ID
|
|
8
|
+
*/
|
|
9
|
+
const COMPUTE_BUDGET_PROGRAM = 'ComputeBudget111111111111111111111111111111';
|
|
10
|
+
/**
|
|
11
|
+
* SetComputeUnitLimit instruction discriminator
|
|
12
|
+
*/
|
|
13
|
+
const SET_COMPUTE_UNIT_LIMIT_DISCRIMINATOR = 0x02;
|
|
14
|
+
/**
|
|
15
|
+
* Create a SetComputeUnitLimit instruction manually
|
|
16
|
+
*
|
|
17
|
+
* @param units - Compute units to allocate
|
|
18
|
+
* @returns Instruction for setting compute unit limit
|
|
19
|
+
*/
|
|
20
|
+
function createComputeBudgetInstruction(units) {
|
|
21
|
+
// Encode u32 in little-endian format
|
|
22
|
+
const data = new Uint8Array(5);
|
|
23
|
+
data[0] = SET_COMPUTE_UNIT_LIMIT_DISCRIMINATOR;
|
|
24
|
+
data[1] = units & 0xff;
|
|
25
|
+
data[2] = (units >> 8) & 0xff;
|
|
26
|
+
data[3] = (units >> 16) & 0xff;
|
|
27
|
+
data[4] = (units >> 24) & 0xff;
|
|
28
|
+
return {
|
|
29
|
+
programAddress: COMPUTE_BUDGET_PROGRAM,
|
|
30
|
+
data,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Prepare instructions for transaction submission
|
|
35
|
+
*
|
|
36
|
+
* This utility handles the common workflow of:
|
|
37
|
+
* 1. Normalizing single instruction to array
|
|
38
|
+
* 2. Optionally prepending compute budget instruction
|
|
39
|
+
* 3. Returning an InstructionResult that can be used directly with @solana/kit
|
|
40
|
+
* or converted to web3.js format via .toLegacy()
|
|
41
|
+
*
|
|
42
|
+
* @param instructions - Single instruction or array of instructions
|
|
43
|
+
* @param options - Optional configuration for compute budget
|
|
44
|
+
* @returns InstructionResult (extends Instruction[], has .toLegacy() method)
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* // Kit users - use result directly as Instruction[]
|
|
49
|
+
* const ixs = prepareInstructions(acceptRentalIx);
|
|
50
|
+
* // ixs works with appendTransactionMessageInstruction()
|
|
51
|
+
*
|
|
52
|
+
* // Add compute budget
|
|
53
|
+
* const ixs = prepareInstructions(acceptRentalIx, { computeUnits: 400_000 });
|
|
54
|
+
*
|
|
55
|
+
* // Web3.js users - call .toLegacy()
|
|
56
|
+
* import { PublicKey } from '@solana/web3.js';
|
|
57
|
+
* const legacyIxs = prepareInstructions(acceptRentalIx).toLegacy(PublicKey);
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export function prepareInstructions(instructions, options) {
|
|
61
|
+
// Normalize to array
|
|
62
|
+
const ixArray = Array.isArray(instructions) ? instructions : [instructions];
|
|
63
|
+
// Optionally prepend compute budget instruction
|
|
64
|
+
let finalIxs = ixArray;
|
|
65
|
+
if (options?.computeUnits) {
|
|
66
|
+
const computeBudgetIx = createComputeBudgetInstruction(options.computeUnits);
|
|
67
|
+
finalIxs = [computeBudgetIx, ...ixArray];
|
|
68
|
+
}
|
|
69
|
+
return new InstructionResult(finalIxs);
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../src/utils/instructions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;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,MAAM,UAAU,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,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Address Lookup Table utilities for SRSLY
|
|
3
|
+
*
|
|
4
|
+
* Provides helpers for fetching and using the SRSLY Address Lookup Table
|
|
5
|
+
* to reduce transaction size for rental operations.
|
|
6
|
+
*/
|
|
7
|
+
import { fetchConfig } from '../accounts/config';
|
|
8
|
+
import { createRpc } from './rpc';
|
|
9
|
+
import { getRpcUrl } from './config';
|
|
10
|
+
/**
|
|
11
|
+
* System program address used as default when ALT not configured
|
|
12
|
+
*/
|
|
13
|
+
const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
|
|
14
|
+
/**
|
|
15
|
+
* Fetch the SRSLY Address Lookup Table from chain
|
|
16
|
+
*
|
|
17
|
+
* The ALT contains static addresses used across all rental operations,
|
|
18
|
+
* reducing transaction size by ~310 bytes when used with versioned transactions.
|
|
19
|
+
*
|
|
20
|
+
* @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
|
|
21
|
+
* @returns ALT data with addresses, or null if ALT not configured
|
|
22
|
+
* @throws Error if fetch fails
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* // Fetch ALT using global config RPC
|
|
27
|
+
* const alt = await fetchLookupTable();
|
|
28
|
+
* if (alt) {
|
|
29
|
+
* console.log('ALT address:', alt.address);
|
|
30
|
+
* console.log('Contains', alt.addresses.length, 'addresses');
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export async function fetchLookupTable(rpcUrl) {
|
|
35
|
+
try {
|
|
36
|
+
// Fetch config to get ALT address
|
|
37
|
+
const config = await fetchConfig(rpcUrl);
|
|
38
|
+
const altAddress = config.data.lookupTable;
|
|
39
|
+
// Return null if ALT not configured (default pubkey)
|
|
40
|
+
if (altAddress === SYSTEM_PROGRAM_ID) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
// Fetch ALT account data
|
|
44
|
+
const resolvedRpcUrl = rpcUrl || getRpcUrl();
|
|
45
|
+
const rpc = createRpc(resolvedRpcUrl);
|
|
46
|
+
const accountInfo = await rpc.getAccountInfo(altAddress, { encoding: 'base64' }).send();
|
|
47
|
+
if (!accountInfo.value) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
// Decode ALT data
|
|
51
|
+
// ALT format: https://docs.solanalabs.com/implemented-proposals/address-lookup-table
|
|
52
|
+
// Header: 56 bytes (discriminator, deactivation_slot, last_extended_slot, etc.)
|
|
53
|
+
// Addresses: remaining bytes, 32 bytes each
|
|
54
|
+
const data = base64ToUint8Array(accountInfo.value.data[0]);
|
|
55
|
+
// Skip 56-byte header to get to addresses
|
|
56
|
+
const HEADER_SIZE = 56;
|
|
57
|
+
const ADDRESS_SIZE = 32;
|
|
58
|
+
const addresses = [];
|
|
59
|
+
for (let i = HEADER_SIZE; i < data.length; i += ADDRESS_SIZE) {
|
|
60
|
+
const addressBytes = data.subarray(i, i + ADDRESS_SIZE);
|
|
61
|
+
// Convert to base58 address string
|
|
62
|
+
addresses.push(bs58Encode(addressBytes));
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
address: altAddress,
|
|
66
|
+
addresses,
|
|
67
|
+
isActive: addresses.length > 0,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
throw new Error(`Failed to fetch lookup table: ${error.message}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get the ALT address from config without fetching full ALT data
|
|
76
|
+
*
|
|
77
|
+
* @param rpcUrl - Optional RPC endpoint URL
|
|
78
|
+
* @returns ALT address, or null if not configured
|
|
79
|
+
*/
|
|
80
|
+
export async function getLookupTableAddress(rpcUrl) {
|
|
81
|
+
const config = await fetchConfig(rpcUrl);
|
|
82
|
+
const altAddress = config.data.lookupTable;
|
|
83
|
+
if (altAddress === SYSTEM_PROGRAM_ID) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
return altAddress;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Browser-compatible base64 to Uint8Array decoder
|
|
90
|
+
* Uses atob which is available in browsers and Node.js 16+
|
|
91
|
+
*/
|
|
92
|
+
function base64ToUint8Array(base64) {
|
|
93
|
+
const binaryString = atob(base64);
|
|
94
|
+
const bytes = new Uint8Array(binaryString.length);
|
|
95
|
+
for (let i = 0; i < binaryString.length; i++) {
|
|
96
|
+
bytes[i] = binaryString.charCodeAt(i);
|
|
97
|
+
}
|
|
98
|
+
return bytes;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Simple base58 encoder for address bytes
|
|
102
|
+
* Using a minimal implementation to avoid additional dependencies
|
|
103
|
+
*/
|
|
104
|
+
function bs58Encode(bytes) {
|
|
105
|
+
const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
106
|
+
const BASE = 58;
|
|
107
|
+
if (bytes.length === 0)
|
|
108
|
+
return '';
|
|
109
|
+
// Count leading zeros
|
|
110
|
+
let zeros = 0;
|
|
111
|
+
while (zeros < bytes.length && bytes[zeros] === 0) {
|
|
112
|
+
zeros++;
|
|
113
|
+
}
|
|
114
|
+
// Convert to base58
|
|
115
|
+
const input = Array.from(bytes);
|
|
116
|
+
const encoded = [];
|
|
117
|
+
for (const byte of input) {
|
|
118
|
+
let carry = byte;
|
|
119
|
+
for (let i = 0; i < encoded.length; i++) {
|
|
120
|
+
carry += encoded[i] << 8;
|
|
121
|
+
encoded[i] = carry % BASE;
|
|
122
|
+
carry = Math.floor(carry / BASE);
|
|
123
|
+
}
|
|
124
|
+
while (carry > 0) {
|
|
125
|
+
encoded.push(carry % BASE);
|
|
126
|
+
carry = Math.floor(carry / BASE);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// Add leading zeros
|
|
130
|
+
let result = ALPHABET[0].repeat(zeros);
|
|
131
|
+
// Convert to string (encoded is in reverse order)
|
|
132
|
+
for (let i = encoded.length - 1; i >= 0; i--) {
|
|
133
|
+
result += ALPHABET[encoded[i]];
|
|
134
|
+
}
|
|
135
|
+
return result;
|
|
136
|
+
}
|
|
137
|
+
//# 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,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rental utility functions
|
|
3
|
+
* @module utils/rental
|
|
4
|
+
*/
|
|
5
|
+
import { fetchRentalState } from '../generated/codama/accounts';
|
|
6
|
+
import { RentalStatus } from '../generated/codama/types';
|
|
7
|
+
import { deriveActiveRental, deriveQueuedRental } from '../pda/srsly';
|
|
8
|
+
import { createRpc } from './rpc';
|
|
9
|
+
/**
|
|
10
|
+
* Check if a contract has an active rental.
|
|
11
|
+
*
|
|
12
|
+
* @param contract - The contract address
|
|
13
|
+
* @param rpcUrl - RPC URL to use for fetching rental state
|
|
14
|
+
* @returns true if active rental exists and has Active status
|
|
15
|
+
*/
|
|
16
|
+
export async function hasActiveRental(contract, rpcUrl) {
|
|
17
|
+
const rpc = createRpc(rpcUrl);
|
|
18
|
+
try {
|
|
19
|
+
const activeRentalPda = await deriveActiveRental(contract);
|
|
20
|
+
const rentalState = await fetchRentalState(rpc, activeRentalPda);
|
|
21
|
+
return rentalState.data.status === RentalStatus.Active;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Check if a contract has a queued rental reservation.
|
|
29
|
+
*
|
|
30
|
+
* @param contract - The contract address
|
|
31
|
+
* @param rpcUrl - RPC URL to use for fetching rental state
|
|
32
|
+
* @returns true if queued rental exists and has Queued status
|
|
33
|
+
*/
|
|
34
|
+
export async function hasQueuedRental(contract, rpcUrl) {
|
|
35
|
+
const rpc = createRpc(rpcUrl);
|
|
36
|
+
try {
|
|
37
|
+
const queuedRentalPda = await deriveQueuedRental(contract);
|
|
38
|
+
const rentalState = await fetchRentalState(rpc, queuedRentalPda);
|
|
39
|
+
return rentalState.data.status === RentalStatus.Queued;
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=rental.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rental.js","sourceRoot":"","sources":["../../../src/utils/rental.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA0B,EAC1B,MAAc;IAEd,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA0B,EAC1B,MAAc;IAEd,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|