@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
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Fluent instruction interface for format conversion between @solana/kit and @solana/web3.js
|
|
3
|
-
* @reviewed 2025-07-29
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Fluent instruction interface for format conversion between @solana/kit and @solana/web3.js
|
|
7
|
-
*/
|
|
8
|
-
import { getEffectiveSdkConfig } from './config';
|
|
9
|
-
/**
|
|
10
|
-
* Create a fluent instruction from a kit instruction using non-polluting design
|
|
11
|
-
* @param kitInstruction The base instruction in kit format
|
|
12
|
-
* @returns Fluent instruction with separate instruction property and conversion methods
|
|
13
|
-
*/
|
|
14
|
-
export function createFluentInstruction(kitInstruction) {
|
|
15
|
-
function kit() {
|
|
16
|
-
return kitInstruction;
|
|
17
|
-
}
|
|
18
|
-
function web3js(PublicKey) {
|
|
19
|
-
const accounts = kitInstruction.accounts || [];
|
|
20
|
-
if (PublicKey) {
|
|
21
|
-
// Return instruction with PublicKey instances
|
|
22
|
-
return {
|
|
23
|
-
keys: accounts.map(account => ({
|
|
24
|
-
pubkey: new PublicKey(account.address),
|
|
25
|
-
isWritable: (account.role & 1) === 1, // Check if writable bit is set
|
|
26
|
-
isSigner: (account.role & 2) === 2, // Check if signer bit is set
|
|
27
|
-
})),
|
|
28
|
-
programId: new PublicKey(kitInstruction.programAddress),
|
|
29
|
-
data: kitInstruction.data,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
// Return instruction with string addresses
|
|
34
|
-
return {
|
|
35
|
-
keys: accounts.map(account => ({
|
|
36
|
-
pubkey: account.address,
|
|
37
|
-
isWritable: (account.role & 1) === 1, // Check if writable bit is set
|
|
38
|
-
isSigner: (account.role & 2) === 2, // Check if signer bit is set
|
|
39
|
-
})),
|
|
40
|
-
programId: kitInstruction.programAddress,
|
|
41
|
-
data: kitInstruction.data,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
instruction: kitInstruction, // Pure, unpolluted instruction data
|
|
47
|
-
kit,
|
|
48
|
-
web3js,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Create a fluent config selector that adds format conversion methods
|
|
53
|
-
* @deprecated Use createSmartFluentConfigSelector instead
|
|
54
|
-
* @param baseSelector The base SdkConfigSelector
|
|
55
|
-
* @returns FluentConfigSelector with additional format conversion methods
|
|
56
|
-
*/
|
|
57
|
-
export function createFluentConfigSelector(baseSelector) {
|
|
58
|
-
async function web3js(PublicKey) {
|
|
59
|
-
const fluentInstruction = await baseSelector.build();
|
|
60
|
-
return fluentInstruction.web3js(PublicKey);
|
|
61
|
-
}
|
|
62
|
-
return {
|
|
63
|
-
// Override set to return FluentConfigSelector
|
|
64
|
-
set(options) {
|
|
65
|
-
const newBaseSelector = baseSelector.set(options);
|
|
66
|
-
return createFluentConfigSelector(newBaseSelector);
|
|
67
|
-
},
|
|
68
|
-
build: baseSelector.build,
|
|
69
|
-
then: baseSelector.then,
|
|
70
|
-
web3js,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Create a smart fluent config selector with library-aware return types
|
|
75
|
-
* @param baseSelector The base SdkConfigSelector
|
|
76
|
-
* @returns SmartFluentConfigSelector with smart return behavior
|
|
77
|
-
*/
|
|
78
|
-
export function createSmartFluentConfigSelector(baseSelector) {
|
|
79
|
-
return {
|
|
80
|
-
set(options) {
|
|
81
|
-
const newBaseSelector = baseSelector.set(options);
|
|
82
|
-
return createSmartFluentConfigSelector(newBaseSelector);
|
|
83
|
-
},
|
|
84
|
-
build: baseSelector.build,
|
|
85
|
-
// The magic happens in then() - smart return based on config
|
|
86
|
-
then(onfulfilled, onrejected) {
|
|
87
|
-
const promise = (async () => {
|
|
88
|
-
const fluentInstruction = await baseSelector.build();
|
|
89
|
-
const effectiveConfig = getEffectiveSdkConfig(); // Get merged global + local config
|
|
90
|
-
// Smart return based on library preference
|
|
91
|
-
if (effectiveConfig.library === 'kit') {
|
|
92
|
-
return fluentInstruction.kit();
|
|
93
|
-
}
|
|
94
|
-
else if (effectiveConfig.library === 'web3js') {
|
|
95
|
-
if (effectiveConfig.PublicKey) {
|
|
96
|
-
return fluentInstruction.web3js(effectiveConfig.PublicKey);
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
return fluentInstruction.web3js(); // String addresses
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
// No preference set - return full FluentInstruction
|
|
104
|
-
return fluentInstruction;
|
|
105
|
-
}
|
|
106
|
-
})();
|
|
107
|
-
return promise.then(onfulfilled, onrejected);
|
|
108
|
-
},
|
|
109
|
-
// Explicit conversion methods (always available)
|
|
110
|
-
async kit() {
|
|
111
|
-
const fluentInstruction = await baseSelector.build();
|
|
112
|
-
return fluentInstruction.kit();
|
|
113
|
-
},
|
|
114
|
-
async web3js(PublicKey) {
|
|
115
|
-
const fluentInstruction = await baseSelector.build();
|
|
116
|
-
return fluentInstruction.web3js(PublicKey);
|
|
117
|
-
},
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=instruction-converter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"instruction-converter.js","sourceRoot":"","sources":["../../../src/utils/instruction-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Convert smart parameters to blockchain values (stardust, seconds, periods)
|
|
3
|
-
* @reviewed 2025-08-05
|
|
4
|
-
*/
|
|
5
|
-
import { fetchConfigState } from './fetch-accounts';
|
|
6
|
-
import { calculatePaymentSchedule } from './cron';
|
|
7
|
-
import { normalizePaymentSchedule } from './payment-frequency';
|
|
8
|
-
/**
|
|
9
|
-
* Convert duration parameter to seconds.
|
|
10
|
-
*
|
|
11
|
-
* @param duration - Duration in various formats
|
|
12
|
-
* @returns Total seconds
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* convertDurationToSeconds({ days: 7 }); // 604800
|
|
16
|
-
* convertDurationToSeconds({ hours: 24, minutes: 30 }); // 88200
|
|
17
|
-
* convertDurationToSeconds(3600); // 3600 (passthrough)
|
|
18
|
-
*/
|
|
19
|
-
export async function convertDurationToSeconds(duration) {
|
|
20
|
-
if (typeof duration === 'number') {
|
|
21
|
-
return duration;
|
|
22
|
-
}
|
|
23
|
-
let seconds = 0;
|
|
24
|
-
if (duration.seconds)
|
|
25
|
-
seconds += duration.seconds;
|
|
26
|
-
if (duration.minutes)
|
|
27
|
-
seconds += duration.minutes * 60;
|
|
28
|
-
if (duration.hours)
|
|
29
|
-
seconds += duration.hours * 3600;
|
|
30
|
-
if (duration.days)
|
|
31
|
-
seconds += duration.days * 86400;
|
|
32
|
-
if (duration.weeks)
|
|
33
|
-
seconds += duration.weeks * 604800;
|
|
34
|
-
if (duration.months)
|
|
35
|
-
seconds += duration.months * 2678400; // 31 days
|
|
36
|
-
return seconds;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Convert duration parameter to payment periods based on frequency.
|
|
40
|
-
*
|
|
41
|
-
* @param duration - Duration in various formats
|
|
42
|
-
* @param frequency - Payment frequency (cron expression)
|
|
43
|
-
* @returns Number of payment periods
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* convertDurationToPeriods({ days: 7 }, '@daily'); // 7 periods
|
|
47
|
-
* convertDurationToPeriods({ days: 7 }, '@hourly'); // 168 periods
|
|
48
|
-
* convertDurationToPeriods({ weeks: 2 }, '@weekly'); // 2 periods
|
|
49
|
-
*/
|
|
50
|
-
/**
|
|
51
|
-
* Helper function to add duration to a date using proper date arithmetic.
|
|
52
|
-
* Handles month overflow correctly (e.g., Jan 31 + 1 month = Feb 28/29).
|
|
53
|
-
*/
|
|
54
|
-
function addDurationToDate(startDate, duration) {
|
|
55
|
-
const result = new Date(startDate);
|
|
56
|
-
if (typeof duration === 'number') {
|
|
57
|
-
// Direct seconds
|
|
58
|
-
result.setUTCSeconds(result.getUTCSeconds() + duration);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
// Apply duration components in order (months before days for correct calculation)
|
|
62
|
-
if (duration.months)
|
|
63
|
-
result.setUTCMonth(result.getUTCMonth() + duration.months);
|
|
64
|
-
if (duration.weeks)
|
|
65
|
-
result.setUTCDate(result.getUTCDate() + duration.weeks * 7);
|
|
66
|
-
if (duration.days)
|
|
67
|
-
result.setUTCDate(result.getUTCDate() + duration.days);
|
|
68
|
-
if (duration.hours)
|
|
69
|
-
result.setUTCHours(result.getUTCHours() + duration.hours);
|
|
70
|
-
if (duration.minutes)
|
|
71
|
-
result.setUTCMinutes(result.getUTCMinutes() + duration.minutes);
|
|
72
|
-
if (duration.seconds)
|
|
73
|
-
result.setUTCSeconds(result.getUTCSeconds() + duration.seconds);
|
|
74
|
-
}
|
|
75
|
-
return result;
|
|
76
|
-
}
|
|
77
|
-
export async function convertDurationToPeriods(duration, frequency) {
|
|
78
|
-
// Normalize the frequency first
|
|
79
|
-
const normalizedFrequency = normalizePaymentSchedule(frequency);
|
|
80
|
-
// Get current time as start
|
|
81
|
-
const now = Math.floor(Date.now() / 1000);
|
|
82
|
-
const startDate = new Date(now * 1000);
|
|
83
|
-
// Calculate end date using proper date arithmetic
|
|
84
|
-
const endDate = addDurationToDate(startDate, duration);
|
|
85
|
-
const endTime = Math.floor(endDate.getTime() / 1000);
|
|
86
|
-
// Calculate the duration in seconds
|
|
87
|
-
const durationSeconds = endTime - now;
|
|
88
|
-
// Use calculatePaymentSchedule to count actual occurrences
|
|
89
|
-
const { totalPayments } = calculatePaymentSchedule(normalizedFrequency, now, durationSeconds, 1 // We only need the count, limit doesn't matter for totalPayments
|
|
90
|
-
);
|
|
91
|
-
return totalPayments;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Convert amount parameter to stardust units.
|
|
95
|
-
* IMPORTANT: Numbers are interpreted as ATLAS by default (v3 breaking change).
|
|
96
|
-
*
|
|
97
|
-
* @param amount - Amount in ATLAS or stardust
|
|
98
|
-
* @param config - Optional config state (will fetch if not provided)
|
|
99
|
-
* @returns Amount in stardust units
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
* convertAmountToStardust(1); // 100_000_000 stardust (1 ATLAS)
|
|
103
|
-
* convertAmountToStardust({ atlas: 1.5 }); // 150_000_000 stardust
|
|
104
|
-
* convertAmountToStardust({ stardust: 123456789 }); // 123456789 stardust
|
|
105
|
-
*/
|
|
106
|
-
export async function convertAmountToStardust(amount, config) {
|
|
107
|
-
const cfg = config || await fetchConfigState();
|
|
108
|
-
const stardustPerAtlas = Number(cfg.stardustToAtlas);
|
|
109
|
-
// NUMBER = ATLAS (v3 breaking change from stardust)
|
|
110
|
-
if (typeof amount === 'number') {
|
|
111
|
-
return BigInt(Math.floor(amount * stardustPerAtlas));
|
|
112
|
-
}
|
|
113
|
-
if ('atlas' in amount) {
|
|
114
|
-
return BigInt(Math.floor(amount.atlas * stardustPerAtlas));
|
|
115
|
-
}
|
|
116
|
-
if ('stardust' in amount) {
|
|
117
|
-
return BigInt(amount.stardust);
|
|
118
|
-
}
|
|
119
|
-
throw new Error('Invalid amount parameter');
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Convert percentage parameter to basis points (100 = 1%).
|
|
123
|
-
*
|
|
124
|
-
* @param percentage - Percentage in various formats
|
|
125
|
-
* @returns Basis points
|
|
126
|
-
*
|
|
127
|
-
* @example
|
|
128
|
-
* convertPercentageToBasisPoints({ percent: 10 }); // 1000
|
|
129
|
-
* convertPercentageToBasisPoints({ basisPoints: 1050 }); // 1050
|
|
130
|
-
* convertPercentageToBasisPoints(500); // 500 (5%)
|
|
131
|
-
*/
|
|
132
|
-
export function convertPercentageToBasisPoints(percentage) {
|
|
133
|
-
if (typeof percentage === 'number') {
|
|
134
|
-
return percentage;
|
|
135
|
-
}
|
|
136
|
-
if ('basisPoints' in percentage) {
|
|
137
|
-
return percentage.basisPoints;
|
|
138
|
-
}
|
|
139
|
-
if ('percent' in percentage) {
|
|
140
|
-
// Convert percentage to basis points (10% = 1000 bps)
|
|
141
|
-
return Math.floor(percentage.percent * 100);
|
|
142
|
-
}
|
|
143
|
-
throw new Error('Invalid percentage parameter');
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Format amount from stardust to ATLAS for display.
|
|
147
|
-
*
|
|
148
|
-
* @param stardust - Amount in stardust units
|
|
149
|
-
* @param config - Optional config state
|
|
150
|
-
* @returns Formatted ATLAS amount
|
|
151
|
-
*
|
|
152
|
-
* @example
|
|
153
|
-
* formatStardustToAtlas(100_000_000n); // "1"
|
|
154
|
-
* formatStardustToAtlas(150_000_000n); // "1.5"
|
|
155
|
-
* formatStardustToAtlas(123_456_789n); // "1.23456789"
|
|
156
|
-
*/
|
|
157
|
-
export async function formatStardustToAtlas(stardust, config) {
|
|
158
|
-
const cfg = config || await fetchConfigState();
|
|
159
|
-
const stardustPerAtlas = Number(cfg.stardustToAtlas);
|
|
160
|
-
const atlas = Number(stardust) / stardustPerAtlas;
|
|
161
|
-
// Remove trailing zeros and unnecessary decimal point
|
|
162
|
-
return atlas.toFixed(8).replace(/\.?0+$/, '');
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Validate duration against config limits.
|
|
166
|
-
*
|
|
167
|
-
* @param durationSeconds - Duration in seconds
|
|
168
|
-
* @param config - Optional config state
|
|
169
|
-
* @throws Error if duration is outside allowed range
|
|
170
|
-
*/
|
|
171
|
-
export async function validateDurationLimits(durationSeconds, config) {
|
|
172
|
-
const cfg = config || await fetchConfigState();
|
|
173
|
-
if (durationSeconds < cfg.rentalDurationMinSeconds) {
|
|
174
|
-
const minDays = Number(cfg.rentalDurationMinSeconds) / 86400;
|
|
175
|
-
throw new Error(`Duration must be at least ${minDays} days (${cfg.rentalDurationMinSeconds} seconds)`);
|
|
176
|
-
}
|
|
177
|
-
if (durationSeconds > cfg.rentalDurationMaxSeconds) {
|
|
178
|
-
const maxDays = Number(cfg.rentalDurationMaxSeconds) / 86400;
|
|
179
|
-
throw new Error(`Duration cannot exceed ${maxDays} days (${cfg.rentalDurationMaxSeconds} seconds)`);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
//# sourceMappingURL=param-converters.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"param-converters.js","sourceRoot":"","sources":["../../../src/utils/param-converters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Payment frequency conversion utilities mirroring Rust implementation
|
|
3
|
-
* @reviewed 2025-07-29
|
|
4
|
-
*/
|
|
5
|
-
import { PaymentFrequency } from '../types/payment-frequency';
|
|
6
|
-
import { PAYMENT_FREQUENCY_MAP, PAYMENT_FREQUENCY_CONSTANTS } from '../types/payment-frequency';
|
|
7
|
-
import { validateCronExpression, calculatePaymentSchedule } from './cron';
|
|
8
|
-
/**
|
|
9
|
-
* Payment frequency conversion utilities
|
|
10
|
-
* Mirrors the Rust implementation in programs/srsly/src/utils.rs
|
|
11
|
-
* Uses auto-generated constants and mappings from Rust source
|
|
12
|
-
*/
|
|
13
|
-
// Auto-synced constants from Rust constants.rs
|
|
14
|
-
const { SECONDS_PER_DECASECOND, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK, SECONDS_PER_MONTH, } = PAYMENT_FREQUENCY_CONSTANTS;
|
|
15
|
-
/**
|
|
16
|
-
* Converts a PaymentFrequency enum value to seconds
|
|
17
|
-
* @deprecated Use calculateDurationForPeriods with cron expressions instead
|
|
18
|
-
* Kept for backwards compatibility only
|
|
19
|
-
*/
|
|
20
|
-
export function paymentFrequencyToSeconds(frequency) {
|
|
21
|
-
switch (frequency) {
|
|
22
|
-
case PaymentFrequency.Decasecond:
|
|
23
|
-
return SECONDS_PER_DECASECOND;
|
|
24
|
-
case PaymentFrequency.Minute:
|
|
25
|
-
return SECONDS_PER_MINUTE;
|
|
26
|
-
case PaymentFrequency.Hourly:
|
|
27
|
-
return SECONDS_PER_HOUR;
|
|
28
|
-
case PaymentFrequency.Daily:
|
|
29
|
-
case PaymentFrequency.DailyOld:
|
|
30
|
-
return SECONDS_PER_DAY;
|
|
31
|
-
case PaymentFrequency.Weekly:
|
|
32
|
-
return SECONDS_PER_WEEK;
|
|
33
|
-
case PaymentFrequency.Monthly:
|
|
34
|
-
return SECONDS_PER_MONTH;
|
|
35
|
-
case PaymentFrequency.Custom:
|
|
36
|
-
throw new Error('Custom payment frequency does not have a fixed interval. Use cron expression to calculate.');
|
|
37
|
-
default:
|
|
38
|
-
throw new Error(`Unknown payment frequency: ${frequency}`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Calculate duration in seconds for a given number of payment periods
|
|
43
|
-
* Uses cron parsing for accurate calculation with any schedule
|
|
44
|
-
* Mirrors Rust's calculate_duration_for_periods function
|
|
45
|
-
*/
|
|
46
|
-
export function calculateDurationForPeriods(schedule, periods, fromTimestamp = Math.floor(Date.now() / 1000)) {
|
|
47
|
-
if (!validateCronExpression(schedule)) {
|
|
48
|
-
throw new Error(`Invalid payment schedule: ${schedule}`);
|
|
49
|
-
}
|
|
50
|
-
const { times } = calculatePaymentSchedule(schedule, fromTimestamp, 365 * 24 * 60 * 60, periods);
|
|
51
|
-
if (times.length < periods) {
|
|
52
|
-
throw new Error(`Could not calculate ${periods} payments within a year for schedule: ${schedule}`);
|
|
53
|
-
}
|
|
54
|
-
// Return duration from start to the Nth payment
|
|
55
|
-
return times[periods - 1] - fromTimestamp;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Converts a payment frequency string to seconds
|
|
59
|
-
* @deprecated Use calculateDurationForPeriods with the actual schedule string
|
|
60
|
-
* Kept for backwards compatibility only
|
|
61
|
-
*/
|
|
62
|
-
export function paymentFrequencyStringToSeconds(frequencyString) {
|
|
63
|
-
// Strip @ prefix if present (contracts store as "@daily", "@hourly", etc.)
|
|
64
|
-
const normalizedFrequency = frequencyString.startsWith('@')
|
|
65
|
-
? frequencyString.slice(1)
|
|
66
|
-
: frequencyString;
|
|
67
|
-
const frequency = PAYMENT_FREQUENCY_MAP[normalizedFrequency];
|
|
68
|
-
if (frequency === undefined) {
|
|
69
|
-
throw new Error(`Invalid payment frequency string: ${frequencyString} (normalized: ${normalizedFrequency})`);
|
|
70
|
-
}
|
|
71
|
-
return paymentFrequencyToSeconds(frequency);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Validates that a duration is a multiple of the payment frequency
|
|
75
|
-
* @deprecated No longer needed with period-based durations
|
|
76
|
-
* Periods are always aligned by definition
|
|
77
|
-
*/
|
|
78
|
-
export function validateDurationAlignment(duration, frequencyString) {
|
|
79
|
-
// With period-based durations, alignment is automatic
|
|
80
|
-
// This function is kept for backwards compatibility only
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Normalizes payment schedule input to a cron expression.
|
|
85
|
-
* Now that cron-parser handles @ shortcuts natively, we just validate and normalize.
|
|
86
|
-
*
|
|
87
|
-
* @param input - Payment schedule (e.g., '@daily', 'daily', '0 0 * * *')
|
|
88
|
-
* @returns Normalized schedule string for the Rust program
|
|
89
|
-
*/
|
|
90
|
-
export function normalizePaymentSchedule(input) {
|
|
91
|
-
// Common shortcuts without @ prefix (for backwards compatibility)
|
|
92
|
-
const shortcutsWithoutAt = ['hourly', 'daily', 'weekly', 'monthly', 'yearly', 'annually', 'decasecond', 'minute'];
|
|
93
|
-
// Add @ prefix if it's a known shortcut without @
|
|
94
|
-
const lowerInput = input.toLowerCase();
|
|
95
|
-
if (shortcutsWithoutAt.includes(lowerInput)) {
|
|
96
|
-
input = `@${lowerInput}`;
|
|
97
|
-
}
|
|
98
|
-
// Validate the expression
|
|
99
|
-
if (!validateCronExpression(input)) {
|
|
100
|
-
throw new Error(`Invalid payment schedule: ${input}`);
|
|
101
|
-
}
|
|
102
|
-
return input;
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=payment-frequency.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"payment-frequency.js","sourceRoot":"","sources":["../../../src/utils/payment-frequency.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Fluent API for building and previewing payment schedules
|
|
3
|
-
* @reviewed 2025-08-05
|
|
4
|
-
*/
|
|
5
|
-
import { paymentFrequencyToCron, calculatePaymentSchedule, validateCronExpression } from './cron';
|
|
6
|
-
import { normalizePaymentSchedule } from './payment-frequency';
|
|
7
|
-
import { validateRentalSchedule } from './schedule-validation';
|
|
8
|
-
/**
|
|
9
|
-
* Builder for payment schedules with validation and preview.
|
|
10
|
-
*/
|
|
11
|
-
export class ScheduleBuilder {
|
|
12
|
-
schedule;
|
|
13
|
-
/**
|
|
14
|
-
* Create from PaymentFrequency enum or string.
|
|
15
|
-
*/
|
|
16
|
-
static fromFrequency(frequency) {
|
|
17
|
-
const cron = typeof frequency === 'string'
|
|
18
|
-
? normalizePaymentSchedule(frequency)
|
|
19
|
-
: paymentFrequencyToCron(frequency);
|
|
20
|
-
return new ScheduleBuilder(cron);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Create from custom cron expression.
|
|
24
|
-
*/
|
|
25
|
-
static fromCron(expression) {
|
|
26
|
-
if (!validateCronExpression(expression)) {
|
|
27
|
-
throw new Error('Invalid cron expression: ' + expression);
|
|
28
|
-
}
|
|
29
|
-
return new ScheduleBuilder(expression);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Create schedule for common intervals.
|
|
33
|
-
*/
|
|
34
|
-
static every(interval, value) {
|
|
35
|
-
let cron;
|
|
36
|
-
switch (interval) {
|
|
37
|
-
case 'minutes':
|
|
38
|
-
if (value === 1) {
|
|
39
|
-
cron = '0 * * * * *';
|
|
40
|
-
}
|
|
41
|
-
else if (60 % value === 0) {
|
|
42
|
-
cron = '0 */' + value + ' * * * *';
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
throw new Error('Cannot create schedule for every ' + value + ' minutes');
|
|
46
|
-
}
|
|
47
|
-
break;
|
|
48
|
-
case 'hours':
|
|
49
|
-
if (value === 1) {
|
|
50
|
-
cron = '@hourly';
|
|
51
|
-
}
|
|
52
|
-
else if (24 % value === 0) {
|
|
53
|
-
cron = '0 0 */' + value + ' * * *';
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
throw new Error('Cannot create schedule for every ' + value + ' hours');
|
|
57
|
-
}
|
|
58
|
-
break;
|
|
59
|
-
case 'days':
|
|
60
|
-
if (value === 1) {
|
|
61
|
-
cron = '@daily';
|
|
62
|
-
}
|
|
63
|
-
else if (value === 7) {
|
|
64
|
-
cron = '@weekly';
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
cron = '0 0 0 */' + value + ' * *';
|
|
68
|
-
}
|
|
69
|
-
break;
|
|
70
|
-
}
|
|
71
|
-
return new ScheduleBuilder(cron);
|
|
72
|
-
}
|
|
73
|
-
constructor(schedule) {
|
|
74
|
-
this.schedule = schedule;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Preview payment schedule.
|
|
78
|
-
*/
|
|
79
|
-
preview(startTime, duration, rate) {
|
|
80
|
-
const { times, totalPayments } = calculatePaymentSchedule(this.schedule, startTime, duration, 10);
|
|
81
|
-
const payments = times.map((time, index) => ({
|
|
82
|
-
time,
|
|
83
|
-
date: new Date(time * 1000),
|
|
84
|
-
paymentNumber: index + 1
|
|
85
|
-
}));
|
|
86
|
-
const preview = {
|
|
87
|
-
schedule: this.schedule,
|
|
88
|
-
payments,
|
|
89
|
-
totalCount: totalPayments,
|
|
90
|
-
firstPayment: payments[0]?.date,
|
|
91
|
-
lastPayment: times[times.length - 1]
|
|
92
|
-
? new Date(times[times.length - 1] * 1000)
|
|
93
|
-
: undefined,
|
|
94
|
-
};
|
|
95
|
-
if (rate !== undefined && rate > 0) {
|
|
96
|
-
preview.amountPerPayment = rate;
|
|
97
|
-
preview.totalAmount = rate * totalPayments;
|
|
98
|
-
}
|
|
99
|
-
return preview;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Validate schedule against rental constraints.
|
|
103
|
-
*/
|
|
104
|
-
validate(duration, minDuration, maxDuration) {
|
|
105
|
-
return validateRentalSchedule(this.schedule, duration, minDuration, maxDuration);
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Get human-readable description.
|
|
109
|
-
*/
|
|
110
|
-
describe() {
|
|
111
|
-
const descriptions = {
|
|
112
|
-
'@hourly': 'Every hour',
|
|
113
|
-
'@daily': 'Daily',
|
|
114
|
-
'@weekly': 'Weekly',
|
|
115
|
-
'@monthly': 'Monthly',
|
|
116
|
-
'*/10 * * * * *': 'Every 10 seconds',
|
|
117
|
-
'0 * * * * *': 'Every minute',
|
|
118
|
-
};
|
|
119
|
-
const desc = descriptions[this.schedule];
|
|
120
|
-
return desc ? desc + ' (' + this.schedule + ')' : this.schedule;
|
|
121
|
-
}
|
|
122
|
-
toString() {
|
|
123
|
-
return this.schedule;
|
|
124
|
-
}
|
|
125
|
-
getCronExpression() {
|
|
126
|
-
return this.schedule;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
export function createSchedule(type, options) {
|
|
130
|
-
switch (type) {
|
|
131
|
-
case 'hourly':
|
|
132
|
-
case 'daily':
|
|
133
|
-
case 'weekly':
|
|
134
|
-
case 'monthly':
|
|
135
|
-
return ScheduleBuilder.fromFrequency(type);
|
|
136
|
-
case 'every':
|
|
137
|
-
if (options.minutes) {
|
|
138
|
-
return ScheduleBuilder.every('minutes', options.minutes);
|
|
139
|
-
}
|
|
140
|
-
else if (options.hours) {
|
|
141
|
-
return ScheduleBuilder.every('hours', options.hours);
|
|
142
|
-
}
|
|
143
|
-
else if (options.days) {
|
|
144
|
-
return ScheduleBuilder.every('days', options.days);
|
|
145
|
-
}
|
|
146
|
-
throw new Error('Invalid interval options');
|
|
147
|
-
case 'cron':
|
|
148
|
-
return ScheduleBuilder.fromCron(options);
|
|
149
|
-
default:
|
|
150
|
-
throw new Error('Unknown schedule type: ' + type);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
//# sourceMappingURL=schedule-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-builder.js","sourceRoot":"","sources":["../../../src/utils/schedule-builder.ts"],"names":[],"mappings":"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"}
|