@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,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified closeContract instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated closeContract instruction.
|
|
5
|
+
* Closes a contract with no active rentals and claims remaining payments.
|
|
6
|
+
*/
|
|
7
|
+
import { AccountRole, address } from '@solana/kit';
|
|
8
|
+
import { getCloseContractInstructionAsync, getCloseContractThreadInstructionAsync, } from '../generated/codama/instructions';
|
|
9
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
+
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
+
import { fetchContract } from '../accounts/contract';
|
|
12
|
+
import { fetchConfig } from '../accounts/config';
|
|
13
|
+
import { fetchRental } from '../accounts/rental';
|
|
14
|
+
import { fetchThreadByAddress } from '../accounts/thread';
|
|
15
|
+
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
16
|
+
import { deriveContract, deriveBorrowerState, deriveRentalAuthority } from '../pda/srsly';
|
|
17
|
+
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
18
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
19
|
+
/**
|
|
20
|
+
* Close a rental contract and refund rent to the owner. Idempotent —
|
|
21
|
+
* recovers cleanly from partial prior closes. When no rental is active,
|
|
22
|
+
* the contract's automation thread is closed in the same transaction.
|
|
23
|
+
*
|
|
24
|
+
* @param params - Contract closing parameters
|
|
25
|
+
* @param config - Optional SDK configuration overrides
|
|
26
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Option 1: Provide fleet only (RECOMMENDED - idempotent)
|
|
31
|
+
* const ix = await closeContract({
|
|
32
|
+
* owner: wallet,
|
|
33
|
+
* fleet: fleetAddress
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* // Option 2: Provide contract only (contract MUST exist)
|
|
37
|
+
* const ix2 = await closeContract({
|
|
38
|
+
* owner: wallet,
|
|
39
|
+
* contract: contractAddress
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* // Option 3: Provide both (most explicit, no fetching)
|
|
43
|
+
* const ix3 = await closeContract({
|
|
44
|
+
* owner: wallet,
|
|
45
|
+
* fleet: fleetAddress,
|
|
46
|
+
* contract: contractAddress
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export async function closeContract(params, config) {
|
|
51
|
+
// Merge config
|
|
52
|
+
const finalConfig = mergeConfig(config);
|
|
53
|
+
// Validate required params
|
|
54
|
+
if (!params.owner) {
|
|
55
|
+
throw new Error('owner is required');
|
|
56
|
+
}
|
|
57
|
+
if (!params.fleet && !params.contract) {
|
|
58
|
+
throw new Error('Either fleet or contract must be provided');
|
|
59
|
+
}
|
|
60
|
+
// Convert owner to transaction signer
|
|
61
|
+
const ownerSigner = toTransactionSigner(params.owner);
|
|
62
|
+
// Get atlasMint from on-chain config
|
|
63
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
64
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
65
|
+
const addresses = getAddresses(config);
|
|
66
|
+
const programAddress = address(addresses.srsly);
|
|
67
|
+
// Resolve fleet and contract addresses
|
|
68
|
+
let fleetAddress;
|
|
69
|
+
let contractAddress;
|
|
70
|
+
if (params.fleet && params.contract) {
|
|
71
|
+
// Both provided - use as-is
|
|
72
|
+
fleetAddress = address(params.fleet);
|
|
73
|
+
contractAddress = address(params.contract);
|
|
74
|
+
}
|
|
75
|
+
else if (params.fleet) {
|
|
76
|
+
// Only fleet provided - derive contract from fleet PDA
|
|
77
|
+
fleetAddress = address(params.fleet);
|
|
78
|
+
contractAddress = await deriveContract(fleetAddress, programAddress);
|
|
79
|
+
}
|
|
80
|
+
else if (params.contract) {
|
|
81
|
+
// Only contract provided - fetch contract to get fleet
|
|
82
|
+
contractAddress = address(params.contract);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
// Should never reach here due to validation above
|
|
86
|
+
throw new Error('Either fleet or contract must be provided');
|
|
87
|
+
}
|
|
88
|
+
// Always fetch contract — needed for fleet (if not provided) and thread check
|
|
89
|
+
const contractAccount = await fetchContract(contractAddress, finalConfig.rpcUrl);
|
|
90
|
+
if (!params.fleet) {
|
|
91
|
+
fleetAddress = contractAccount.data.fleet;
|
|
92
|
+
}
|
|
93
|
+
// Get sageProgram from config if not provided
|
|
94
|
+
const sageProgram = params.sageProgram
|
|
95
|
+
? address(params.sageProgram)
|
|
96
|
+
: address(addresses.sage);
|
|
97
|
+
// Derive contract token account (ATA of contract PDA for ATLAS)
|
|
98
|
+
const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
|
|
99
|
+
// Check contract state
|
|
100
|
+
const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
|
|
101
|
+
const hasThread = contractAccount.data.thread !== SYSTEM_PROGRAM_ID;
|
|
102
|
+
const hasActiveSlot = contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID;
|
|
103
|
+
const hasQueuedSlot = contractAccount.data.queuedRental !== SYSTEM_PROGRAM_ID;
|
|
104
|
+
// Check if active rental is expired
|
|
105
|
+
let activeExpired = false;
|
|
106
|
+
if (hasActiveSlot) {
|
|
107
|
+
const activeRental = await fetchRental(contractAccount.data.activeRental, finalConfig.rpcUrl);
|
|
108
|
+
const now = Math.floor(Date.now() / 1000);
|
|
109
|
+
if (activeRental.data.endTime <= BigInt(now)) {
|
|
110
|
+
activeExpired = true;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// Resolve queued borrower accounts when a queued rental exists
|
|
114
|
+
let queuedBorrowerState;
|
|
115
|
+
let queuedBorrowerTokenAccount;
|
|
116
|
+
if (hasQueuedSlot) {
|
|
117
|
+
let queuedBorrower;
|
|
118
|
+
if (params.queuedBorrower) {
|
|
119
|
+
queuedBorrower = address(params.queuedBorrower);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const queuedRental = await fetchRental(contractAccount.data.queuedRental, finalConfig.rpcUrl);
|
|
123
|
+
queuedBorrower = queuedRental.data.borrower;
|
|
124
|
+
}
|
|
125
|
+
queuedBorrowerState = await deriveBorrowerState(queuedBorrower);
|
|
126
|
+
queuedBorrowerTokenAccount = await deriveAssociatedTokenAccount(queuedBorrower, atlasMint);
|
|
127
|
+
}
|
|
128
|
+
// Helper: build a closeContractThread instruction
|
|
129
|
+
const buildThreadCloseIx = async () => {
|
|
130
|
+
const rentalAuthority = await deriveRentalAuthority();
|
|
131
|
+
const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
|
|
132
|
+
const threadAccount = await fetchThreadByAddress(contractThread, finalConfig.rpcUrl);
|
|
133
|
+
const fiberIds = Array.from(threadAccount.data.fiberIds);
|
|
134
|
+
const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
|
|
135
|
+
address: await deriveFiber(contractThread, id),
|
|
136
|
+
role: AccountRole.WRITABLE,
|
|
137
|
+
})));
|
|
138
|
+
const ix = await getCloseContractThreadInstructionAsync({ owner: ownerSigner, contract: contractAddress, thread: contractThread }, { programAddress });
|
|
139
|
+
ix.accounts.push(...fiberAccounts);
|
|
140
|
+
return ix;
|
|
141
|
+
};
|
|
142
|
+
// Helper: build a closeContract instruction with optional queued borrower accounts
|
|
143
|
+
const buildCloseContractIx = async (includeQueued) => {
|
|
144
|
+
return getCloseContractInstructionAsync({
|
|
145
|
+
owner: ownerSigner,
|
|
146
|
+
contract: contractAddress,
|
|
147
|
+
mint: atlasMint,
|
|
148
|
+
fleet: fleetAddress,
|
|
149
|
+
contractTokenAccount: contractTokenAccount,
|
|
150
|
+
sageProgram,
|
|
151
|
+
...(includeQueued && queuedBorrowerState && queuedBorrowerTokenAccount
|
|
152
|
+
? { queuedBorrowerState, queuedBorrowerTokenAccount }
|
|
153
|
+
: {}),
|
|
154
|
+
}, { programAddress });
|
|
155
|
+
};
|
|
156
|
+
// Compose instructions based on scenario
|
|
157
|
+
const ixs = [];
|
|
158
|
+
if (activeExpired && hasQueuedSlot) {
|
|
159
|
+
// Expired active + queued: multi-instruction composition
|
|
160
|
+
// 1. closeRental — settles expired active
|
|
161
|
+
const { closeRental } = await import('./closeRental');
|
|
162
|
+
const closeRentalResult = await closeRental({ payer: params.owner, contract: contractAddress }, config);
|
|
163
|
+
ixs.push(...closeRentalResult.instructions);
|
|
164
|
+
// 2. closeContractThread (if thread exists)
|
|
165
|
+
if (hasThread) {
|
|
166
|
+
ixs.push(await buildThreadCloseIx());
|
|
167
|
+
}
|
|
168
|
+
// 3. closeContract — force-closes queued, sets to_close
|
|
169
|
+
ixs.push(await buildCloseContractIx(true));
|
|
170
|
+
// 4. closeContract — final close (no active, no queued, no thread)
|
|
171
|
+
ixs.push(await buildCloseContractIx(false));
|
|
172
|
+
}
|
|
173
|
+
else if (activeExpired && !hasQueuedSlot) {
|
|
174
|
+
// Expired active only, no queued — settle then close
|
|
175
|
+
const { closeRental } = await import('./closeRental');
|
|
176
|
+
const closeRentalResult = await closeRental({ payer: params.owner, contract: contractAddress }, config);
|
|
177
|
+
ixs.push(...closeRentalResult.instructions);
|
|
178
|
+
if (hasThread) {
|
|
179
|
+
ixs.push(await buildThreadCloseIx());
|
|
180
|
+
}
|
|
181
|
+
ixs.push(await buildCloseContractIx(false));
|
|
182
|
+
}
|
|
183
|
+
else if (!activeExpired && hasQueuedSlot) {
|
|
184
|
+
// Non-expired active + queued — deferred close with queued borrower accounts
|
|
185
|
+
ixs.push(await buildCloseContractIx(true));
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
// No active rental (or no rental at all) — simple close
|
|
189
|
+
if (hasThread) {
|
|
190
|
+
ixs.push(await buildThreadCloseIx());
|
|
191
|
+
}
|
|
192
|
+
ixs.push(await buildCloseContractIx(false));
|
|
193
|
+
}
|
|
194
|
+
return prepareInstructions(ixs, {
|
|
195
|
+
computeUnits: params.computeUnits,
|
|
196
|
+
PublicKey: finalConfig.PublicKey,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=closeContract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified closeContractThread instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated closeContractThread instruction.
|
|
5
|
+
* Closes a per-contract automation thread and reclaims rent.
|
|
6
|
+
*/
|
|
7
|
+
import { AccountRole, address } from '@solana/kit';
|
|
8
|
+
import { getCloseContractThreadInstructionAsync } from '../generated/codama/instructions';
|
|
9
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
+
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
12
|
+
import { fetchThreadByAddress } from '../accounts/thread';
|
|
13
|
+
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
14
|
+
import { deriveRentalAuthority } from '../pda/srsly';
|
|
15
|
+
/**
|
|
16
|
+
* Close a contract's automation thread and all of its fibers, reclaiming
|
|
17
|
+
* rent to the owner.
|
|
18
|
+
*
|
|
19
|
+
* @param params - Thread closing parameters
|
|
20
|
+
* @param config - Optional SDK configuration overrides
|
|
21
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
22
|
+
*/
|
|
23
|
+
export async function closeContractThread(params, config) {
|
|
24
|
+
const finalConfig = mergeConfig(config);
|
|
25
|
+
if (!params.owner) {
|
|
26
|
+
throw new Error('owner is required');
|
|
27
|
+
}
|
|
28
|
+
if (!params.contract) {
|
|
29
|
+
throw new Error('contract is required');
|
|
30
|
+
}
|
|
31
|
+
const ownerSigner = toTransactionSigner(params.owner);
|
|
32
|
+
const addresses = getAddresses(config);
|
|
33
|
+
const programAddress = address(addresses.srsly);
|
|
34
|
+
const contractAddress = address(params.contract);
|
|
35
|
+
// Derive thread PDA
|
|
36
|
+
const rentalAuthority = await deriveRentalAuthority();
|
|
37
|
+
const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
|
|
38
|
+
// Fetch thread account to read actual fiber_ids
|
|
39
|
+
const threadAccount = await fetchThreadByAddress(contractThread, finalConfig.rpcUrl);
|
|
40
|
+
const fiberIds = Array.from(threadAccount.data.fiberIds);
|
|
41
|
+
// Derive fiber PDAs only for fibers that actually exist on the thread
|
|
42
|
+
const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
|
|
43
|
+
address: await deriveFiber(contractThread, id),
|
|
44
|
+
role: AccountRole.WRITABLE,
|
|
45
|
+
})));
|
|
46
|
+
const kitInstruction = await getCloseContractThreadInstructionAsync({
|
|
47
|
+
owner: ownerSigner,
|
|
48
|
+
contract: contractAddress,
|
|
49
|
+
thread: contractThread,
|
|
50
|
+
}, { programAddress });
|
|
51
|
+
// Add fiber PDAs as remaining accounts (writable, non-signer)
|
|
52
|
+
kitInstruction.accounts.push(...fiberAccounts);
|
|
53
|
+
return prepareInstructions(kitInstruction, {
|
|
54
|
+
computeUnits: params.computeUnits,
|
|
55
|
+
PublicKey: finalConfig.PublicKey,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=closeContractThread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"closeContractThread.js","sourceRoot":"","sources":["../../../src/instructions/closeContractThread.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,sCAAsC,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAsBrD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiC,EACjC,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,oBAAoB;IACpB,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACtD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpF,gDAAgD;IAChD,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAa,CAAC;IAErE,sEAAsE;IACtE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,CAAC;QACxB,OAAO,EAAE,MAAM,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW,CAAC,QAAiB;KACpC,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,sCAAsC,CACjE;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,cAAc;KACvB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,8DAA8D;IAC9D,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAE/C,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified closeRental instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated closeRental instruction.
|
|
5
|
+
* Closes a completed rental and returns the fleet to the owner.
|
|
6
|
+
*/
|
|
7
|
+
import { address } from '@solana/kit';
|
|
8
|
+
import { isOption, unwrapOption } from '@solana/kit';
|
|
9
|
+
import { getCloseRentalInstructionAsync } from '../generated/codama/instructions';
|
|
10
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
11
|
+
import { toTransactionSigner } from '../utils/signer';
|
|
12
|
+
import { fetchConfig } from '../accounts/config';
|
|
13
|
+
import { fetchContract } from '../accounts/contract';
|
|
14
|
+
import { fetchFleet } from '../accounts/fleet';
|
|
15
|
+
import { fetchRental } from '../accounts/rental';
|
|
16
|
+
import { deriveGameAccounts } from '../pda/sage';
|
|
17
|
+
import { deriveActiveRental, deriveBorrowerState, deriveQueuedRental, deriveRentalAuthority, } from '../pda/srsly';
|
|
18
|
+
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
19
|
+
import { deriveProfileFaction } from '../pda/sage';
|
|
20
|
+
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
21
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
22
|
+
/**
|
|
23
|
+
* Finalize a completed rental and return the fleet to the owner.
|
|
24
|
+
*
|
|
25
|
+
* @param params - Rental closure parameters (payer, contract)
|
|
26
|
+
* @param config - Optional SDK configuration overrides
|
|
27
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const ix = await closeRental({
|
|
32
|
+
* payer: ownerWallet,
|
|
33
|
+
* contract: contractAddress
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export async function closeRental(params, config) {
|
|
38
|
+
// Merge config
|
|
39
|
+
const finalConfig = mergeConfig(config);
|
|
40
|
+
// Validate required params
|
|
41
|
+
if (!params.payer) {
|
|
42
|
+
throw new Error('payer is required');
|
|
43
|
+
}
|
|
44
|
+
if (!params.contract) {
|
|
45
|
+
throw new Error('contract is required');
|
|
46
|
+
}
|
|
47
|
+
// Fetch config and contract
|
|
48
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
49
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
50
|
+
const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
51
|
+
const fleet = contractAccount.data.fleet;
|
|
52
|
+
const gameId = contractAccount.data.gameId;
|
|
53
|
+
// Check if contract has a queued rental waiting to activate
|
|
54
|
+
const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
|
|
55
|
+
const hasQueuedRental = contractAccount.data.queuedRental !== SYSTEM_PROGRAM_ID;
|
|
56
|
+
let queuedRentalAddress;
|
|
57
|
+
let queuedBorrowerProfileAddress;
|
|
58
|
+
let queuedBorrowerProfileFactionAddress;
|
|
59
|
+
if (hasQueuedRental) {
|
|
60
|
+
queuedRentalAddress = await deriveQueuedRental(params.contract);
|
|
61
|
+
const queuedRentalState = await fetchRental(queuedRentalAddress, finalConfig.rpcUrl);
|
|
62
|
+
queuedBorrowerProfileAddress = queuedRentalState.data.borrowerProfile;
|
|
63
|
+
queuedBorrowerProfileFactionAddress = await deriveProfileFaction(queuedBorrowerProfileAddress);
|
|
64
|
+
}
|
|
65
|
+
// Thread accounts needed for inline activation restage
|
|
66
|
+
const hasThread = contractAccount.data.thread !== SYSTEM_PROGRAM_ID;
|
|
67
|
+
let contractThreadAddress;
|
|
68
|
+
let closeRentalFiberAddress;
|
|
69
|
+
if (hasQueuedRental && hasThread) {
|
|
70
|
+
const rentalAuthority = await deriveRentalAuthority();
|
|
71
|
+
contractThreadAddress = await deriveContractThread(params.contract, rentalAuthority);
|
|
72
|
+
closeRentalFiberAddress = await deriveFiber(contractThreadAddress, 1);
|
|
73
|
+
}
|
|
74
|
+
// Convert payer to transaction signer
|
|
75
|
+
const payerSigner = toTransactionSigner(params.payer);
|
|
76
|
+
// Derive active rental PDA (no more slot logic)
|
|
77
|
+
const rentalState = await deriveActiveRental(params.contract);
|
|
78
|
+
// Fetch rental state for borrower, referrer
|
|
79
|
+
let borrower;
|
|
80
|
+
let referrer;
|
|
81
|
+
const rental = await fetchRental(rentalState, finalConfig.rpcUrl);
|
|
82
|
+
borrower = params.borrower ? address(params.borrower) : rental.data.borrower;
|
|
83
|
+
referrer = isOption(rental.data.referrer)
|
|
84
|
+
? (unwrapOption(rental.data.referrer) ?? undefined)
|
|
85
|
+
: undefined;
|
|
86
|
+
// Derive borrower state PDA
|
|
87
|
+
const borrowerState = await deriveBorrowerState(borrower);
|
|
88
|
+
// Fetch fleet to get faction and derive SAGE accounts
|
|
89
|
+
// During an active rental, fleet.subProfile IS the current borrower's profile
|
|
90
|
+
const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
|
|
91
|
+
const borrowerProfile = fleetState.subProfile.key;
|
|
92
|
+
const faction = fleetState.faction;
|
|
93
|
+
// Derive SAGE game accounts using borrower's profile
|
|
94
|
+
const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
|
|
95
|
+
// Get addresses
|
|
96
|
+
const addresses = getAddresses(config);
|
|
97
|
+
const sageProgram = address(addresses.sage);
|
|
98
|
+
const programAddress = address(addresses.srsly);
|
|
99
|
+
const contractAddress = address(params.contract);
|
|
100
|
+
// Derive fee flush accounts
|
|
101
|
+
const vaultAddress = address(configAccount.data.slyvault);
|
|
102
|
+
const vaultTokenAccount = await deriveAssociatedTokenAccount(vaultAddress, atlasMint);
|
|
103
|
+
const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
|
|
104
|
+
// Borrower's managed ATA for discount refund
|
|
105
|
+
const borrowerTokenAccount = await deriveAssociatedTokenAccount(borrowerState, atlasMint);
|
|
106
|
+
// Call Codama-generated instruction
|
|
107
|
+
const kitInstruction = await getCloseRentalInstructionAsync({
|
|
108
|
+
payer: payerSigner,
|
|
109
|
+
borrowerState,
|
|
110
|
+
contract: contractAddress,
|
|
111
|
+
rentalState,
|
|
112
|
+
fleet: address(fleet),
|
|
113
|
+
gameId: address(gameId),
|
|
114
|
+
starbase: gameAccounts.starbase,
|
|
115
|
+
starbasePlayer: gameAccounts.starbasePlayer,
|
|
116
|
+
contractTokenAccount,
|
|
117
|
+
vault: vaultAddress,
|
|
118
|
+
vaultTokenAccount,
|
|
119
|
+
referrer,
|
|
120
|
+
borrowerTokenAccount,
|
|
121
|
+
queuedRental: queuedRentalAddress ?? programAddress,
|
|
122
|
+
queuedBorrowerProfile: queuedBorrowerProfileAddress ?? programAddress,
|
|
123
|
+
queuedBorrowerProfileFaction: queuedBorrowerProfileFactionAddress ?? programAddress,
|
|
124
|
+
contractThread: contractThreadAddress,
|
|
125
|
+
closeRentalFiber: closeRentalFiberAddress,
|
|
126
|
+
sageProgram,
|
|
127
|
+
}, { programAddress });
|
|
128
|
+
return prepareInstructions(kitInstruction, {
|
|
129
|
+
computeUnits: params.computeUnits,
|
|
130
|
+
PublicKey: finalConfig.PublicKey,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=closeRental.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA+B5D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAyB,EACzB,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;IACzC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;IAE3C,4DAA4D;IAC5D,MAAM,iBAAiB,GAAG,kCAA6C,CAAC;IACxE,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,YAAY,KAAK,iBAAiB,CAAC;IAEhF,IAAI,mBAAwC,CAAC;IAC7C,IAAI,4BAAiD,CAAC;IACtD,IAAI,mCAAwD,CAAC;IAE7D,IAAI,eAAe,EAAE,CAAC;QACpB,mBAAmB,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,iBAAiB,GAAG,MAAM,WAAW,CAAC,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACrF,4BAA4B,GAAG,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC;QACtE,mCAAmC,GAAG,MAAM,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IACjG,CAAC;IAED,uDAAuD;IACvD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC;IACpE,IAAI,qBAA0C,CAAC;IAC/C,IAAI,uBAA4C,CAAC;IAEjD,IAAI,eAAe,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;QACtD,qBAAqB,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACrF,uBAAuB,GAAG,MAAM,WAAW,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,sCAAsC;IACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,gDAAgD;IAChD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE9D,4CAA4C;IAC5C,IAAI,QAAiB,CAAC;IACtB,IAAI,QAA6B,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxF,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;QACnD,CAAC,CAAC,SAAS,CAAC;IAEd,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE1D,sDAAsD;IACtD,8EAA8E;IAC9E,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;IAClD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IAEnC,qDAAqD;IACrD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEhF,gBAAgB;IAChB,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,4BAA4B;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,QAAmB,CAAC,CAAC;IACrE,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACtF,MAAM,oBAAoB,GAAG,MAAM,4BAA4B,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAE5F,6CAA6C;IAC7C,MAAM,oBAAoB,GAAG,MAAM,4BAA4B,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAE1F,oCAAoC;IACpC,MAAM,cAAc,GAAG,MAAM,8BAA8B,CACzD;QACE,KAAK,EAAE,WAAW;QAClB,aAAa;QACb,QAAQ,EAAE,eAAe;QACzB,WAAW;QACX,KAAK,EAAE,OAAO,CAAC,KAAgB,CAAC;QAChC,MAAM,EAAE,OAAO,CAAC,MAAiB,CAAC;QAClC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,oBAAoB;QACpB,KAAK,EAAE,YAAY;QACnB,iBAAiB;QACjB,QAAQ;QACR,oBAAoB;QACpB,YAAY,EAAE,mBAAmB,IAAI,cAAc;QACnD,qBAAqB,EAAE,4BAA4B,IAAI,cAAc;QACrE,4BAA4B,EAAE,mCAAmC,IAAI,cAAc;QACnF,cAAc,EAAE,qBAAqB;QACrC,gBAAgB,EAAE,uBAAuB;QACzC,WAAW;KACZ,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Create a pending affiliate (Affiliate member) for SRSLY vault
|
|
3
|
+
*
|
|
4
|
+
* Wraps slyvault's initMember instruction with Affiliate type pre-configured.
|
|
5
|
+
* Auto-fetches vault and nonce from parent member state.
|
|
6
|
+
*/
|
|
7
|
+
import { address } from '@solana/kit';
|
|
8
|
+
import { initMember, fetchMember } from '@sly-rentals/vault';
|
|
9
|
+
import { mergeConfig } from '../utils/config';
|
|
10
|
+
/**
|
|
11
|
+
* Register a pending affiliate under a parent Normal member. The
|
|
12
|
+
* affiliate must be activated via `approveAffiliate` before earnings flow.
|
|
13
|
+
*
|
|
14
|
+
* @param params - Affiliate creation parameters
|
|
15
|
+
* @param config - Optional SDK configuration overrides
|
|
16
|
+
* @returns Prepared instruction(s)
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import { createAffiliate } from '@sly-rentals/core';
|
|
21
|
+
*
|
|
22
|
+
* // Create affiliate linked to parent member
|
|
23
|
+
* const ix = await createAffiliate({
|
|
24
|
+
* affiliate: wallet,
|
|
25
|
+
* parentMemberState: "PARENT_MEMBER_STATE_PDA",
|
|
26
|
+
* discountAuthority: "OPTIONAL_DISCOUNT_SIGNER", // optional, defaults to main authority
|
|
27
|
+
* // vault and nonce are auto-fetched from parent state
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export async function createAffiliate(params, config) {
|
|
32
|
+
const finalConfig = mergeConfig(config);
|
|
33
|
+
if (!params.affiliate)
|
|
34
|
+
throw new Error('affiliate is required');
|
|
35
|
+
if (!params.parentMemberState)
|
|
36
|
+
throw new Error('parentMemberState is required');
|
|
37
|
+
// Fetch parent member state to get vault and nonce
|
|
38
|
+
const { data: parentState } = await fetchMember(address(params.parentMemberState), finalConfig.rpcUrl);
|
|
39
|
+
// Validate parent is Normal type with affiliateEnabled
|
|
40
|
+
if (parentState.memberType.__kind !== 'Normal') {
|
|
41
|
+
throw new Error('Parent member is not a Normal member type');
|
|
42
|
+
}
|
|
43
|
+
if (!parentState.memberType.affiliateEnabled) {
|
|
44
|
+
throw new Error('Parent member does not have affiliates enabled');
|
|
45
|
+
}
|
|
46
|
+
// Get vault and nonce from parent state
|
|
47
|
+
const vaultAddress = parentState.vault;
|
|
48
|
+
const parentNonce = parentState.nonce;
|
|
49
|
+
// Call slyvault initMember with Affiliate type pre-configured
|
|
50
|
+
return initMember({
|
|
51
|
+
member: params.affiliate,
|
|
52
|
+
vault: vaultAddress,
|
|
53
|
+
nonce: params.nonce,
|
|
54
|
+
memberType: {
|
|
55
|
+
__kind: 'Affiliate',
|
|
56
|
+
parentMemberNonce: parentNonce,
|
|
57
|
+
percentageBps: 0,
|
|
58
|
+
claimableBalance: 0n,
|
|
59
|
+
isActive: false,
|
|
60
|
+
},
|
|
61
|
+
discountAuthority: params.discountAuthority,
|
|
62
|
+
computeUnits: params.computeUnits,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=createAffiliate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAffiliate.js","sourceRoot":"","sources":["../../../src/instructions/createAffiliate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,WAAW,EAA0B,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAoC9D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA6B,EAC7B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,iBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEhF,mDAAmD;IACnD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAC7C,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EACjC,WAAW,CAAC,MAAM,CACnB,CAAC;IAEF,uDAAuD;IACvD,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,wCAAwC;IACxC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;IACvC,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;IAEtC,8DAA8D;IAC9D,OAAO,UAAU,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC,SAAS;QACxB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE;YACV,MAAM,EAAE,WAAW;YACnB,iBAAiB,EAAE,WAAW;YAC9B,aAAa,EAAE,CAAC;YAChB,gBAAgB,EAAE,EAAE;YACpB,QAAQ,EAAE,KAAK;SAChB;QACD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified createBorrower instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated createBorrower instruction.
|
|
5
|
+
* Creates a BorrowerState PDA with managed token account for a borrower.
|
|
6
|
+
*/
|
|
7
|
+
import { address } from '@solana/kit';
|
|
8
|
+
import { getCreateBorrowerInstructionAsync } from '../generated/codama/instructions';
|
|
9
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
+
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
12
|
+
import { fetchConfig } from '../accounts/config';
|
|
13
|
+
/**
|
|
14
|
+
* Initialize a borrower: a BorrowerState PDA plus a managed ATLAS ATA
|
|
15
|
+
* used to hold reservation bid refunds and knockoff bonuses.
|
|
16
|
+
*
|
|
17
|
+
* @param params - Borrower creation parameters
|
|
18
|
+
* @param config - Optional SDK configuration overrides
|
|
19
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
20
|
+
*/
|
|
21
|
+
export async function createBorrower(params, config) {
|
|
22
|
+
const finalConfig = mergeConfig(config);
|
|
23
|
+
if (!params.borrower) {
|
|
24
|
+
throw new Error('borrower is required');
|
|
25
|
+
}
|
|
26
|
+
const borrowerSigner = toTransactionSigner(params.borrower);
|
|
27
|
+
// Get atlasMint from on-chain config
|
|
28
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
29
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
30
|
+
const addresses = getAddresses(config);
|
|
31
|
+
const programAddress = address(addresses.srsly);
|
|
32
|
+
const kitInstruction = await getCreateBorrowerInstructionAsync({
|
|
33
|
+
borrower: borrowerSigner,
|
|
34
|
+
mint: atlasMint,
|
|
35
|
+
}, { programAddress });
|
|
36
|
+
return prepareInstructions(kitInstruction, {
|
|
37
|
+
computeUnits: params.computeUnits,
|
|
38
|
+
PublicKey: finalConfig.PublicKey,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=createBorrower.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createBorrower.js","sourceRoot":"","sources":["../../../src/instructions/createBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmBjD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D;QACE,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,SAAS;KAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified createConfig instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated createConfig instruction.
|
|
5
|
+
* One-time creation of the global program configuration.
|
|
6
|
+
*/
|
|
7
|
+
import { address } from '@solana/kit';
|
|
8
|
+
import { getCreateConfigInstructionAsync } from '../generated/codama/instructions';
|
|
9
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
+
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
12
|
+
/**
|
|
13
|
+
* One-time initialization of the global program config. Required before
|
|
14
|
+
* any other instruction can run.
|
|
15
|
+
*
|
|
16
|
+
* @param params - Configuration creation parameters
|
|
17
|
+
* @param config - Optional SDK configuration overrides
|
|
18
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // Create with default authority
|
|
23
|
+
* const ix = await createConfig({
|
|
24
|
+
* vault: vaultAddress,
|
|
25
|
+
* vaultTokenAccount: vaultTokenAccountAddress
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* // Create with custom authority
|
|
29
|
+
* const ix2 = await createConfig({
|
|
30
|
+
* authority: adminWallet,
|
|
31
|
+
* vault: vaultAddress,
|
|
32
|
+
* vaultTokenAccount: vaultTokenAccountAddress
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export async function createConfig(params, config) {
|
|
37
|
+
// Merge config
|
|
38
|
+
const finalConfig = mergeConfig(config);
|
|
39
|
+
// Validate required params
|
|
40
|
+
if (!params.vault) {
|
|
41
|
+
throw new Error('vault is required');
|
|
42
|
+
}
|
|
43
|
+
if (!params.vaultTokenAccount) {
|
|
44
|
+
throw new Error('vaultTokenAccount is required');
|
|
45
|
+
}
|
|
46
|
+
if (!params.lookupTable) {
|
|
47
|
+
throw new Error('lookupTable is required');
|
|
48
|
+
}
|
|
49
|
+
if (params.recentSlot === undefined || params.recentSlot === null) {
|
|
50
|
+
throw new Error('recentSlot is required');
|
|
51
|
+
}
|
|
52
|
+
// Get network-specific addresses
|
|
53
|
+
const addresses = getAddresses(config);
|
|
54
|
+
const atlasMint = address(addresses.atlasMint);
|
|
55
|
+
const programAddress = address(addresses.srsly);
|
|
56
|
+
const sageProgram = address(addresses.sage);
|
|
57
|
+
const antegenProgram = address(addresses.antegen);
|
|
58
|
+
// Convert authority to TransactionSigner
|
|
59
|
+
const authoritySigner = toTransactionSigner(params.authority);
|
|
60
|
+
// Call Codama-generated instruction
|
|
61
|
+
// srslyProgram is passed automatically as programAddress for vault derivation
|
|
62
|
+
const kitInstruction = await getCreateConfigInstructionAsync({
|
|
63
|
+
authority: authoritySigner,
|
|
64
|
+
mint: atlasMint,
|
|
65
|
+
vault: address(params.vault),
|
|
66
|
+
vaultTokenAccount: address(params.vaultTokenAccount),
|
|
67
|
+
lookupTable: address(params.lookupTable),
|
|
68
|
+
sageProgram,
|
|
69
|
+
antegenProgram,
|
|
70
|
+
srslyProgram: programAddress,
|
|
71
|
+
recentSlot: BigInt(params.recentSlot),
|
|
72
|
+
}, { programAddress });
|
|
73
|
+
return prepareInstructions(kitInstruction, {
|
|
74
|
+
computeUnits: params.computeUnits,
|
|
75
|
+
PublicKey: finalConfig.PublicKey,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=createConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../../../src/instructions/createConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA0C5D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,OAAkB,CAAC,CAAC;IAE7D,yCAAyC;IACzC,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE9D,oCAAoC;IACpC,8EAA8E;IAC9E,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAC1D;QACE,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,iBAA4B,CAAC;QAC/D,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAsB,CAAC;QACnD,WAAW;QACX,cAAc;QACd,YAAY,EAAE,cAAc;QAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;KACtC,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|