@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,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Amount parameter conversion utilities
|
|
4
|
+
*
|
|
5
|
+
* Converts user-friendly ATLAS amounts to stardust (smallest unit) for use with Solana programs.
|
|
6
|
+
* 1 ATLAS = 100,000,000 stardust (8 decimal places)
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.convertAmount = convertAmount;
|
|
10
|
+
exports.stardustToAtlas = stardustToAtlas;
|
|
11
|
+
exports.formatAmount = formatAmount;
|
|
12
|
+
exports.validateAmount = validateAmount;
|
|
13
|
+
/**
|
|
14
|
+
* Stardust per ATLAS (8 decimal places)
|
|
15
|
+
*/
|
|
16
|
+
const STARDUST_PER_ATLAS = 100_000_000;
|
|
17
|
+
const MAX_U64 = 18446744073709551615n;
|
|
18
|
+
/**
|
|
19
|
+
* Convert amount parameter to stardust (smallest unit)
|
|
20
|
+
*
|
|
21
|
+
* @param amount - Amount in any supported format
|
|
22
|
+
* @returns Amount in stardust (u64 for Solana program)
|
|
23
|
+
* @throws Error if amount is invalid, negative, or non-integer stardust
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* convertAmount(10_000_000_000) // 10_000_000_000n stardust (100 ATLAS)
|
|
28
|
+
* convertAmount({ atlas: 10 }) // 1_000_000_000n stardust (10 ATLAS)
|
|
29
|
+
* convertAmount({ stardust: 1_000_000 }) // 1_000_000n stardust (0.01 ATLAS)
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
function convertAmount(amount) {
|
|
33
|
+
if (typeof amount === 'number' || typeof amount === 'bigint') {
|
|
34
|
+
return toStardustBigInt(amount, 'stardust');
|
|
35
|
+
}
|
|
36
|
+
if (typeof amount !== 'object' || amount === null) {
|
|
37
|
+
throw new Error(`Invalid amount type. Expected number, bigint, or object. Got: ${typeof amount}`);
|
|
38
|
+
}
|
|
39
|
+
if ('atlas' in amount && amount.atlas !== undefined) {
|
|
40
|
+
if (amount.atlas < 0) {
|
|
41
|
+
throw new Error(`ATLAS amount must be non-negative, got ${amount.atlas}`);
|
|
42
|
+
}
|
|
43
|
+
return toStardustBigInt(amount.atlas * STARDUST_PER_ATLAS, 'atlas');
|
|
44
|
+
}
|
|
45
|
+
if ('stardust' in amount && amount.stardust !== undefined) {
|
|
46
|
+
return toStardustBigInt(amount.stardust, 'stardust');
|
|
47
|
+
}
|
|
48
|
+
throw new Error(`Invalid amount format. Expected number, bigint, { atlas: number }, or { stardust: number | bigint }. ` +
|
|
49
|
+
`Got: ${JSON.stringify(amount)}`);
|
|
50
|
+
}
|
|
51
|
+
function toStardustBigInt(raw, unit) {
|
|
52
|
+
if (typeof raw === 'bigint') {
|
|
53
|
+
if (raw < 0n)
|
|
54
|
+
throw new Error(`Amount must be non-negative, got ${raw}`);
|
|
55
|
+
if (raw > MAX_U64)
|
|
56
|
+
throw new Error(`Amount too large. Max u64: ${MAX_U64}, got: ${raw}`);
|
|
57
|
+
return raw;
|
|
58
|
+
}
|
|
59
|
+
if (!Number.isFinite(raw)) {
|
|
60
|
+
throw new Error(`Amount must be a finite number, got ${raw}`);
|
|
61
|
+
}
|
|
62
|
+
if (raw < 0) {
|
|
63
|
+
throw new Error(`Amount must be non-negative, got ${raw}`);
|
|
64
|
+
}
|
|
65
|
+
// The `{ atlas: ... }` path arrives here already multiplied by 1e8 — round
|
|
66
|
+
// to absorb floating-point drift like 1.5 * 1e8 → 150000000.00000003.
|
|
67
|
+
const value = unit === 'atlas' ? Math.round(raw) : raw;
|
|
68
|
+
if (!Number.isInteger(value)) {
|
|
69
|
+
throw new Error(`Stardust must be a whole number, got ${raw}. ` +
|
|
70
|
+
`For sub-stardust precision use \`{ atlas: ${raw / STARDUST_PER_ATLAS} }\` instead.`);
|
|
71
|
+
}
|
|
72
|
+
const big = BigInt(value);
|
|
73
|
+
if (big > MAX_U64)
|
|
74
|
+
throw new Error(`Amount too large. Max u64: ${MAX_U64}, got: ${big}`);
|
|
75
|
+
return big;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Convert stardust to ATLAS for display
|
|
79
|
+
*
|
|
80
|
+
* @param stardust - Amount in stardust
|
|
81
|
+
* @returns Amount in ATLAS (decimal)
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* stardustToAtlas(100_000_000n) // 1.0 ATLAS
|
|
86
|
+
* stardustToAtlas(150_000_000n) // 1.5 ATLAS
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
function stardustToAtlas(stardust) {
|
|
90
|
+
const stardustNum = typeof stardust === 'bigint' ? Number(stardust) : stardust;
|
|
91
|
+
return stardustNum / STARDUST_PER_ATLAS;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Format amount for display
|
|
95
|
+
*
|
|
96
|
+
* @param stardust - Amount in stardust
|
|
97
|
+
* @param decimals - Number of decimal places (default: 8 for full precision)
|
|
98
|
+
* @returns Formatted ATLAS amount string
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* formatAmount(100_000_000n) // "1.00000000 ATLAS"
|
|
103
|
+
* formatAmount(150_000_000n, 2) // "1.50 ATLAS"
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
function formatAmount(stardust, decimals = 8) {
|
|
107
|
+
const atlas = stardustToAtlas(stardust);
|
|
108
|
+
return `${atlas.toFixed(decimals)} ATLAS`;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Validate amount is within reasonable bounds
|
|
112
|
+
*
|
|
113
|
+
* @param stardust - Amount in stardust
|
|
114
|
+
* @param min - Minimum allowed amount in stardust (default: 0)
|
|
115
|
+
* @param max - Maximum allowed amount in stardust (default: MAX_U64)
|
|
116
|
+
* @throws Error if amount is out of bounds
|
|
117
|
+
*/
|
|
118
|
+
function validateAmount(stardust, min = 0n, max = 18446744073709551615n) {
|
|
119
|
+
if (stardust < min) {
|
|
120
|
+
throw new Error(`Amount too small: ${formatAmount(stardust)}. ` + `Minimum: ${formatAmount(min)}`);
|
|
121
|
+
}
|
|
122
|
+
if (stardust > max) {
|
|
123
|
+
throw new Error(`Amount too large: ${formatAmount(stardust)}. ` + `Maximum: ${formatAmount(max)}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=amount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amount.js","sourceRoot":"","sources":["../../../src/params/amount.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Duration parameter conversion utilities
|
|
4
|
+
*
|
|
5
|
+
* Converts user-friendly duration formats to seconds for use with Solana programs.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.convertDuration = convertDuration;
|
|
9
|
+
exports.validateDuration = validateDuration;
|
|
10
|
+
exports.formatDuration = formatDuration;
|
|
11
|
+
/**
|
|
12
|
+
* Time unit conversion constants
|
|
13
|
+
*/
|
|
14
|
+
const SECONDS_PER_MINUTE = 60;
|
|
15
|
+
const SECONDS_PER_HOUR = 3600;
|
|
16
|
+
const SECONDS_PER_DAY = 86400;
|
|
17
|
+
const SECONDS_PER_WEEK = 604800;
|
|
18
|
+
const SECONDS_PER_MONTH = 2678400; // 31 days
|
|
19
|
+
/**
|
|
20
|
+
* Convert duration parameter to seconds
|
|
21
|
+
*
|
|
22
|
+
* @param duration - Duration in any supported format
|
|
23
|
+
* @returns Duration in seconds
|
|
24
|
+
* @throws Error if duration is invalid or negative
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* convertDuration(3600) // 3600 seconds
|
|
29
|
+
* convertDuration({ hours: 1 }) // 3600 seconds
|
|
30
|
+
* convertDuration({ days: 7 }) // 604800 seconds
|
|
31
|
+
* convertDuration({ weeks: 2 }) // 1209600 seconds
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
function convertDuration(duration) {
|
|
35
|
+
// Handle plain number (seconds)
|
|
36
|
+
if (typeof duration === 'number') {
|
|
37
|
+
if (duration < 0) {
|
|
38
|
+
throw new Error(`Duration must be positive, got ${duration}`);
|
|
39
|
+
}
|
|
40
|
+
return Math.floor(duration);
|
|
41
|
+
}
|
|
42
|
+
// Handle object format
|
|
43
|
+
if (typeof duration === 'object' && duration !== null) {
|
|
44
|
+
if ('seconds' in duration && duration.seconds !== undefined) {
|
|
45
|
+
return Math.floor(duration.seconds);
|
|
46
|
+
}
|
|
47
|
+
if ('minutes' in duration && duration.minutes !== undefined) {
|
|
48
|
+
return Math.floor(duration.minutes * SECONDS_PER_MINUTE);
|
|
49
|
+
}
|
|
50
|
+
if ('hours' in duration && duration.hours !== undefined) {
|
|
51
|
+
return Math.floor(duration.hours * SECONDS_PER_HOUR);
|
|
52
|
+
}
|
|
53
|
+
if ('days' in duration && duration.days !== undefined) {
|
|
54
|
+
return Math.floor(duration.days * SECONDS_PER_DAY);
|
|
55
|
+
}
|
|
56
|
+
if ('weeks' in duration && duration.weeks !== undefined) {
|
|
57
|
+
return Math.floor(duration.weeks * SECONDS_PER_WEEK);
|
|
58
|
+
}
|
|
59
|
+
if ('months' in duration && duration.months !== undefined) {
|
|
60
|
+
return Math.floor(duration.months * SECONDS_PER_MONTH);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
throw new Error(`Invalid duration format. Expected number or object with time unit. ` +
|
|
64
|
+
`Got: ${JSON.stringify(duration)}`);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Validate duration limits
|
|
68
|
+
*
|
|
69
|
+
* Ensures duration is within reasonable bounds for rental contracts.
|
|
70
|
+
*
|
|
71
|
+
* @param durationSeconds - Duration in seconds
|
|
72
|
+
* @param min - Minimum allowed duration (default: 1 hour)
|
|
73
|
+
* @param max - Maximum allowed duration (default: 1 year)
|
|
74
|
+
* @throws Error if duration is out of bounds
|
|
75
|
+
*/
|
|
76
|
+
function validateDuration(durationSeconds, min = SECONDS_PER_HOUR, max = SECONDS_PER_DAY * 365) {
|
|
77
|
+
if (durationSeconds < min) {
|
|
78
|
+
throw new Error(`Duration too short: ${durationSeconds}s. Minimum: ${min}s (${formatDuration(min)})`);
|
|
79
|
+
}
|
|
80
|
+
if (durationSeconds > max) {
|
|
81
|
+
throw new Error(`Duration too long: ${durationSeconds}s. Maximum: ${max}s (${formatDuration(max)})`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Format duration in seconds to human-readable string
|
|
86
|
+
*
|
|
87
|
+
* @param seconds - Duration in seconds
|
|
88
|
+
* @returns Human-readable duration string
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* formatDuration(3600) // "1 hour"
|
|
93
|
+
* formatDuration(86400) // "1 day"
|
|
94
|
+
* formatDuration(7200) // "2 hours"
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
function formatDuration(seconds) {
|
|
98
|
+
if (seconds >= SECONDS_PER_MONTH) {
|
|
99
|
+
const months = Math.floor(seconds / SECONDS_PER_MONTH);
|
|
100
|
+
return `${months} month${months > 1 ? 's' : ''}`;
|
|
101
|
+
}
|
|
102
|
+
if (seconds >= SECONDS_PER_WEEK) {
|
|
103
|
+
const weeks = Math.floor(seconds / SECONDS_PER_WEEK);
|
|
104
|
+
return `${weeks} week${weeks > 1 ? 's' : ''}`;
|
|
105
|
+
}
|
|
106
|
+
if (seconds >= SECONDS_PER_DAY) {
|
|
107
|
+
const days = Math.floor(seconds / SECONDS_PER_DAY);
|
|
108
|
+
return `${days} day${days > 1 ? 's' : ''}`;
|
|
109
|
+
}
|
|
110
|
+
if (seconds >= SECONDS_PER_HOUR) {
|
|
111
|
+
const hours = Math.floor(seconds / SECONDS_PER_HOUR);
|
|
112
|
+
return `${hours} hour${hours > 1 ? 's' : ''}`;
|
|
113
|
+
}
|
|
114
|
+
if (seconds >= SECONDS_PER_MINUTE) {
|
|
115
|
+
const minutes = Math.floor(seconds / SECONDS_PER_MINUTE);
|
|
116
|
+
return `${minutes} minute${minutes > 1 ? 's' : ''}`;
|
|
117
|
+
}
|
|
118
|
+
return `${seconds} second${seconds !== 1 ? 's' : ''}`;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=duration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/params/duration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./amount"), exports);
|
|
18
|
+
__exportStar(require("./duration"), exports);
|
|
19
|
+
__exportStar(require("./schedule"), exports);
|
|
20
|
+
__exportStar(require("./sol"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/params/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,wCAAsB"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Payment schedule parameter conversion utilities
|
|
4
|
+
*
|
|
5
|
+
* Converts user-friendly schedule formats to strings for use with Solana programs.
|
|
6
|
+
* Supports common shortcuts and cron expressions.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.SCHEDULE_SHORTCUTS = void 0;
|
|
10
|
+
exports.normalizeSchedule = normalizeSchedule;
|
|
11
|
+
exports.validateScheduleFormat = validateScheduleFormat;
|
|
12
|
+
exports.formatSchedule = formatSchedule;
|
|
13
|
+
exports.isScheduleShortcut = isScheduleShortcut;
|
|
14
|
+
/**
|
|
15
|
+
* Common schedule shortcuts
|
|
16
|
+
*/
|
|
17
|
+
exports.SCHEDULE_SHORTCUTS = [
|
|
18
|
+
'@hourly',
|
|
19
|
+
'@daily',
|
|
20
|
+
'@weekly',
|
|
21
|
+
'@monthly',
|
|
22
|
+
'@yearly',
|
|
23
|
+
'@annually',
|
|
24
|
+
'@decasecond',
|
|
25
|
+
'@minute',
|
|
26
|
+
'hourly',
|
|
27
|
+
'daily',
|
|
28
|
+
'weekly',
|
|
29
|
+
'monthly',
|
|
30
|
+
'yearly',
|
|
31
|
+
'annually',
|
|
32
|
+
'decasecond',
|
|
33
|
+
'minute',
|
|
34
|
+
];
|
|
35
|
+
/**
|
|
36
|
+
* Mapping of shortcuts without @ prefix to their @ equivalents
|
|
37
|
+
*/
|
|
38
|
+
const SHORTCUT_TO_AT_PREFIX = {
|
|
39
|
+
hourly: '@hourly',
|
|
40
|
+
daily: '@daily',
|
|
41
|
+
weekly: '@weekly',
|
|
42
|
+
monthly: '@monthly',
|
|
43
|
+
yearly: '@yearly',
|
|
44
|
+
annually: '@annually',
|
|
45
|
+
decasecond: '@decasecond',
|
|
46
|
+
minute: '@minute',
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Basic cron expression validation pattern
|
|
50
|
+
*
|
|
51
|
+
* Supports:
|
|
52
|
+
* - Standard 5-field cron: "0 * * * *"
|
|
53
|
+
* - Extended 6-field cron with seconds: "0 0 * * * *"
|
|
54
|
+
* - @shortcuts: "@hourly", "@daily", etc.
|
|
55
|
+
*/
|
|
56
|
+
const CRON_PATTERN = /^(@\w+|[\d\*\/\-,]+(\s+[\d\*\/\-,]+){4,5})$/;
|
|
57
|
+
/**
|
|
58
|
+
* Normalize payment schedule input to program-compatible format
|
|
59
|
+
*
|
|
60
|
+
* @param schedule - Payment schedule string
|
|
61
|
+
* @returns Normalized schedule string for Solana program
|
|
62
|
+
* @throws Error if schedule format is invalid
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* normalizeSchedule('daily') // '@daily'
|
|
67
|
+
* normalizeSchedule('@hourly') // '@hourly'
|
|
68
|
+
* normalizeSchedule('0 * * * *') // '0 * * * *'
|
|
69
|
+
* normalizeSchedule('0 0 * * * *') // '0 0 * * * *' (with seconds)
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
function normalizeSchedule(schedule) {
|
|
73
|
+
if (!schedule || typeof schedule !== 'string') {
|
|
74
|
+
throw new Error(`Invalid schedule format. Expected string, got: ${typeof schedule}`);
|
|
75
|
+
}
|
|
76
|
+
// Trim whitespace
|
|
77
|
+
const trimmed = schedule.trim();
|
|
78
|
+
if (!trimmed) {
|
|
79
|
+
throw new Error('Schedule cannot be empty');
|
|
80
|
+
}
|
|
81
|
+
// If it already has @ prefix, validate and return
|
|
82
|
+
if (trimmed.startsWith('@')) {
|
|
83
|
+
if (!validateScheduleFormat(trimmed)) {
|
|
84
|
+
throw new Error(`Invalid schedule shortcut: ${trimmed}`);
|
|
85
|
+
}
|
|
86
|
+
return trimmed.toLowerCase();
|
|
87
|
+
}
|
|
88
|
+
// Check if it's a known shortcut without @ prefix
|
|
89
|
+
const lowerTrimmed = trimmed.toLowerCase();
|
|
90
|
+
if (lowerTrimmed in SHORTCUT_TO_AT_PREFIX) {
|
|
91
|
+
return SHORTCUT_TO_AT_PREFIX[lowerTrimmed];
|
|
92
|
+
}
|
|
93
|
+
// Otherwise treat as cron expression - validate and return as-is
|
|
94
|
+
if (!validateScheduleFormat(trimmed)) {
|
|
95
|
+
throw new Error(`Invalid schedule format. Expected @shortcut or cron expression. ` +
|
|
96
|
+
`Valid shortcuts: ${Object.keys(SHORTCUT_TO_AT_PREFIX).join(', ')}. ` +
|
|
97
|
+
`Got: "${trimmed}"`);
|
|
98
|
+
}
|
|
99
|
+
return trimmed;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Validate schedule format
|
|
103
|
+
*
|
|
104
|
+
* Checks if a schedule string is either:
|
|
105
|
+
* - A valid @shortcut
|
|
106
|
+
* - A valid cron expression (5 or 6 fields)
|
|
107
|
+
*
|
|
108
|
+
* @param schedule - Schedule string to validate
|
|
109
|
+
* @returns True if valid, false otherwise
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* validateScheduleFormat('@daily') // true
|
|
114
|
+
* validateScheduleFormat('0 * * * *') // true
|
|
115
|
+
* validateScheduleFormat('invalid') // false
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
function validateScheduleFormat(schedule) {
|
|
119
|
+
if (!schedule || typeof schedule !== 'string') {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
const trimmed = schedule.trim();
|
|
123
|
+
// Check if it's a @shortcut
|
|
124
|
+
if (trimmed.startsWith('@')) {
|
|
125
|
+
const shortcut = trimmed.toLowerCase();
|
|
126
|
+
return exports.SCHEDULE_SHORTCUTS.includes(shortcut);
|
|
127
|
+
}
|
|
128
|
+
// Check if it matches cron pattern
|
|
129
|
+
return CRON_PATTERN.test(trimmed);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Convert schedule string to human-readable description
|
|
133
|
+
*
|
|
134
|
+
* @param schedule - Normalized schedule string
|
|
135
|
+
* @returns Human-readable description
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```typescript
|
|
139
|
+
* formatSchedule('@daily') // "Daily"
|
|
140
|
+
* formatSchedule('@hourly') // "Hourly"
|
|
141
|
+
* formatSchedule('0 * * * *') // "Custom: 0 * * * *"
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
function formatSchedule(schedule) {
|
|
145
|
+
const trimmed = schedule.trim().toLowerCase();
|
|
146
|
+
// Handle @shortcuts
|
|
147
|
+
if (trimmed.startsWith('@')) {
|
|
148
|
+
const shortcut = trimmed.slice(1); // Remove @
|
|
149
|
+
return shortcut.charAt(0).toUpperCase() + shortcut.slice(1);
|
|
150
|
+
}
|
|
151
|
+
// Handle cron expressions
|
|
152
|
+
return `Custom: ${trimmed}`;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Check if a schedule is a known shortcut
|
|
156
|
+
*
|
|
157
|
+
* @param schedule - Schedule string to check
|
|
158
|
+
* @returns True if it's a shortcut (with or without @)
|
|
159
|
+
*/
|
|
160
|
+
function isScheduleShortcut(schedule) {
|
|
161
|
+
const lower = schedule.toLowerCase();
|
|
162
|
+
return exports.SCHEDULE_SHORTCUTS.includes(lower);
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=schedule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../../src/params/schedule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose SOL parameter conversion utilities
|
|
4
|
+
*
|
|
5
|
+
* Converts user-friendly SOL amounts to lamports (smallest unit) for use with Solana programs.
|
|
6
|
+
* 1 SOL = 1,000,000,000 lamports (9 decimal places)
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.convertSol = convertSol;
|
|
10
|
+
/**
|
|
11
|
+
* Lamports per SOL (9 decimal places)
|
|
12
|
+
*/
|
|
13
|
+
const LAMPORTS_PER_SOL = 1_000_000_000;
|
|
14
|
+
const MAX_U64 = 18446744073709551615n;
|
|
15
|
+
/**
|
|
16
|
+
* Convert SOL parameter to lamports (smallest unit)
|
|
17
|
+
*
|
|
18
|
+
* @param amount - Amount in any supported format
|
|
19
|
+
* @returns Amount in lamports as bigint (u64 for Solana program)
|
|
20
|
+
* @throws Error if amount is invalid, negative, or non-integer lamports
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* convertSol(10_000_000) // 10_000_000n lamports (0.01 SOL)
|
|
25
|
+
* convertSol({ sol: 0.1 }) // 100_000_000n lamports (0.1 SOL)
|
|
26
|
+
* convertSol({ lamports: 10_000_000 }) // 10_000_000n lamports
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
function convertSol(amount) {
|
|
30
|
+
// Bare number / bigint — treat as lamports.
|
|
31
|
+
if (typeof amount === 'number' || typeof amount === 'bigint') {
|
|
32
|
+
return toLamportsBigInt(amount, 'lamports');
|
|
33
|
+
}
|
|
34
|
+
if (typeof amount !== 'object' || amount === null) {
|
|
35
|
+
throw new Error(`Invalid SOL amount type. Expected number, bigint, or object. Got: ${typeof amount}`);
|
|
36
|
+
}
|
|
37
|
+
if ('sol' in amount && amount.sol !== undefined) {
|
|
38
|
+
if (amount.sol < 0) {
|
|
39
|
+
throw new Error(`SOL amount must be non-negative, got ${amount.sol}`);
|
|
40
|
+
}
|
|
41
|
+
return toLamportsBigInt(amount.sol * LAMPORTS_PER_SOL, 'sol');
|
|
42
|
+
}
|
|
43
|
+
if ('lamports' in amount && amount.lamports !== undefined) {
|
|
44
|
+
return toLamportsBigInt(amount.lamports, 'lamports');
|
|
45
|
+
}
|
|
46
|
+
throw new Error(`Invalid SOL amount format. Expected number, bigint, { sol: number }, or { lamports: number | bigint }. ` +
|
|
47
|
+
`Got: ${JSON.stringify(amount)}`);
|
|
48
|
+
}
|
|
49
|
+
function toLamportsBigInt(raw, unit) {
|
|
50
|
+
if (typeof raw === 'bigint') {
|
|
51
|
+
if (raw < 0n)
|
|
52
|
+
throw new Error(`Amount must be non-negative, got ${raw}`);
|
|
53
|
+
if (raw > MAX_U64)
|
|
54
|
+
throw new Error(`Amount too large. Max u64: ${MAX_U64}, got: ${raw}`);
|
|
55
|
+
return raw;
|
|
56
|
+
}
|
|
57
|
+
if (!Number.isFinite(raw)) {
|
|
58
|
+
throw new Error(`Amount must be a finite number, got ${raw}`);
|
|
59
|
+
}
|
|
60
|
+
if (raw < 0) {
|
|
61
|
+
throw new Error(`Amount must be non-negative, got ${raw}`);
|
|
62
|
+
}
|
|
63
|
+
// Bare numbers + { lamports } must be integers (lamports are atomic).
|
|
64
|
+
// The `{ sol: ... }` path arrives here already multiplied by 1e9 — round
|
|
65
|
+
// down to absorb floating-point drift like 0.1 * 1e9 → 99999999.99999999.
|
|
66
|
+
const value = unit === 'sol' ? Math.round(raw) : raw;
|
|
67
|
+
if (!Number.isInteger(value)) {
|
|
68
|
+
throw new Error(`Lamports must be a whole number, got ${raw}. ` +
|
|
69
|
+
`For sub-lamport precision use \`{ sol: ${raw / LAMPORTS_PER_SOL} }\` instead.`);
|
|
70
|
+
}
|
|
71
|
+
const big = BigInt(value);
|
|
72
|
+
if (big > MAX_U64)
|
|
73
|
+
throw new Error(`Amount too large. Max u64: ${MAX_U64}, got: ${big}`);
|
|
74
|
+
return big;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=sol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sol.js","sourceRoot":"","sources":["../../../src/params/sol.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAyCH,gCA2BC;AAhDD;;GAEG;AACH,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,MAAM,OAAO,GAAG,qBAA2B,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,SAAgB,UAAU,CAAC,MAAgB;IACzC,4CAA4C;IAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7D,OAAO,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,qEAAqE,OAAO,MAAM,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChD,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,GAAG,GAAG,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,UAAU,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yGAAyG;QACvG,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACnC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAoB,EAAE,IAAwB;IACtE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,GAAG,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;QACzE,IAAI,GAAG,GAAG,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC;QACzF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,wCAAwC,GAAG,IAAI;YAC7C,0CAA0C,GAAG,GAAG,gBAAgB,eAAe,CAClF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,GAAG,GAAG,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Constants used for PDA derivation across SRSLY, SAGE, and Thread programs
|
|
4
|
+
* @module pda/constants
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.THREAD_FIBER_SEED = exports.THREAD_SEED = exports.ANTEGEN_FIBER_PROGRAM = exports.ANTEGEN_THREAD_PROGRAM = exports.QUEUED_RENTAL_SEED = exports.ACTIVE_RENTAL_SEED = exports.CONFIG_SEED = exports.BORROWER_STATE_SEED = exports.RENTAL_AUTHORITY_SEED = exports.RENTAL_SEED = exports.CONTRACT_SEED = exports.PROFILE_FACTION_SEED = exports.SAGE_PLAYER_PROFILE_SEED = exports.STARBASE_PLAYER_SEED = exports.STARBASE_SEED = exports.FACTION_MAPPING = exports.FACTION_COORDINATES = void 0;
|
|
8
|
+
exports.isValidFactionName = isValidFactionName;
|
|
9
|
+
exports.getFactionName = getFactionName;
|
|
10
|
+
exports.getFactionCoordinates = getFactionCoordinates;
|
|
11
|
+
/**
|
|
12
|
+
* Faction-specific coordinates for starbase derivation in SAGE
|
|
13
|
+
* These coordinates are used to derive starbase PDAs
|
|
14
|
+
*/
|
|
15
|
+
exports.FACTION_COORDINATES = {
|
|
16
|
+
mud: { x: 0, y: -39 },
|
|
17
|
+
oni: { x: -40, y: 30 },
|
|
18
|
+
ustur: { x: 40, y: 30 },
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Mapping of numeric faction IDs to faction names
|
|
22
|
+
*/
|
|
23
|
+
exports.FACTION_MAPPING = {
|
|
24
|
+
1: 'mud',
|
|
25
|
+
2: 'oni',
|
|
26
|
+
3: 'ustur',
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Seed constants for SAGE program PDA derivation
|
|
30
|
+
*/
|
|
31
|
+
exports.STARBASE_SEED = 'Starbase';
|
|
32
|
+
exports.STARBASE_PLAYER_SEED = 'starbase_player';
|
|
33
|
+
exports.SAGE_PLAYER_PROFILE_SEED = 'sage_player_profile';
|
|
34
|
+
exports.PROFILE_FACTION_SEED = 'player_faction';
|
|
35
|
+
/**
|
|
36
|
+
* Seed constants for SRSLY program PDA derivation
|
|
37
|
+
*/
|
|
38
|
+
exports.CONTRACT_SEED = 'rental_contract';
|
|
39
|
+
exports.RENTAL_SEED = 'rental_state';
|
|
40
|
+
exports.RENTAL_AUTHORITY_SEED = 'rental_authority';
|
|
41
|
+
exports.BORROWER_STATE_SEED = 'borrower_state';
|
|
42
|
+
exports.CONFIG_SEED = 'config';
|
|
43
|
+
exports.ACTIVE_RENTAL_SEED = 'active';
|
|
44
|
+
exports.QUEUED_RENTAL_SEED = 'queued';
|
|
45
|
+
/**
|
|
46
|
+
* Antegen program addresses and seed constants for PDA derivation
|
|
47
|
+
*/
|
|
48
|
+
exports.ANTEGEN_THREAD_PROGRAM = 'AgTv5w1UvUb6zeqkThwMrztGu9hpepBu8YLghuR4dpSx';
|
|
49
|
+
exports.ANTEGEN_FIBER_PROGRAM = 'AgFv5afjW9DmSPkiEvJ1er5bAAmRUqaBeTB6Cr8e1hKx';
|
|
50
|
+
exports.THREAD_SEED = 'thread';
|
|
51
|
+
exports.THREAD_FIBER_SEED = 'thread_fiber';
|
|
52
|
+
/**
|
|
53
|
+
* Type guard to check if a value is a valid faction name
|
|
54
|
+
*/
|
|
55
|
+
function isValidFactionName(faction) {
|
|
56
|
+
return faction === 'mud' || faction === 'oni' || faction === 'ustur';
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get faction name from numeric faction ID
|
|
60
|
+
*/
|
|
61
|
+
function getFactionName(factionId) {
|
|
62
|
+
const name = exports.FACTION_MAPPING[factionId];
|
|
63
|
+
if (!name) {
|
|
64
|
+
throw new Error(`Invalid faction ID: ${factionId}. Expected 1 (mud), 2 (oni), or 3 (ustur)`);
|
|
65
|
+
}
|
|
66
|
+
return name;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get faction coordinates by name
|
|
70
|
+
*/
|
|
71
|
+
function getFactionCoordinates(faction) {
|
|
72
|
+
const coords = exports.FACTION_COORDINATES[faction.toLowerCase()];
|
|
73
|
+
if (!coords) {
|
|
74
|
+
throw new Error(`Invalid faction: ${faction}. Expected 'mud', 'oni', or 'ustur'`);
|
|
75
|
+
}
|
|
76
|
+
return coords;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/pda/constants.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAmDH,gDAEC;AAKD,wCAMC;AAKD,sDAMC;AAzED;;;GAGG;AACU,QAAA,mBAAmB,GAA6C;IAC3E,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACrB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;IACtB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;CACxB,CAAC;AAEF;;GAEG;AACU,QAAA,eAAe,GAA2B;IACrD,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,OAAO;CACX,CAAC;AAEF;;GAEG;AACU,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AACzC,QAAA,wBAAwB,GAAG,qBAAqB,CAAC;AACjD,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AAErD;;GAEG;AACU,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAClC,QAAA,WAAW,GAAG,cAAc,CAAC;AAC7B,QAAA,qBAAqB,GAAG,kBAAkB,CAAC;AAC3C,QAAA,mBAAmB,GAAG,gBAAgB,CAAC;AACvC,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;GAEG;AACU,QAAA,sBAAsB,GAAG,8CAA8C,CAAC;AACxE,QAAA,qBAAqB,GAAG,8CAA8C,CAAC;AACvE,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,iBAAiB,GAAG,cAAc,CAAC;AAEhD;;GAEG;AACH,SAAgB,kBAAkB,CAAC,OAAe;IAChD,OAAO,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,OAAO,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,SAAiB;IAC9C,MAAM,IAAI,GAAG,uBAAe,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,2CAA2C,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,MAAM,GAAG,2BAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,qCAAqC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|