@wuwei-labs/srsly 2.3.3-canary.36.16828734028.0 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +126 -462
- package/dist/cjs/accounts/borrower.js +47 -0
- package/dist/cjs/accounts/borrower.js.map +1 -0
- package/dist/cjs/accounts/config.js +47 -0
- package/dist/cjs/accounts/config.js.map +1 -0
- package/dist/cjs/accounts/contract.js +47 -0
- package/dist/cjs/accounts/contract.js.map +1 -0
- package/dist/cjs/accounts/fleet.js +77 -0
- package/dist/cjs/accounts/fleet.js.map +1 -0
- package/dist/cjs/accounts/rental.js +47 -0
- package/dist/cjs/accounts/rental.js.map +1 -0
- package/dist/cjs/demos.js +124 -59
- package/dist/cjs/demos.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/borrowerState.js +84 -0
- package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/configState.js +37 -52
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/contractState.js +27 -51
- package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/index.js +5 -2
- package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/memberState.js +78 -0
- package/dist/cjs/generated/codama/accounts/memberState.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/rentalState.js +23 -59
- package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/thread.js +45 -61
- package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/vaultState.js +82 -0
- package/dist/cjs/generated/codama/accounts/vaultState.js.map +1 -0
- package/dist/cjs/generated/codama/errors/index.js +2 -2
- package/dist/cjs/generated/codama/errors/srsly.js +158 -19
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/index.js +2 -2
- package/dist/cjs/generated/codama/instructions/acceptRental.js +107 -40
- package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/cancelRental.js +53 -56
- package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/captureRental.js +129 -0
- package/dist/cjs/generated/codama/instructions/captureRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/claimBorrower.js +222 -0
- package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js +225 -0
- package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/claimContractPayments.js +230 -0
- package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeBorrower.js +84 -0
- package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeContract.js +140 -31
- package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/closeRental.js +31 -28
- package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createConfig.js +212 -0
- package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/createContract.js +47 -45
- package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/deleteBorrower.js +126 -0
- package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteConfig.js +193 -0
- package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteContract.js +115 -0
- package/dist/cjs/generated/codama/instructions/deleteContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteRental.js +115 -0
- package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/discountBorrower.js +118 -0
- package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/index.js +15 -4
- package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/payRental.js +95 -68
- package/dist/cjs/generated/codama/instructions/payRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/{resetRental.js → releaseRental.js} +79 -38
- package/dist/cjs/generated/codama/instructions/releaseRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/reserveRental.js +255 -0
- package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/{initializeConfig.js → updateBorrower.js} +45 -52
- package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/updateConfig.js +41 -32
- package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateContract.js +134 -0
- package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -0
- package/dist/cjs/generated/codama/programs/index.js +2 -2
- package/dist/cjs/generated/codama/programs/srsly.js +74 -18
- package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/shared/index.js +2 -2
- package/dist/cjs/generated/codama/shared/index.js.map +1 -1
- package/dist/cjs/generated/codama/types/capturedFlagData.js +31 -0
- package/dist/cjs/generated/codama/types/capturedFlagData.js.map +1 -0
- package/dist/cjs/generated/codama/types/index.js +7 -9
- package/dist/cjs/generated/codama/types/index.js.map +1 -1
- package/dist/cjs/generated/codama/types/memberConfig.js +33 -0
- package/dist/cjs/generated/codama/types/memberConfig.js.map +1 -0
- package/dist/cjs/generated/codama/types/memberType.js +55 -0
- package/dist/cjs/generated/codama/types/memberType.js.map +1 -0
- package/dist/cjs/generated/codama/types/paymentFrequency.js +2 -2
- package/dist/cjs/generated/codama/types/schedule.js +65 -0
- package/dist/cjs/generated/codama/types/schedule.js.map +1 -0
- package/dist/cjs/generated/codama/types/signal.js +48 -0
- package/dist/cjs/generated/codama/types/signal.js.map +1 -0
- package/dist/cjs/generated/codama/types/trigger.js +36 -23
- package/dist/cjs/generated/codama/types/trigger.js.map +1 -1
- package/dist/cjs/index.js +172 -245
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instructions/acceptRental.js +153 -0
- package/dist/cjs/instructions/acceptRental.js.map +1 -0
- package/dist/cjs/instructions/cancelRental.js +100 -0
- package/dist/cjs/instructions/cancelRental.js.map +1 -0
- package/dist/cjs/instructions/captureRental.js +85 -0
- package/dist/cjs/instructions/captureRental.js.map +1 -0
- package/dist/cjs/instructions/claimBorrower.js +66 -0
- package/dist/cjs/instructions/claimBorrower.js.map +1 -0
- package/dist/cjs/instructions/claimBorrowerPayments.js +69 -0
- package/dist/cjs/instructions/claimBorrowerPayments.js.map +1 -0
- package/dist/cjs/instructions/claimContractPayments.js +79 -0
- package/dist/cjs/instructions/claimContractPayments.js.map +1 -0
- package/dist/cjs/instructions/closeBorrower.js +60 -0
- package/dist/cjs/instructions/closeBorrower.js.map +1 -0
- package/dist/cjs/instructions/closeContract.js +120 -0
- package/dist/cjs/instructions/closeContract.js.map +1 -0
- package/dist/cjs/instructions/closeRental.js +105 -0
- package/dist/cjs/instructions/closeRental.js.map +1 -0
- package/dist/cjs/instructions/createConfig.js +74 -0
- package/dist/cjs/instructions/createConfig.js.map +1 -0
- package/dist/cjs/instructions/createContract.js +131 -0
- package/dist/cjs/instructions/createContract.js.map +1 -0
- package/dist/cjs/instructions/deleteBorrower.js +60 -0
- package/dist/cjs/instructions/deleteBorrower.js.map +1 -0
- package/dist/cjs/instructions/deleteConfig.js +79 -0
- package/dist/cjs/instructions/deleteConfig.js.map +1 -0
- package/dist/cjs/instructions/deleteRental.js +75 -0
- package/dist/cjs/instructions/deleteRental.js.map +1 -0
- package/dist/cjs/instructions/discountBorrower.js +75 -0
- package/dist/cjs/instructions/discountBorrower.js.map +1 -0
- package/dist/cjs/instructions/releaseRental.js +132 -0
- package/dist/cjs/instructions/releaseRental.js.map +1 -0
- package/dist/cjs/instructions/reserveRental.js +135 -0
- package/dist/cjs/instructions/reserveRental.js.map +1 -0
- package/dist/cjs/instructions/updateBorrower.js +89 -0
- package/dist/cjs/instructions/updateBorrower.js.map +1 -0
- package/dist/cjs/instructions/updateConfig.js +103 -0
- package/dist/cjs/instructions/updateConfig.js.map +1 -0
- package/dist/cjs/instructions/updateContract.js +107 -0
- package/dist/cjs/instructions/updateContract.js.map +1 -0
- package/dist/cjs/package.json +30 -32
- package/dist/cjs/params/amount.js +125 -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/schedule.js +164 -0
- package/dist/cjs/params/schedule.js.map +1 -0
- package/dist/cjs/pda/constants.js +73 -0
- package/dist/cjs/pda/constants.js.map +1 -0
- package/dist/cjs/pda/index.js +73 -0
- package/dist/cjs/pda/index.js.map +1 -0
- package/dist/cjs/pda/sage.js +175 -0
- package/dist/cjs/pda/sage.js.map +1 -0
- package/dist/cjs/pda/slyvault.js +56 -0
- package/dist/cjs/pda/slyvault.js.map +1 -0
- package/dist/cjs/pda/srsly.js +120 -0
- package/dist/cjs/pda/srsly.js.map +1 -0
- package/dist/cjs/pda/thread.js +64 -0
- package/dist/cjs/pda/thread.js.map +1 -0
- package/dist/cjs/pda/token.js +62 -0
- package/dist/cjs/pda/token.js.map +1 -0
- package/dist/cjs/utils/addresses.js +90 -0
- package/dist/cjs/utils/addresses.js.map +1 -0
- package/dist/cjs/utils/config.js +100 -187
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/index.js +32 -28
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/instructions.js +79 -0
- package/dist/cjs/utils/instructions.js.map +1 -0
- package/dist/cjs/utils/signer.js +113 -94
- package/dist/cjs/utils/signer.js.map +1 -1
- 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 +44 -0
- package/dist/esm/accounts/borrower.js.map +1 -0
- package/dist/esm/accounts/config.js +44 -0
- package/dist/esm/accounts/config.js.map +1 -0
- package/dist/esm/accounts/contract.js +44 -0
- package/dist/esm/accounts/contract.js.map +1 -0
- package/dist/esm/accounts/fleet.js +74 -0
- package/dist/esm/accounts/fleet.js.map +1 -0
- package/dist/esm/accounts/rental.js +44 -0
- package/dist/esm/accounts/rental.js.map +1 -0
- package/dist/esm/demos.js +123 -18
- package/dist/esm/demos.js.map +1 -1
- package/dist/esm/generated/codama/accounts/borrowerState.js +72 -0
- package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -0
- package/dist/esm/generated/codama/accounts/configState.js +38 -53
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/contractState.js +28 -52
- package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/index.js +5 -2
- package/dist/esm/generated/codama/accounts/index.js.map +1 -1
- package/dist/esm/generated/codama/accounts/memberState.js +66 -0
- package/dist/esm/generated/codama/accounts/memberState.js.map +1 -0
- package/dist/esm/generated/codama/accounts/rentalState.js +23 -60
- package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/thread.js +47 -63
- package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
- package/dist/esm/generated/codama/accounts/vaultState.js +70 -0
- package/dist/esm/generated/codama/accounts/vaultState.js.map +1 -0
- package/dist/esm/generated/codama/errors/index.js +2 -2
- package/dist/esm/generated/codama/errors/srsly.js +156 -18
- package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
- package/dist/esm/generated/codama/index.js +2 -2
- package/dist/esm/generated/codama/instructions/acceptRental.js +107 -40
- package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/cancelRental.js +54 -57
- package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/captureRental.js +119 -0
- package/dist/esm/generated/codama/instructions/captureRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/claimBorrower.js +212 -0
- package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/claimContractPayments.js +220 -0
- package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeBorrower.js +75 -0
- package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeContract.js +142 -33
- package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/closeRental.js +31 -28
- package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createConfig.js +202 -0
- package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -0
- package/dist/esm/generated/codama/instructions/createContract.js +48 -46
- package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/deleteBorrower.js +116 -0
- package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteConfig.js +183 -0
- package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteContract.js +105 -0
- package/dist/esm/generated/codama/instructions/deleteContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteRental.js +105 -0
- package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/discountBorrower.js +108 -0
- package/dist/esm/generated/codama/instructions/discountBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/index.js +15 -4
- package/dist/esm/generated/codama/instructions/index.js.map +1 -1
- package/dist/esm/generated/codama/instructions/payRental.js +95 -68
- package/dist/esm/generated/codama/instructions/payRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/{resetRental.js → releaseRental.js} +73 -32
- package/dist/esm/generated/codama/instructions/releaseRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/reserveRental.js +245 -0
- package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/{initializeConfig.js → updateBorrower.js} +38 -45
- package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/updateConfig.js +42 -33
- package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateContract.js +124 -0
- package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -0
- package/dist/esm/generated/codama/programs/index.js +2 -2
- package/dist/esm/generated/codama/programs/srsly.js +74 -18
- package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
- package/dist/esm/generated/codama/shared/index.js +2 -2
- package/dist/esm/generated/codama/shared/index.js.map +1 -1
- package/dist/esm/generated/codama/types/capturedFlagData.js +26 -0
- package/dist/esm/generated/codama/types/capturedFlagData.js.map +1 -0
- package/dist/esm/generated/codama/types/index.js +7 -9
- package/dist/esm/generated/codama/types/index.js.map +1 -1
- package/dist/esm/generated/codama/types/memberConfig.js +28 -0
- package/dist/esm/generated/codama/types/memberConfig.js.map +1 -0
- package/dist/esm/generated/codama/types/memberType.js +48 -0
- package/dist/esm/generated/codama/types/memberType.js.map +1 -0
- package/dist/esm/generated/codama/types/paymentFrequency.js +2 -2
- package/dist/esm/generated/codama/types/schedule.js +58 -0
- package/dist/esm/generated/codama/types/schedule.js.map +1 -0
- package/dist/esm/generated/codama/types/signal.js +41 -0
- package/dist/esm/generated/codama/types/signal.js.map +1 -0
- package/dist/esm/generated/codama/types/trigger.js +37 -24
- package/dist/esm/generated/codama/types/trigger.js.map +1 -1
- package/dist/esm/index.js +78 -208
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instructions/acceptRental.js +150 -0
- package/dist/esm/instructions/acceptRental.js.map +1 -0
- package/dist/esm/instructions/cancelRental.js +97 -0
- package/dist/esm/instructions/cancelRental.js.map +1 -0
- package/dist/esm/instructions/captureRental.js +82 -0
- package/dist/esm/instructions/captureRental.js.map +1 -0
- package/dist/esm/instructions/claimBorrower.js +63 -0
- package/dist/esm/instructions/claimBorrower.js.map +1 -0
- package/dist/esm/instructions/claimContractPayments.js +76 -0
- package/dist/esm/instructions/claimContractPayments.js.map +1 -0
- package/dist/esm/instructions/closeBorrower.js +57 -0
- package/dist/esm/instructions/closeBorrower.js.map +1 -0
- package/dist/esm/instructions/closeContract.js +117 -0
- package/dist/esm/instructions/closeContract.js.map +1 -0
- package/dist/esm/instructions/closeRental.js +102 -0
- package/dist/esm/instructions/closeRental.js.map +1 -0
- package/dist/esm/instructions/createConfig.js +71 -0
- package/dist/esm/instructions/createConfig.js.map +1 -0
- package/dist/esm/instructions/createContract.js +128 -0
- package/dist/esm/instructions/createContract.js.map +1 -0
- package/dist/esm/instructions/deleteBorrower.js +57 -0
- package/dist/esm/instructions/deleteBorrower.js.map +1 -0
- package/dist/esm/instructions/deleteConfig.js +76 -0
- package/dist/esm/instructions/deleteConfig.js.map +1 -0
- package/dist/esm/instructions/deleteRental.js +72 -0
- package/dist/esm/instructions/deleteRental.js.map +1 -0
- package/dist/esm/instructions/discountBorrower.js +72 -0
- package/dist/esm/instructions/discountBorrower.js.map +1 -0
- package/dist/esm/instructions/releaseRental.js +129 -0
- package/dist/esm/instructions/releaseRental.js.map +1 -0
- package/dist/esm/instructions/reserveRental.js +132 -0
- package/dist/esm/instructions/reserveRental.js.map +1 -0
- package/dist/esm/instructions/updateBorrower.js +86 -0
- package/dist/esm/instructions/updateBorrower.js.map +1 -0
- package/dist/esm/instructions/updateConfig.js +100 -0
- package/dist/esm/instructions/updateConfig.js.map +1 -0
- package/dist/esm/instructions/updateContract.js +104 -0
- package/dist/esm/instructions/updateContract.js.map +1 -0
- package/dist/esm/package.json +30 -32
- package/dist/esm/params/amount.js +119 -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/schedule.js +157 -0
- package/dist/esm/params/schedule.js.map +1 -0
- package/dist/esm/pda/constants.js +67 -0
- package/dist/esm/pda/constants.js.map +1 -0
- package/dist/esm/pda/index.js +42 -0
- package/dist/esm/pda/index.js.map +1 -0
- package/dist/esm/pda/sage.js +168 -0
- package/dist/esm/pda/sage.js.map +1 -0
- package/dist/esm/pda/slyvault.js +53 -0
- package/dist/esm/pda/slyvault.js.map +1 -0
- package/dist/esm/pda/srsly.js +113 -0
- package/dist/esm/pda/srsly.js.map +1 -0
- package/dist/esm/pda/thread.js +61 -0
- package/dist/esm/pda/thread.js.map +1 -0
- package/dist/esm/pda/token.js +59 -0
- package/dist/esm/pda/token.js.map +1 -0
- package/dist/esm/utils/addresses.js +85 -0
- package/dist/esm/utils/addresses.js.map +1 -0
- package/dist/esm/utils/config.js +95 -149
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/index.js +12 -14
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/instructions.js +76 -0
- package/dist/esm/utils/instructions.js.map +1 -0
- package/dist/esm/utils/signer.js +109 -90
- package/dist/esm/utils/signer.js.map +1 -1
- 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/types/accounts/borrower.d.ts +34 -0
- package/dist/types/accounts/borrower.d.ts.map +1 -0
- package/dist/types/accounts/config.d.ts +31 -0
- package/dist/types/accounts/config.d.ts.map +1 -0
- package/dist/types/accounts/contract.d.ts +34 -0
- package/dist/types/accounts/contract.d.ts.map +1 -0
- package/dist/types/accounts/fleet.d.ts +49 -0
- package/dist/types/accounts/fleet.d.ts.map +1 -0
- package/dist/types/accounts/rental.d.ts +34 -0
- package/dist/types/accounts/rental.d.ts.map +1 -0
- package/dist/types/demos.d.ts +20 -52
- package/dist/types/demos.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/borrowerState.d.ts +94 -0
- package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/configState.d.ts +65 -22
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/contractState.d.ts +62 -23
- package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/index.d.ts +5 -2
- package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/memberState.d.ts +58 -0
- package/dist/types/generated/codama/accounts/memberState.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/rentalState.d.ts +35 -39
- package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/thread.d.ts +44 -51
- package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/vaultState.d.ts +66 -0
- package/dist/types/generated/codama/accounts/vaultState.d.ts.map +1 -0
- package/dist/types/generated/codama/errors/index.d.ts +2 -2
- package/dist/types/generated/codama/errors/srsly.d.ts +111 -19
- package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/index.d.ts +2 -2
- package/dist/types/generated/codama/instructions/acceptRental.d.ts +60 -45
- package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/cancelRental.d.ts +37 -32
- package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/captureRental.d.ts +59 -0
- package/dist/types/generated/codama/instructions/captureRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts +90 -0
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts +75 -0
- package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +98 -0
- package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeBorrower.d.ts +43 -0
- package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeContract.d.ts +44 -28
- package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/closeRental.d.ts +38 -34
- package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createConfig.d.ts +79 -0
- package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/createContract.d.ts +38 -30
- package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +55 -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 +55 -0
- package/dist/types/generated/codama/instructions/deleteContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteRental.d.ts +55 -0
- package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/discountBorrower.d.ts +56 -0
- package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/index.d.ts +15 -4
- package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/payRental.d.ts +61 -46
- package/dist/types/generated/codama/instructions/payRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/releaseRental.d.ts +105 -0
- package/dist/types/generated/codama/instructions/releaseRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/reserveRental.d.ts +129 -0
- package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/updateBorrower.d.ts +62 -0
- package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/updateConfig.d.ts +88 -28
- package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateContract.d.ts +88 -0
- package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -0
- package/dist/types/generated/codama/programs/index.d.ts +2 -2
- package/dist/types/generated/codama/programs/srsly.d.ts +57 -21
- package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/shared/index.d.ts +2 -13
- package/dist/types/generated/codama/shared/index.d.ts.map +1 -1
- package/dist/types/generated/codama/types/capturedFlagData.d.ts +35 -0
- package/dist/types/generated/codama/types/capturedFlagData.d.ts.map +1 -0
- package/dist/types/generated/codama/types/index.d.ts +7 -9
- package/dist/types/generated/codama/types/index.d.ts.map +1 -1
- package/dist/types/generated/codama/types/memberConfig.d.ts +33 -0
- package/dist/types/generated/codama/types/memberConfig.d.ts.map +1 -0
- package/dist/types/generated/codama/types/memberType.d.ts +48 -0
- package/dist/types/generated/codama/types/memberType.d.ts.map +1 -0
- package/dist/types/generated/codama/types/paymentFrequency.d.ts +2 -2
- 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/signal.d.ts +56 -0
- package/dist/types/generated/codama/types/signal.d.ts.map +1 -0
- package/dist/types/generated/codama/types/trigger.d.ts +45 -34
- package/dist/types/generated/codama/types/trigger.d.ts.map +1 -1
- package/dist/types/index.d.ts +37 -207
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/instructions/acceptRental.d.ts +99 -0
- package/dist/types/instructions/acceptRental.d.ts.map +1 -0
- package/dist/types/instructions/cancelRental.d.ts +90 -0
- package/dist/types/instructions/cancelRental.d.ts.map +1 -0
- package/dist/types/instructions/captureRental.d.ts +58 -0
- package/dist/types/instructions/captureRental.d.ts.map +1 -0
- package/dist/types/instructions/claimBorrower.d.ts +53 -0
- package/dist/types/instructions/claimBorrower.d.ts.map +1 -0
- package/dist/types/instructions/claimBorrowerPayments.d.ts +59 -0
- package/dist/types/instructions/claimBorrowerPayments.d.ts.map +1 -0
- package/dist/types/instructions/claimContractPayments.d.ts +78 -0
- package/dist/types/instructions/claimContractPayments.d.ts.map +1 -0
- package/dist/types/instructions/closeBorrower.d.ts +45 -0
- package/dist/types/instructions/closeBorrower.d.ts.map +1 -0
- package/dist/types/instructions/closeContract.d.ts +91 -0
- package/dist/types/instructions/closeContract.d.ts.map +1 -0
- package/dist/types/instructions/closeRental.d.ts +62 -0
- package/dist/types/instructions/closeRental.d.ts.map +1 -0
- package/dist/types/instructions/createConfig.d.ts +62 -0
- package/dist/types/instructions/createConfig.d.ts.map +1 -0
- package/dist/types/instructions/createContract.d.ts +127 -0
- package/dist/types/instructions/createContract.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 +64 -0
- package/dist/types/instructions/deleteConfig.d.ts.map +1 -0
- package/dist/types/instructions/deleteRental.d.ts +67 -0
- package/dist/types/instructions/deleteRental.d.ts.map +1 -0
- package/dist/types/instructions/discountBorrower.d.ts +64 -0
- package/dist/types/instructions/discountBorrower.d.ts.map +1 -0
- package/dist/types/instructions/releaseRental.d.ts +104 -0
- package/dist/types/instructions/releaseRental.d.ts.map +1 -0
- package/dist/types/instructions/reserveRental.d.ts +80 -0
- package/dist/types/instructions/reserveRental.d.ts.map +1 -0
- package/dist/types/instructions/updateBorrower.d.ts +81 -0
- package/dist/types/instructions/updateBorrower.d.ts.map +1 -0
- package/dist/types/instructions/updateConfig.d.ts +142 -0
- package/dist/types/instructions/updateConfig.d.ts.map +1 -0
- package/dist/types/instructions/updateContract.d.ts +113 -0
- package/dist/types/instructions/updateContract.d.ts.map +1 -0
- package/dist/types/params/amount.d.ts +70 -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/schedule.d.ts +74 -0
- package/dist/types/params/schedule.d.ts.map +1 -0
- package/dist/types/pda/constants.d.ts +51 -0
- package/dist/types/pda/constants.d.ts.map +1 -0
- package/dist/types/pda/index.d.ts +36 -0
- package/dist/types/pda/index.d.ts.map +1 -0
- package/dist/types/pda/sage.d.ts +69 -0
- package/dist/types/pda/sage.d.ts.map +1 -0
- package/dist/types/pda/slyvault.d.ts +29 -0
- package/dist/types/pda/slyvault.d.ts.map +1 -0
- package/dist/types/pda/srsly.d.ts +40 -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 +29 -0
- package/dist/types/pda/token.d.ts.map +1 -0
- package/dist/types/utils/addresses.d.ts +75 -0
- package/dist/types/utils/addresses.d.ts.map +1 -0
- package/dist/types/utils/config.d.ts +103 -83
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +7 -14
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/instructions.d.ts +52 -0
- package/dist/types/utils/instructions.d.ts.map +1 -0
- package/dist/types/utils/signer.d.ts +78 -39
- package/dist/types/utils/signer.d.ts.map +1 -1
- 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 +32 -47
- package/dist/cjs/config/index.js +0 -12
- package/dist/cjs/config/index.js.map +0 -1
- package/dist/cjs/config/initialize.js +0 -95
- package/dist/cjs/config/initialize.js.map +0 -1
- package/dist/cjs/config/update.js +0 -163
- package/dist/cjs/config/update.js.map +0 -1
- package/dist/cjs/contract/close.js +0 -159
- package/dist/cjs/contract/close.js.map +0 -1
- package/dist/cjs/contract/create.js +0 -259
- package/dist/cjs/contract/create.js.map +0 -1
- package/dist/cjs/contract/index.js +0 -68
- package/dist/cjs/contract/index.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/initializeConfig.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/resetRental.js.map +0 -1
- package/dist/cjs/generated/codama/types/clockData.js +0 -58
- package/dist/cjs/generated/codama/types/clockData.js.map +0 -1
- package/dist/cjs/generated/codama/types/equality.js +0 -30
- package/dist/cjs/generated/codama/types/equality.js.map +0 -1
- package/dist/cjs/generated/codama/types/execContext.js +0 -68
- package/dist/cjs/generated/codama/types/execContext.js.map +0 -1
- package/dist/cjs/generated/codama/types/serializableAccount.js +0 -58
- package/dist/cjs/generated/codama/types/serializableAccount.js.map +0 -1
- package/dist/cjs/generated/codama/types/serializableInstruction.js +0 -59
- package/dist/cjs/generated/codama/types/serializableInstruction.js.map +0 -1
- package/dist/cjs/generated/codama/types/threadResponse.js +0 -68
- package/dist/cjs/generated/codama/types/threadResponse.js.map +0 -1
- package/dist/cjs/generated/codama/types/triggerContext.js +0 -49
- package/dist/cjs/generated/codama/types/triggerContext.js.map +0 -1
- package/dist/cjs/idl/index.js +0 -27
- package/dist/cjs/idl/index.js.map +0 -1
- package/dist/cjs/idl/srsly-data.js +0 -3140
- package/dist/cjs/idl/srsly-data.js.map +0 -1
- package/dist/cjs/idl/srsly.json +0 -3104
- package/dist/cjs/rental/accept.js +0 -263
- package/dist/cjs/rental/accept.js.map +0 -1
- package/dist/cjs/rental/cancel.js +0 -184
- package/dist/cjs/rental/cancel.js.map +0 -1
- package/dist/cjs/rental/close.js +0 -184
- package/dist/cjs/rental/close.js.map +0 -1
- package/dist/cjs/rental/index.js +0 -105
- package/dist/cjs/rental/index.js.map +0 -1
- package/dist/cjs/rental/reset.js +0 -192
- package/dist/cjs/rental/reset.js.map +0 -1
- package/dist/cjs/types/payment-frequency.js +0 -87
- package/dist/cjs/types/payment-frequency.js.map +0 -1
- package/dist/cjs/types/srsly.js +0 -3
- package/dist/cjs/types/srsly.js.map +0 -1
- package/dist/cjs/utils/constants.js +0 -78
- package/dist/cjs/utils/constants.js.map +0 -1
- package/dist/cjs/utils/cron.js +0 -204
- package/dist/cjs/utils/cron.js.map +0 -1
- package/dist/cjs/utils/derive-pda.js +0 -415
- package/dist/cjs/utils/derive-pda.js.map +0 -1
- package/dist/cjs/utils/fetch-accounts.js +0 -241
- package/dist/cjs/utils/fetch-accounts.js.map +0 -1
- package/dist/cjs/utils/instruction-converter.js +0 -125
- package/dist/cjs/utils/instruction-converter.js.map +0 -1
- package/dist/cjs/utils/param-converters.js +0 -190
- package/dist/cjs/utils/param-converters.js.map +0 -1
- package/dist/cjs/utils/payment-frequency.js +0 -111
- package/dist/cjs/utils/payment-frequency.js.map +0 -1
- package/dist/cjs/utils/schedule-builder.js +0 -158
- package/dist/cjs/utils/schedule-builder.js.map +0 -1
- package/dist/cjs/utils/schedule-validation.js +0 -136
- package/dist/cjs/utils/schedule-validation.js.map +0 -1
- package/dist/cjs/utils/smart-params.js +0 -52
- package/dist/cjs/utils/smart-params.js.map +0 -1
- package/dist/esm/config/index.js +0 -7
- package/dist/esm/config/index.js.map +0 -1
- package/dist/esm/config/initialize.js +0 -92
- package/dist/esm/config/initialize.js.map +0 -1
- package/dist/esm/config/update.js +0 -159
- package/dist/esm/config/update.js.map +0 -1
- package/dist/esm/contract/close.js +0 -154
- package/dist/esm/contract/close.js.map +0 -1
- package/dist/esm/contract/create.js +0 -255
- package/dist/esm/contract/create.js.map +0 -1
- package/dist/esm/contract/index.js +0 -52
- package/dist/esm/contract/index.js.map +0 -1
- package/dist/esm/generated/codama/instructions/initializeConfig.js.map +0 -1
- package/dist/esm/generated/codama/instructions/resetRental.js.map +0 -1
- package/dist/esm/generated/codama/types/clockData.js +0 -53
- package/dist/esm/generated/codama/types/clockData.js.map +0 -1
- package/dist/esm/generated/codama/types/equality.js +0 -24
- package/dist/esm/generated/codama/types/equality.js.map +0 -1
- package/dist/esm/generated/codama/types/execContext.js +0 -63
- package/dist/esm/generated/codama/types/execContext.js.map +0 -1
- package/dist/esm/generated/codama/types/serializableAccount.js +0 -53
- package/dist/esm/generated/codama/types/serializableAccount.js.map +0 -1
- package/dist/esm/generated/codama/types/serializableInstruction.js +0 -54
- package/dist/esm/generated/codama/types/serializableInstruction.js.map +0 -1
- package/dist/esm/generated/codama/types/threadResponse.js +0 -63
- package/dist/esm/generated/codama/types/threadResponse.js.map +0 -1
- package/dist/esm/generated/codama/types/triggerContext.js +0 -42
- package/dist/esm/generated/codama/types/triggerContext.js.map +0 -1
- package/dist/esm/idl/index.js +0 -21
- package/dist/esm/idl/index.js.map +0 -1
- package/dist/esm/idl/srsly-data.js +0 -3137
- package/dist/esm/idl/srsly-data.js.map +0 -1
- package/dist/esm/idl/srsly.json +0 -3104
- package/dist/esm/rental/accept.js +0 -258
- package/dist/esm/rental/accept.js.map +0 -1
- package/dist/esm/rental/cancel.js +0 -179
- package/dist/esm/rental/cancel.js.map +0 -1
- package/dist/esm/rental/close.js +0 -179
- package/dist/esm/rental/close.js.map +0 -1
- package/dist/esm/rental/index.js +0 -89
- package/dist/esm/rental/index.js.map +0 -1
- package/dist/esm/rental/reset.js +0 -187
- package/dist/esm/rental/reset.js.map +0 -1
- package/dist/esm/types/payment-frequency.js +0 -83
- package/dist/esm/types/payment-frequency.js.map +0 -1
- package/dist/esm/types/srsly.js +0 -2
- package/dist/esm/types/srsly.js.map +0 -1
- package/dist/esm/utils/constants.js +0 -70
- package/dist/esm/utils/constants.js.map +0 -1
- package/dist/esm/utils/cron.js +0 -195
- package/dist/esm/utils/cron.js.map +0 -1
- package/dist/esm/utils/derive-pda.js +0 -402
- package/dist/esm/utils/derive-pda.js.map +0 -1
- package/dist/esm/utils/fetch-accounts.js +0 -233
- package/dist/esm/utils/fetch-accounts.js.map +0 -1
- package/dist/esm/utils/instruction-converter.js +0 -120
- package/dist/esm/utils/instruction-converter.js.map +0 -1
- package/dist/esm/utils/param-converters.js +0 -182
- package/dist/esm/utils/param-converters.js.map +0 -1
- package/dist/esm/utils/payment-frequency.js +0 -104
- package/dist/esm/utils/payment-frequency.js.map +0 -1
- package/dist/esm/utils/schedule-builder.js +0 -153
- package/dist/esm/utils/schedule-builder.js.map +0 -1
- package/dist/esm/utils/schedule-validation.js +0 -132
- package/dist/esm/utils/schedule-validation.js.map +0 -1
- package/dist/esm/utils/smart-params.js +0 -49
- package/dist/esm/utils/smart-params.js.map +0 -1
- package/dist/types/config/index.d.ts +0 -7
- package/dist/types/config/index.d.ts.map +0 -1
- package/dist/types/config/initialize.d.ts +0 -66
- package/dist/types/config/initialize.d.ts.map +0 -1
- package/dist/types/config/update.d.ts +0 -143
- package/dist/types/config/update.d.ts.map +0 -1
- package/dist/types/contract/close.d.ts +0 -124
- package/dist/types/contract/close.d.ts.map +0 -1
- package/dist/types/contract/create.d.ts +0 -150
- package/dist/types/contract/create.d.ts.map +0 -1
- package/dist/types/contract/index.d.ts +0 -52
- package/dist/types/contract/index.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/initializeConfig.d.ts +0 -60
- package/dist/types/generated/codama/instructions/initializeConfig.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/resetRental.d.ts +0 -79
- package/dist/types/generated/codama/instructions/resetRental.d.ts.map +0 -1
- package/dist/types/generated/codama/types/clockData.d.ts +0 -30
- package/dist/types/generated/codama/types/clockData.d.ts.map +0 -1
- package/dist/types/generated/codama/types/equality.d.ts +0 -18
- package/dist/types/generated/codama/types/equality.d.ts.map +0 -1
- package/dist/types/generated/codama/types/execContext.d.ts +0 -49
- package/dist/types/generated/codama/types/execContext.d.ts.map +0 -1
- package/dist/types/generated/codama/types/serializableAccount.d.ts +0 -23
- package/dist/types/generated/codama/types/serializableAccount.d.ts.map +0 -1
- package/dist/types/generated/codama/types/serializableInstruction.d.ts +0 -31
- package/dist/types/generated/codama/types/serializableInstruction.d.ts.map +0 -1
- package/dist/types/generated/codama/types/threadResponse.d.ts +0 -43
- package/dist/types/generated/codama/types/threadResponse.d.ts.map +0 -1
- package/dist/types/generated/codama/types/triggerContext.d.ts +0 -75
- package/dist/types/generated/codama/types/triggerContext.d.ts.map +0 -1
- package/dist/types/idl/index.d.ts +0 -21
- package/dist/types/idl/index.d.ts.map +0 -1
- package/dist/types/idl/srsly-data.d.ts +0 -1458
- package/dist/types/idl/srsly-data.d.ts.map +0 -1
- package/dist/types/rental/accept.d.ts +0 -196
- package/dist/types/rental/accept.d.ts.map +0 -1
- package/dist/types/rental/cancel.d.ts +0 -141
- package/dist/types/rental/cancel.d.ts.map +0 -1
- package/dist/types/rental/close.d.ts +0 -130
- package/dist/types/rental/close.d.ts.map +0 -1
- package/dist/types/rental/index.d.ts +0 -89
- package/dist/types/rental/index.d.ts.map +0 -1
- package/dist/types/rental/reset.d.ts +0 -166
- package/dist/types/rental/reset.d.ts.map +0 -1
- package/dist/types/types/payment-frequency.d.ts +0 -55
- package/dist/types/types/payment-frequency.d.ts.map +0 -1
- package/dist/types/types/srsly.d.ts +0 -3111
- package/dist/types/types/srsly.d.ts.map +0 -1
- package/dist/types/utils/constants.d.ts +0 -26
- package/dist/types/utils/constants.d.ts.map +0 -1
- package/dist/types/utils/cron.d.ts +0 -77
- package/dist/types/utils/cron.d.ts.map +0 -1
- package/dist/types/utils/derive-pda.d.ts +0 -213
- package/dist/types/utils/derive-pda.d.ts.map +0 -1
- package/dist/types/utils/fetch-accounts.d.ts +0 -158
- package/dist/types/utils/fetch-accounts.d.ts.map +0 -1
- package/dist/types/utils/instruction-converter.d.ts +0 -171
- package/dist/types/utils/instruction-converter.d.ts.map +0 -1
- package/dist/types/utils/param-converters.d.ts +0 -67
- package/dist/types/utils/param-converters.d.ts.map +0 -1
- package/dist/types/utils/payment-frequency.d.ts +0 -38
- package/dist/types/utils/payment-frequency.d.ts.map +0 -1
- package/dist/types/utils/schedule-builder.d.ts +0 -64
- package/dist/types/utils/schedule-builder.d.ts.map +0 -1
- package/dist/types/utils/schedule-validation.d.ts +0 -36
- package/dist/types/utils/schedule-validation.d.ts.map +0 -1
- package/dist/types/utils/smart-params.d.ts +0 -112
- package/dist/types/utils/smart-params.d.ts.map +0 -1
package/dist/esm/rental/index.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Rental operations module with accept, cancel, close, and reset functionality
|
|
3
|
-
* @reviewed 2025-07-29
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* # Rental Operations Module
|
|
7
|
-
*
|
|
8
|
-
* This module provides comprehensive functionality for managing rental operations
|
|
9
|
-
* on the SRSLY program. It includes functions for accepting, canceling, closing,
|
|
10
|
-
* and resetting rentals, with full support for both @solana/kit and @solana/web3.js libraries.
|
|
11
|
-
*
|
|
12
|
-
* ## Available Functions
|
|
13
|
-
*
|
|
14
|
-
* - **acceptRental**: Accept an existing rental contract as a borrower
|
|
15
|
-
* - **cancelRental**: Cancel an active rental before completion
|
|
16
|
-
* - **closeRental**: Close a completed or expired rental
|
|
17
|
-
* - **resetRental**: Reset a canceled rental to make the contract available again
|
|
18
|
-
*
|
|
19
|
-
* ## Rental Lifecycle
|
|
20
|
-
*
|
|
21
|
-
* ```text
|
|
22
|
-
* Contract Created → Accept → [Active Rental] → Close (Complete)
|
|
23
|
-
* ↓ ↓
|
|
24
|
-
* [Payment] Cancel → Reset → [Available Again]
|
|
25
|
-
* ↑ ↓
|
|
26
|
-
* [Automated] [Cleanup]
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* ## Features
|
|
30
|
-
*
|
|
31
|
-
* - **Universal Library Support**: Works with both major Solana libraries
|
|
32
|
-
* - **String-Based Addresses**: Eliminates library-specific type conflicts
|
|
33
|
-
* - **Fluent API**: Chainable configuration and format conversion
|
|
34
|
-
* - **Network Agnostic**: Supports different Solana networks
|
|
35
|
-
* - **Automated Payments**: Integration with Clockwork for scheduled payments
|
|
36
|
-
* - **SAGE Integration**: Fleet ownership management in Star Atlas ecosystem
|
|
37
|
-
*
|
|
38
|
-
* ## Common Patterns
|
|
39
|
-
*
|
|
40
|
-
* ### Accept a Rental
|
|
41
|
-
* ```typescript
|
|
42
|
-
* import { acceptRental } from '@srsly/sdk';
|
|
43
|
-
*
|
|
44
|
-
* const instruction = await acceptRental({
|
|
45
|
-
* borrower: wallet,
|
|
46
|
-
* borrowerProfile: "ProfileAddr...",
|
|
47
|
-
* contract: "ContractAddr...",
|
|
48
|
-
* duration: { days: 7 } // Smart parameter format
|
|
49
|
-
* });
|
|
50
|
-
* ```
|
|
51
|
-
*
|
|
52
|
-
* ### Cancel Active Rental
|
|
53
|
-
* ```typescript
|
|
54
|
-
* import { cancelRental } from '@srsly/sdk';
|
|
55
|
-
*
|
|
56
|
-
* const instruction = await cancelRental({
|
|
57
|
-
* borrower: wallet,
|
|
58
|
-
* contract: "ContractAddr..."
|
|
59
|
-
* });
|
|
60
|
-
* ```
|
|
61
|
-
*
|
|
62
|
-
* ### Close Completed Rental
|
|
63
|
-
* ```typescript
|
|
64
|
-
* import { closeRental } from '@srsly/sdk';
|
|
65
|
-
*
|
|
66
|
-
* const instruction = await closeRental({
|
|
67
|
-
* payer: wallet,
|
|
68
|
-
* rental: "RentalStateAddr..."
|
|
69
|
-
* });
|
|
70
|
-
* ```
|
|
71
|
-
*
|
|
72
|
-
* ### Reset Canceled Rental
|
|
73
|
-
* ```typescript
|
|
74
|
-
* import { resetRental } from '@srsly/sdk';
|
|
75
|
-
*
|
|
76
|
-
* const instruction = await resetRental({
|
|
77
|
-
* payer: wallet,
|
|
78
|
-
* contract: "ContractAddr..."
|
|
79
|
-
* // fleet, rental, faction, ownerProfile auto-fetched if not provided
|
|
80
|
-
* });
|
|
81
|
-
* ```
|
|
82
|
-
*
|
|
83
|
-
* @module Rental
|
|
84
|
-
*/
|
|
85
|
-
export * from './accept';
|
|
86
|
-
export * from './cancel';
|
|
87
|
-
export * from './close';
|
|
88
|
-
export * from './reset';
|
|
89
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rental/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/dist/esm/rental/reset.js
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Rental reset after cancellation with fleet reactivation and SAGE integration
|
|
3
|
-
* @reviewed 2025-07-29
|
|
4
|
-
*/
|
|
5
|
-
import { getModule, createSdkConfigSelector, resolveProgramAddresses, getSdkConfig, } from '../utils/config';
|
|
6
|
-
import { toAddress } from '../utils/constants';
|
|
7
|
-
import { deriveGameAccounts } from '../utils';
|
|
8
|
-
import { createFluentInstruction, createSmartFluentConfigSelector, } from '../utils/instruction-converter';
|
|
9
|
-
import { fetchContractState, fetchFleetState } from '../utils/fetch-accounts';
|
|
10
|
-
import { createTransactionSigner } from '../utils/signer';
|
|
11
|
-
/**
|
|
12
|
-
* Internal function to reset a rental instruction with configuration options.
|
|
13
|
-
*
|
|
14
|
-
* This function handles the core logic of creating a rental reset instruction,
|
|
15
|
-
* including account derivation, address resolution, and instruction generation.
|
|
16
|
-
* The reset clears canceled rental state and prepares the contract for new rentals.
|
|
17
|
-
*
|
|
18
|
-
* @internal
|
|
19
|
-
* @param params - The rental reset parameters
|
|
20
|
-
* @param config - Optional configuration for network and program settings
|
|
21
|
-
* @returns Promise resolving to a reset instruction
|
|
22
|
-
* @throws Error when account derivation fails or required parameters are missing
|
|
23
|
-
*/
|
|
24
|
-
async function _resetRental(params, config) {
|
|
25
|
-
let { payer, fleet, contract, rental, faction, ownerProfile } = params;
|
|
26
|
-
// Get the resolved addresses from config (including network-specific addresses)
|
|
27
|
-
const globalConfig = getSdkConfig();
|
|
28
|
-
const effectiveConfig = { ...globalConfig, ...config };
|
|
29
|
-
const resolvedAddresses = resolveProgramAddresses(effectiveConfig);
|
|
30
|
-
const contractState = await fetchContractState(contract);
|
|
31
|
-
if (!fleet) {
|
|
32
|
-
fleet = contractState.fleet;
|
|
33
|
-
}
|
|
34
|
-
if (!rental) {
|
|
35
|
-
rental = contractState.currentRentalState;
|
|
36
|
-
}
|
|
37
|
-
if (!ownerProfile) {
|
|
38
|
-
ownerProfile = contractState.ownerProfile;
|
|
39
|
-
}
|
|
40
|
-
// Resolve faction - use provided faction or fetch from fleet
|
|
41
|
-
if (!faction) {
|
|
42
|
-
const fleetState = await fetchFleetState(fleet);
|
|
43
|
-
faction = fleetState.faction;
|
|
44
|
-
}
|
|
45
|
-
// Derive the three accounts we need
|
|
46
|
-
const { starbase, starbasePlayer } = await deriveGameAccounts(toAddress(ownerProfile), faction, 0, // starbaseSeqId
|
|
47
|
-
contractState.gameId);
|
|
48
|
-
// Get network-specific codama functions from centralized config
|
|
49
|
-
const instructionsModule = getModule('instructions');
|
|
50
|
-
const programsModule = getModule('programs');
|
|
51
|
-
const { getResetRentalInstructionAsync } = instructionsModule;
|
|
52
|
-
// Handle payer using smart signer handler for universal compatibility
|
|
53
|
-
const payerSigner = createTransactionSigner(payer);
|
|
54
|
-
const input = {
|
|
55
|
-
signer: payerSigner,
|
|
56
|
-
fleet: toAddress(fleet),
|
|
57
|
-
contract: toAddress(contract),
|
|
58
|
-
rentalState: toAddress(rental),
|
|
59
|
-
gameId: contractState.gameId,
|
|
60
|
-
starbase,
|
|
61
|
-
starbasePlayer,
|
|
62
|
-
};
|
|
63
|
-
const rawInstruction = await getResetRentalInstructionAsync(input, {
|
|
64
|
-
programAddress: resolvedAddresses.srslyProgramAddress,
|
|
65
|
-
});
|
|
66
|
-
return createFluentInstruction(rawInstruction);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Creates an instruction to reset a rental contract after cancellation with fluent configuration.
|
|
70
|
-
*
|
|
71
|
-
* This function clears the rental state from a canceled rental, making the contract
|
|
72
|
-
* available for new rentals. It's typically called after a rental has been canceled
|
|
73
|
-
* to clean up the state and allow the fleet to be rented out again.
|
|
74
|
-
*
|
|
75
|
-
* ## Features
|
|
76
|
-
*
|
|
77
|
-
* - **State Cleanup**: Clears canceled rental state from accounts
|
|
78
|
-
* - **Contract Reactivation**: Makes the contract available for new rentals
|
|
79
|
-
* - **Fleet Preparation**: Ensures fleet is ready for future rental operations
|
|
80
|
-
* - **SAGE Integration**: Updates fleet status in the Star Atlas ecosystem
|
|
81
|
-
* - **Account Derivation**: Automatically derives required game accounts
|
|
82
|
-
* - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
|
|
83
|
-
*
|
|
84
|
-
* ## Process
|
|
85
|
-
*
|
|
86
|
-
* 1. **Validate State**: Ensures rental was properly canceled before reset
|
|
87
|
-
* 2. **Derive Accounts**: Generates required game accounts (starbase, etc.)
|
|
88
|
-
* 3. **Clear State**: Removes canceled rental data from accounts
|
|
89
|
-
* 4. **Update SAGE**: Resets fleet status in the Star Atlas ecosystem
|
|
90
|
-
* 5. **Reactivate Contract**: Makes contract available for new rentals
|
|
91
|
-
*
|
|
92
|
-
* ## Requirements
|
|
93
|
-
*
|
|
94
|
-
* - Rental must be in canceled state (not active or completed)
|
|
95
|
-
* - Caller must have authority to reset the rental
|
|
96
|
-
* - All accounts must be properly initialized
|
|
97
|
-
* - Fleet must be under owner control
|
|
98
|
-
*
|
|
99
|
-
* ## When to Use
|
|
100
|
-
*
|
|
101
|
-
* - **After Cancellation**: When a rental has been canceled and needs cleanup
|
|
102
|
-
* - **Contract Reuse**: To make a contract available for new rentals
|
|
103
|
-
* - **State Recovery**: When rental state needs to be cleared
|
|
104
|
-
* - **Fleet Management**: To prepare fleet for future rental operations
|
|
105
|
-
*
|
|
106
|
-
* @example
|
|
107
|
-
* ```typescript
|
|
108
|
-
* import { resetRental } from '@srsly/sdk';
|
|
109
|
-
*
|
|
110
|
-
* // Reset a canceled rental (all addresses auto-fetched from contract)
|
|
111
|
-
* const instruction = await resetRental({
|
|
112
|
-
* payer: wallet, // Transaction payer
|
|
113
|
-
* contract: "ContractAddr...", // Contract to reactivate
|
|
114
|
-
* });
|
|
115
|
-
*
|
|
116
|
-
* // Optionally provide explicit addresses to avoid fetching
|
|
117
|
-
* const instruction = await resetRental({
|
|
118
|
-
* payer: wallet,
|
|
119
|
-
* fleet: "FleetAddress123...", // Optional: will be fetched if omitted
|
|
120
|
-
* contract: "ContractAddr...",
|
|
121
|
-
* rental: "RentalStateAddr...", // Optional: will be fetched if omitted
|
|
122
|
-
* ownerProfile: "OwnerProfileAddr..." // Optional: will be fetched if omitted
|
|
123
|
-
* });
|
|
124
|
-
*
|
|
125
|
-
* // Manual faction specification (optional)
|
|
126
|
-
* const manualInstruction = await resetRental({
|
|
127
|
-
* payer: wallet,
|
|
128
|
-
* contract: "ContractAddr...",
|
|
129
|
-
* }).set({ programs: 'mainnet' });
|
|
130
|
-
*
|
|
131
|
-
* // Override specific game configuration
|
|
132
|
-
* const customInstruction = await resetRental({
|
|
133
|
-
* payer: wallet,
|
|
134
|
-
* contract: "ContractAddr...",
|
|
135
|
-
* }).set({
|
|
136
|
-
* programs: 'mainnet',
|
|
137
|
-
* gameId: 'custom-game-id...'
|
|
138
|
-
* });
|
|
139
|
-
*
|
|
140
|
-
* // Convert to @solana/web3.js format
|
|
141
|
-
* const web3jsInstruction = await resetRental({
|
|
142
|
-
* payer: wallet,
|
|
143
|
-
* contract: "ContractAddr..."
|
|
144
|
-
* }).web3js(PublicKey);
|
|
145
|
-
*
|
|
146
|
-
* // Use with your preferred Solana library
|
|
147
|
-
* const transaction = new Transaction().add(web3jsInstruction);
|
|
148
|
-
* await sendAndConfirmTransaction(connection, transaction, [wallet]);
|
|
149
|
-
* ```
|
|
150
|
-
*
|
|
151
|
-
* @param params - The rental reset parameters including fleet, contract, rental state, and owner details
|
|
152
|
-
* @returns A SmartFluentConfigSelector that can be configured with .set() or awaited directly
|
|
153
|
-
* @throws Error when rental is not in canceled state or instruction generation fails
|
|
154
|
-
*/
|
|
155
|
-
export function resetRental(params) {
|
|
156
|
-
const baseSelector = createSdkConfigSelector(config => _resetRental(params, config));
|
|
157
|
-
return createSmartFluentConfigSelector(baseSelector);
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Low-level function to create a rental reset instruction with raw input parameters.
|
|
161
|
-
*
|
|
162
|
-
* This function provides direct access to the underlying codama-generated instruction
|
|
163
|
-
* builder. It's primarily used internally by the SDK but can be used for advanced
|
|
164
|
-
* use cases where full control over instruction parameters is needed.
|
|
165
|
-
*
|
|
166
|
-
* @internal
|
|
167
|
-
* @param input - Raw instruction input parameters as expected by codama
|
|
168
|
-
* @param options - Optional instruction options including program address
|
|
169
|
-
* @returns A SdkConfigSelector for the raw instruction
|
|
170
|
-
*/
|
|
171
|
-
export function getResetRentalInstructionAsync(input, options) {
|
|
172
|
-
return createSdkConfigSelector(async () => {
|
|
173
|
-
const instructionsModule = getModule('instructions');
|
|
174
|
-
return instructionsModule.getResetRentalInstructionAsync(input, options);
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
// Demo export for documentation site
|
|
178
|
-
export const resetRentalDemo = {
|
|
179
|
-
tabName: 'reset',
|
|
180
|
-
description: 'Reset a canceled rental',
|
|
181
|
-
imports: `import { resetRental } from '@wuwei-labs/srsly';`,
|
|
182
|
-
instruction: `const instruction = await resetRental({
|
|
183
|
-
payer: {{signerType}}.publicKey?.toBase58(),
|
|
184
|
-
contract: "CONTRACT_ADDRESS",
|
|
185
|
-
});`,
|
|
186
|
-
};
|
|
187
|
-
//# sourceMappingURL=reset.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/rental/reset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This code was AUTO-GENERATED from the Rust PaymentFrequency implementation.
|
|
3
|
-
* Please DO NOT EDIT THIS FILE manually - it will be overwritten.
|
|
4
|
-
*
|
|
5
|
-
* Source: programs/srsly/src/utils.rs
|
|
6
|
-
* Generated by: generate.mjs
|
|
7
|
-
*/
|
|
8
|
-
import { PaymentFrequency } from '../generated/codama/types/paymentFrequency';
|
|
9
|
-
// Re-export the PaymentFrequency enum for convenience
|
|
10
|
-
export { PaymentFrequency };
|
|
11
|
-
/**
|
|
12
|
-
* Array of all valid payment frequency strings
|
|
13
|
-
* Auto-generated from Rust PaymentFrequency enum
|
|
14
|
-
*/
|
|
15
|
-
export const VALID_PAYMENT_FREQUENCIES = [
|
|
16
|
-
'hourly',
|
|
17
|
-
'daily',
|
|
18
|
-
'weekly',
|
|
19
|
-
'monthly'
|
|
20
|
-
];
|
|
21
|
-
/**
|
|
22
|
-
* Mapping from user-friendly strings to PaymentFrequency enum values
|
|
23
|
-
* Auto-generated from Rust PaymentFrequency enum
|
|
24
|
-
*/
|
|
25
|
-
export const PAYMENT_FREQUENCY_MAP = {
|
|
26
|
-
'hourly': PaymentFrequency.Hourly,
|
|
27
|
-
'daily': PaymentFrequency.Daily,
|
|
28
|
-
'weekly': PaymentFrequency.Weekly,
|
|
29
|
-
'monthly': PaymentFrequency.Monthly
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Constants extracted from Rust constants.rs
|
|
33
|
-
* Auto-synced with Rust implementation
|
|
34
|
-
*/
|
|
35
|
-
export const PAYMENT_FREQUENCY_CONSTANTS = {
|
|
36
|
-
SECONDS_PER_DECASECOND: 10,
|
|
37
|
-
SECONDS_PER_MINUTE: 60,
|
|
38
|
-
SECONDS_PER_HOUR: 3600,
|
|
39
|
-
SECONDS_PER_DAY: 86400,
|
|
40
|
-
SECONDS_PER_WEEK: 604800,
|
|
41
|
-
SECONDS_PER_MONTH: 2678400
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Mapping from PaymentFrequency enum to cron expressions
|
|
45
|
-
* Auto-generated to match Rust implementation
|
|
46
|
-
*/
|
|
47
|
-
export const PAYMENT_FREQUENCY_TO_CRON = {
|
|
48
|
-
[PaymentFrequency.Hourly]: '@hourly',
|
|
49
|
-
[PaymentFrequency.Daily]: '@daily',
|
|
50
|
-
[PaymentFrequency.DailyOld]: '@daily',
|
|
51
|
-
[PaymentFrequency.Weekly]: '@weekly',
|
|
52
|
-
[PaymentFrequency.Monthly]: '@monthly',
|
|
53
|
-
[PaymentFrequency.Decasecond]: '*/10 * * * * *',
|
|
54
|
-
[PaymentFrequency.Minute]: '0 * * * * *',
|
|
55
|
-
[PaymentFrequency.Custom]: 'custom'
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Mapping from cron expressions to PaymentFrequency enum
|
|
59
|
-
* Supports both standard cron shortcuts (@daily) and extended format with seconds
|
|
60
|
-
*/
|
|
61
|
-
export const CRON_TO_PAYMENT_FREQUENCY = {
|
|
62
|
-
'@hourly': PaymentFrequency.Hourly,
|
|
63
|
-
'@daily': PaymentFrequency.Daily,
|
|
64
|
-
'@weekly': PaymentFrequency.Weekly,
|
|
65
|
-
'@monthly': PaymentFrequency.Monthly,
|
|
66
|
-
'*/10 * * * * *': PaymentFrequency.Decasecond,
|
|
67
|
-
'@decasecond': PaymentFrequency.Decasecond,
|
|
68
|
-
'0 * * * * *': PaymentFrequency.Minute,
|
|
69
|
-
'@minute': PaymentFrequency.Minute
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Get PaymentFrequency enum value from user-friendly string
|
|
73
|
-
*/
|
|
74
|
-
export function getPaymentFrequencyFromString(frequencyString) {
|
|
75
|
-
return PAYMENT_FREQUENCY_MAP[frequencyString];
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Check if a string is a valid payment frequency
|
|
79
|
-
*/
|
|
80
|
-
export function isValidPaymentFrequency(value) {
|
|
81
|
-
return VALID_PAYMENT_FREQUENCIES.includes(value);
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=payment-frequency.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"payment-frequency.js","sourceRoot":"","sources":["../../../src/types/payment-frequency.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE9E,sDAAsD;AACtD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAQ5B;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsC;IAC1E,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;CACD,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAqD;IACrF,QAAQ,EAAE,gBAAgB,CAAC,MAAM;IACjC,OAAO,EAAE,gBAAgB,CAAC,KAAK;IAC/B,QAAQ,EAAE,gBAAgB,CAAC,MAAM;IACjC,SAAS,EAAE,gBAAgB,CAAC,OAAO;CAC3B,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,sBAAsB,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IACtB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,KAAK;IACtB,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,OAAO;CAClB,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAqC;IACzE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,SAAS;IACpC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,QAAQ;IAClC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,QAAQ;IACrC,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,SAAS;IACpC,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,UAAU;IACtC,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,gBAAgB;IAC/C,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,aAAa;IACxC,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ;CAC3B,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAqC;IACzE,SAAS,EAAE,gBAAgB,CAAC,MAAM;IAClC,QAAQ,EAAE,gBAAgB,CAAC,KAAK;IAChC,SAAS,EAAE,gBAAgB,CAAC,MAAM;IAClC,UAAU,EAAE,gBAAgB,CAAC,OAAO;IACpC,gBAAgB,EAAE,gBAAgB,CAAC,UAAU;IAC7C,aAAa,EAAE,gBAAgB,CAAC,UAAU;IAC1C,aAAa,EAAE,gBAAgB,CAAC,MAAM;IACtC,SAAS,EAAE,gBAAgB,CAAC,MAAM;CAC1B,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,eAAuC;IACnF,OAAO,qBAAqB,CAAC,eAAe,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,yBAAyB,CAAC,QAAQ,CAAC,KAA+B,CAAC,CAAC;AAC7E,CAAC"}
|
package/dist/esm/types/srsly.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"srsly.js","sourceRoot":"","sources":["../../../src/types/srsly.ts"],"names":[],"mappings":""}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose SDK constants including address conversion, seeds, and network-aware helpers
|
|
3
|
-
* @reviewed 2025-07-29
|
|
4
|
-
*/
|
|
5
|
-
import { getSdkConfig, resolveProgramAddresses } from './config';
|
|
6
|
-
import { address, isAddress } from '@solana/kit';
|
|
7
|
-
/**
|
|
8
|
-
* Converts a string or Address to an Address type
|
|
9
|
-
* This utility ensures consistent address handling across the SDK
|
|
10
|
-
*/
|
|
11
|
-
export function toAddress(value) {
|
|
12
|
-
// Safety check for undefined/null values with detailed error info
|
|
13
|
-
if (value === undefined || value === null || value === '') {
|
|
14
|
-
const stack = new Error().stack;
|
|
15
|
-
throw new Error(`toAddress received invalid value: ${value} (type: ${typeof value}). Expected a non-empty string address. Call stack: ${stack}`);
|
|
16
|
-
}
|
|
17
|
-
// If it's already an Address type, return as-is
|
|
18
|
-
if (isAddress(value)) {
|
|
19
|
-
return value;
|
|
20
|
-
}
|
|
21
|
-
// Convert string to Address using @solana/kit
|
|
22
|
-
return address(value);
|
|
23
|
-
}
|
|
24
|
-
// Seed constants
|
|
25
|
-
export const STARBASE_SEED = 'Starbase';
|
|
26
|
-
export const STARBASE_PLAYER_SEED = 'starbase_player';
|
|
27
|
-
export const SAGE_PLAYER_PROFILE_SEED = 'sage_player_profile';
|
|
28
|
-
export const PROFILE_FACTION_SEED = 'player_faction';
|
|
29
|
-
// Token conversion constants
|
|
30
|
-
export const ATLAS_TO_STARDUST = 100_000_000; // 1 ATLAS = 100,000,000 stardust
|
|
31
|
-
// PaymentFrequency enum is now exported from codama-generated types
|
|
32
|
-
// Network constants are now managed in config.ts
|
|
33
|
-
export async function getSrslyProgramAddress(config) {
|
|
34
|
-
const globalConfig = getSdkConfig();
|
|
35
|
-
const effectiveConfig = { ...globalConfig, ...config };
|
|
36
|
-
const resolved = resolveProgramAddresses(effectiveConfig);
|
|
37
|
-
return toAddress(resolved.srslyProgramAddress);
|
|
38
|
-
}
|
|
39
|
-
// Network-specific constants with configuration support
|
|
40
|
-
export async function getSageProgramAddress(config) {
|
|
41
|
-
const globalConfig = getSdkConfig();
|
|
42
|
-
const effectiveConfig = { ...globalConfig, ...config };
|
|
43
|
-
const resolved = resolveProgramAddresses(effectiveConfig);
|
|
44
|
-
// Note: SAGE program address is fixed based on network and cannot be overridden
|
|
45
|
-
return resolved.sageProgramAddress; // Already converted to Address in resolveProgramAddresses
|
|
46
|
-
}
|
|
47
|
-
export async function getProfileFactionProgramAddress(config) {
|
|
48
|
-
const globalConfig = getSdkConfig();
|
|
49
|
-
const effectiveConfig = { ...globalConfig, ...config };
|
|
50
|
-
const resolved = resolveProgramAddresses(effectiveConfig);
|
|
51
|
-
return resolved.profileFactionProgramAddress;
|
|
52
|
-
}
|
|
53
|
-
export async function getAtlasMint(config) {
|
|
54
|
-
const globalConfig = getSdkConfig();
|
|
55
|
-
const effectiveConfig = { ...globalConfig, ...config };
|
|
56
|
-
const resolved = resolveProgramAddresses(effectiveConfig);
|
|
57
|
-
return resolved.atlasMint; // Already converted to Address in resolveProgramAddresses
|
|
58
|
-
}
|
|
59
|
-
// Faction-specific CSS coordinates for starbase derivation
|
|
60
|
-
export const FACTION_SPECIFIC_CSS = {
|
|
61
|
-
mud: { x: 0, y: -39 },
|
|
62
|
-
oni: { x: -40, y: 30 },
|
|
63
|
-
ustur: { x: 40, y: 30 },
|
|
64
|
-
};
|
|
65
|
-
export const FACTION_MAPPING = {
|
|
66
|
-
1: 'mud',
|
|
67
|
-
2: 'oni',
|
|
68
|
-
3: 'ustur',
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils/cron.js
DELETED
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Cron expression utilities for payment scheduling with cron-parser library
|
|
3
|
-
* @reviewed 2025-08-05
|
|
4
|
-
*/
|
|
5
|
-
import { CronExpressionParser } from 'cron-parser';
|
|
6
|
-
import { PAYMENT_FREQUENCY_TO_CRON, CRON_TO_PAYMENT_FREQUENCY } from '../types/payment-frequency';
|
|
7
|
-
// Custom shortcuts for Star Atlas specific frequencies
|
|
8
|
-
const CUSTOM_SHORTCUTS = {
|
|
9
|
-
'@decasecond': '*/10 * * * * *',
|
|
10
|
-
'@minute': '0 * * * * *',
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Calculate next payment time from a cron expression.
|
|
14
|
-
* Mirrors the Rust get_next_cron_occurrence function.
|
|
15
|
-
*
|
|
16
|
-
* @param schedule - Cron expression or shortcut (@daily, @hourly, etc)
|
|
17
|
-
* @param fromTimestamp - Unix timestamp to calculate from
|
|
18
|
-
* @returns Next occurrence as Unix timestamp
|
|
19
|
-
*/
|
|
20
|
-
export function getNextCronOccurrence(schedule, fromTimestamp) {
|
|
21
|
-
try {
|
|
22
|
-
// Handle custom shortcuts first
|
|
23
|
-
const expression = CUSTOM_SHORTCUTS[schedule] || schedule;
|
|
24
|
-
// Create date in UTC
|
|
25
|
-
const fromDate = new Date(fromTimestamp * 1000);
|
|
26
|
-
// Parse with seconds field support, explicitly in UTC
|
|
27
|
-
const options = {
|
|
28
|
-
currentDate: fromDate,
|
|
29
|
-
tz: 'UTC'
|
|
30
|
-
};
|
|
31
|
-
const interval = CronExpressionParser.parse(expression, options);
|
|
32
|
-
const next = interval.next();
|
|
33
|
-
return Math.floor(next.getTime() / 1000);
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
throw new Error('Invalid cron schedule: ' + schedule + ' - ' + error.message);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Validate a cron expression.
|
|
41
|
-
*
|
|
42
|
-
* @param expression - Cron expression to validate
|
|
43
|
-
* @returns true if valid
|
|
44
|
-
*/
|
|
45
|
-
export function validateCronExpression(expression) {
|
|
46
|
-
try {
|
|
47
|
-
// Handle custom shortcuts
|
|
48
|
-
const cronExpression = CUSTOM_SHORTCUTS[expression] || expression;
|
|
49
|
-
CronExpressionParser.parse(cronExpression, { tz: 'UTC' });
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Convert PaymentFrequency enum to cron expression.
|
|
58
|
-
*
|
|
59
|
-
* @param frequency - PaymentFrequency enum value
|
|
60
|
-
* @returns Cron expression string
|
|
61
|
-
*/
|
|
62
|
-
export function paymentFrequencyToCron(frequency) {
|
|
63
|
-
const cron = PAYMENT_FREQUENCY_TO_CRON[frequency];
|
|
64
|
-
if (!cron) {
|
|
65
|
-
throw new Error('No cron expression mapping for frequency: ' + frequency);
|
|
66
|
-
}
|
|
67
|
-
return cron;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Get the actual period duration of a cron schedule.
|
|
71
|
-
* Uses the prev/next method to calculate the true recurring interval.
|
|
72
|
-
*
|
|
73
|
-
* @param schedule - Cron expression or shortcut (@daily, @hourly, etc)
|
|
74
|
-
* @param currentTime - Current Unix timestamp
|
|
75
|
-
* @returns Period duration in seconds
|
|
76
|
-
*/
|
|
77
|
-
export function getActualPeriodDuration(schedule, currentTime) {
|
|
78
|
-
try {
|
|
79
|
-
// Handle custom shortcuts first
|
|
80
|
-
const expression = CUSTOM_SHORTCUTS[schedule] || schedule;
|
|
81
|
-
// Create date in UTC
|
|
82
|
-
const options = {
|
|
83
|
-
currentDate: new Date(currentTime * 1000),
|
|
84
|
-
tz: 'UTC'
|
|
85
|
-
};
|
|
86
|
-
// Parse the cron expression
|
|
87
|
-
const interval = CronExpressionParser.parse(expression, options);
|
|
88
|
-
// Get the previous occurrence
|
|
89
|
-
const prev = interval.prev();
|
|
90
|
-
// Reset iterator to previous occurrence
|
|
91
|
-
interval.reset(prev);
|
|
92
|
-
// Get the next occurrence from that point
|
|
93
|
-
const next = interval.next();
|
|
94
|
-
// The difference is the actual period duration
|
|
95
|
-
return Math.floor((next.getTime() - prev.getTime()) / 1000);
|
|
96
|
-
}
|
|
97
|
-
catch (error) {
|
|
98
|
-
throw new Error('Failed to calculate period duration for schedule: ' + schedule + ' - ' + error.message);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Parse schedule string to determine type.
|
|
103
|
-
*
|
|
104
|
-
* @param schedule - Schedule string
|
|
105
|
-
* @returns Parsed schedule info
|
|
106
|
-
*/
|
|
107
|
-
export function parseScheduleString(schedule) {
|
|
108
|
-
// Check if it's a known frequency
|
|
109
|
-
const frequency = CRON_TO_PAYMENT_FREQUENCY[schedule];
|
|
110
|
-
if (frequency !== undefined) {
|
|
111
|
-
return { type: 'enum', frequency, cron: schedule };
|
|
112
|
-
}
|
|
113
|
-
// Validate as custom cron
|
|
114
|
-
if (!validateCronExpression(schedule)) {
|
|
115
|
-
throw new Error('Invalid payment schedule: ' + schedule);
|
|
116
|
-
}
|
|
117
|
-
return { type: 'cron', cron: schedule };
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Calculate payment schedule for a rental period.
|
|
121
|
-
*
|
|
122
|
-
* @param schedule - Cron expression
|
|
123
|
-
* @param startTime - Start Unix timestamp
|
|
124
|
-
* @param duration - Duration in seconds
|
|
125
|
-
* @param limit - Max payments to calculate
|
|
126
|
-
* @returns Payment times and total count
|
|
127
|
-
*/
|
|
128
|
-
export function calculatePaymentSchedule(schedule, startTime, duration, limit = 10) {
|
|
129
|
-
const times = [];
|
|
130
|
-
const endTime = startTime + duration;
|
|
131
|
-
try {
|
|
132
|
-
// Handle custom shortcuts
|
|
133
|
-
const expression = CUSTOM_SHORTCUTS[schedule] || schedule;
|
|
134
|
-
const options = {
|
|
135
|
-
currentDate: new Date(startTime * 1000),
|
|
136
|
-
endDate: new Date(endTime * 1000),
|
|
137
|
-
tz: 'UTC'
|
|
138
|
-
};
|
|
139
|
-
const interval = CronExpressionParser.parse(expression, options);
|
|
140
|
-
// Use take() to get the first N occurrences
|
|
141
|
-
const dates = interval.take(limit);
|
|
142
|
-
for (const date of dates) {
|
|
143
|
-
const nextTime = Math.floor(date.getTime() / 1000);
|
|
144
|
-
if (nextTime >= endTime)
|
|
145
|
-
break;
|
|
146
|
-
times.push(nextTime);
|
|
147
|
-
}
|
|
148
|
-
// Count total payments by iterating through all occurrences
|
|
149
|
-
let totalPayments = times.length;
|
|
150
|
-
if (times.length === limit) {
|
|
151
|
-
// Reset interval to continue counting
|
|
152
|
-
const countInterval = CronExpressionParser.parse(expression, {
|
|
153
|
-
currentDate: times.length > 0 ? new Date(times[times.length - 1] * 1000) : new Date(startTime * 1000),
|
|
154
|
-
endDate: new Date(endTime * 1000),
|
|
155
|
-
tz: 'UTC'
|
|
156
|
-
});
|
|
157
|
-
// Count remaining occurrences
|
|
158
|
-
try {
|
|
159
|
-
while (true) {
|
|
160
|
-
const next = countInterval.next();
|
|
161
|
-
if (Math.floor(next.getTime() / 1000) >= endTime)
|
|
162
|
-
break;
|
|
163
|
-
totalPayments++;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
catch {
|
|
167
|
-
// Iterator exhausted
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
return { times, totalPayments };
|
|
171
|
-
}
|
|
172
|
-
catch (error) {
|
|
173
|
-
// If parsing fails, return empty schedule
|
|
174
|
-
return { times: [], totalPayments: 0 };
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Format payment schedule preview.
|
|
179
|
-
*
|
|
180
|
-
* @param schedule - Cron expression
|
|
181
|
-
* @param startTime - Start Unix timestamp
|
|
182
|
-
* @param duration - Duration in seconds
|
|
183
|
-
* @returns Formatted preview
|
|
184
|
-
*/
|
|
185
|
-
export function formatPaymentSchedulePreview(schedule, startTime, duration) {
|
|
186
|
-
const { times, totalPayments } = calculatePaymentSchedule(schedule, startTime, duration, 5);
|
|
187
|
-
return {
|
|
188
|
-
schedule,
|
|
189
|
-
firstPayment: times[0] ? new Date(times[0] * 1000) : undefined,
|
|
190
|
-
lastPayment: times[times.length - 1] ? new Date(times[times.length - 1] * 1000) : undefined,
|
|
191
|
-
totalPayments,
|
|
192
|
-
samplePayments: times.map(t => new Date(t * 1000))
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
//# sourceMappingURL=cron.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cron.js","sourceRoot":"","sources":["../../../src/utils/cron.ts"],"names":[],"mappings":"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"}
|