@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
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified reserveRental instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated reserveRental instruction.
|
|
5
|
+
* Reserves a rental contract using points or ATLAS for a GBM-style auction.
|
|
6
|
+
*/
|
|
7
|
+
import { address, createSolanaRpc } from '@solana/kit';
|
|
8
|
+
import { getReserveRentalInstructionAsync } from '../generated/codama/instructions';
|
|
9
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
+
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
+
import { fetchContract } from '../accounts/contract';
|
|
12
|
+
import { fetchConfig } from '../accounts/config';
|
|
13
|
+
import { fetchBorrowerState } from '../generated/codama/accounts';
|
|
14
|
+
import { deriveBorrowerState } from '../pda/srsly';
|
|
15
|
+
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
16
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
17
|
+
/**
|
|
18
|
+
* Reserve a rental contract via GBM-style auction
|
|
19
|
+
*
|
|
20
|
+
* Allows a user to reserve (bid on) a rental contract using either
|
|
21
|
+
* accumulated capture points or ATLAS tokens. Winners get an exclusive
|
|
22
|
+
* reservation window to accept the rental once the current rental ends.
|
|
23
|
+
*
|
|
24
|
+
* The reservation type is determined by the `useAtlas` parameter:
|
|
25
|
+
* - If `useAtlas=false` (default): Uses capture points from borrower state
|
|
26
|
+
* - If `useAtlas=true`: Transfers ATLAS from challenger's wallet
|
|
27
|
+
*
|
|
28
|
+
* @param params - Reservation parameters
|
|
29
|
+
* @param config - Optional SDK configuration overrides
|
|
30
|
+
* @returns Array of instructions (Kit format or web3.js if PublicKey in config)
|
|
31
|
+
*
|
|
32
|
+
* @demo
|
|
33
|
+
* ```typescript
|
|
34
|
+
* // Reserve with 5 points
|
|
35
|
+
* const ixs = await reserveRental({
|
|
36
|
+
* challenger: wallet,
|
|
37
|
+
* contract: "CONTRACT_ADDRESS",
|
|
38
|
+
* amount: 5, // 5 points deducted from borrower state
|
|
39
|
+
* useAtlas: false
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* // Reserve with 5 point-equivalents in ATLAS
|
|
43
|
+
* const ixs2 = await reserveRental({
|
|
44
|
+
* challenger: wallet,
|
|
45
|
+
* contract: "CONTRACT_ADDRESS",
|
|
46
|
+
* amount: 5, // 5 * atlas_per_point = ATLAS lamports transferred
|
|
47
|
+
* useAtlas: true,
|
|
48
|
+
* computeUnits: 200_000
|
|
49
|
+
* });
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export async function reserveRental(params, config) {
|
|
53
|
+
// Merge config
|
|
54
|
+
const finalConfig = mergeConfig(config);
|
|
55
|
+
// Validate required params
|
|
56
|
+
if (!params.challenger) {
|
|
57
|
+
throw new Error('challenger is required');
|
|
58
|
+
}
|
|
59
|
+
if (!params.contract) {
|
|
60
|
+
throw new Error('contract is required');
|
|
61
|
+
}
|
|
62
|
+
if (params.amount === undefined || params.amount === null) {
|
|
63
|
+
throw new Error('amount is required');
|
|
64
|
+
}
|
|
65
|
+
// Convert challenger to transaction signer
|
|
66
|
+
const challengerSigner = toTransactionSigner(params.challenger);
|
|
67
|
+
// Get network-specific addresses
|
|
68
|
+
const addresses = getAddresses(config);
|
|
69
|
+
const atlasMint = address(addresses.atlasMint);
|
|
70
|
+
const programAddress = address(addresses.srsly);
|
|
71
|
+
// Derive challenger state PDA
|
|
72
|
+
const challengerState = await deriveBorrowerState(challengerSigner.address);
|
|
73
|
+
// Fetch contract to get contract token account
|
|
74
|
+
const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
75
|
+
const contractTokenAccount = contractAccount.data.contractTokenAccount;
|
|
76
|
+
// Fetch config for mint validation
|
|
77
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
78
|
+
// Derive challenger's managed token account (used for receiving ATLAS bonuses)
|
|
79
|
+
const challengerManagedTokenAccount = await deriveAssociatedTokenAccount(challengerState, atlasMint);
|
|
80
|
+
// Convert amount based on reservation type
|
|
81
|
+
// - Points: use raw number as-is
|
|
82
|
+
// - ATLAS: multiply by atlas_per_point to get lamports
|
|
83
|
+
const amountValue = params.useAtlas
|
|
84
|
+
? BigInt(params.amount) * BigInt(configAccount.data.atlasPerPoint) // point-equivalents → lamports
|
|
85
|
+
: BigInt(params.amount); // points stay as-is
|
|
86
|
+
// Build instruction input
|
|
87
|
+
const instructionInput = {
|
|
88
|
+
challenger: challengerSigner,
|
|
89
|
+
mint: atlasMint,
|
|
90
|
+
contract: address(params.contract),
|
|
91
|
+
challengerState,
|
|
92
|
+
challengerManagedTokenAccount,
|
|
93
|
+
contractTokenAccount: address(contractTokenAccount),
|
|
94
|
+
amount: amountValue,
|
|
95
|
+
// Optional accounts based on reservation type
|
|
96
|
+
challengerTokenAccount: undefined,
|
|
97
|
+
defenderState: undefined,
|
|
98
|
+
defenderManagedTokenAccount: undefined,
|
|
99
|
+
};
|
|
100
|
+
// If using ATLAS, include challenger's token account
|
|
101
|
+
if (params.useAtlas) {
|
|
102
|
+
const challengerTokenAccount = await deriveAssociatedTokenAccount(challengerSigner.address, atlasMint);
|
|
103
|
+
instructionInput.challengerTokenAccount = challengerTokenAccount;
|
|
104
|
+
}
|
|
105
|
+
// If there's a current reservation holder, we need to provide defender accounts
|
|
106
|
+
if (contractAccount.data.reservationHolder &&
|
|
107
|
+
typeof contractAccount.data.reservationHolder === 'object' &&
|
|
108
|
+
'__option' in contractAccount.data.reservationHolder &&
|
|
109
|
+
contractAccount.data.reservationHolder.__option === 'Some') {
|
|
110
|
+
const defenderState = contractAccount.data.reservationHolder.value;
|
|
111
|
+
instructionInput.defenderState = defenderState;
|
|
112
|
+
// Fetch defender state to get their managed token account
|
|
113
|
+
const rpc = createSolanaRpc(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
|
|
114
|
+
try {
|
|
115
|
+
const defenderStateAccount = await fetchBorrowerState(rpc, defenderState);
|
|
116
|
+
if (defenderStateAccount.data.managedTokenAccount) {
|
|
117
|
+
instructionInput.defenderManagedTokenAccount = defenderStateAccount.data.managedTokenAccount;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
// Defender state might not exist or be readable, continue without it
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Call Codama-generated instruction
|
|
125
|
+
const kitInstruction = await getReserveRentalInstructionAsync(instructionInput, { programAddress });
|
|
126
|
+
// Prepare instructions with optional compute budget and web3.js conversion
|
|
127
|
+
return prepareInstructions(kitInstruction, {
|
|
128
|
+
computeUnits: params.computeUnits,
|
|
129
|
+
PublicKey: finalConfig.PublicKey
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=reserveRental.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified updateBorrower instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated updateBorrower instruction.
|
|
5
|
+
* Updates the borrower's refund destination and/or profile.
|
|
6
|
+
*/
|
|
7
|
+
import { address } from '@solana/kit';
|
|
8
|
+
import { getUpdateBorrowerInstructionAsync } from '../generated/codama/instructions';
|
|
9
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
+
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
12
|
+
/**
|
|
13
|
+
* Update borrower account
|
|
14
|
+
*
|
|
15
|
+
* Updates the borrower's SAGE profile and/or refund destination.
|
|
16
|
+
* The SAGE profile is required for rental operations. The refund destination
|
|
17
|
+
* will be used for refunds and payment claims if initialized.
|
|
18
|
+
*
|
|
19
|
+
* This function automatically derives the borrower state PDA.
|
|
20
|
+
*
|
|
21
|
+
* @param params - Update borrower parameters
|
|
22
|
+
* @param config - Optional SDK configuration overrides
|
|
23
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
24
|
+
*
|
|
25
|
+
* @demo
|
|
26
|
+
* ```typescript
|
|
27
|
+
* // Update borrower's SAGE profile
|
|
28
|
+
* const ix = await updateBorrower({
|
|
29
|
+
* borrower: wallet,
|
|
30
|
+
* borrowerProfile: "NEW_BORROWER_PROFILE_ADDRESS"
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* // Set SAGE profile
|
|
37
|
+
* const ix = await updateBorrower({
|
|
38
|
+
* borrower: borrowerWallet,
|
|
39
|
+
* borrowerProfile: borrowerProfileAddress
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* // Set refund destination
|
|
43
|
+
* const ix2 = await updateBorrower({
|
|
44
|
+
* borrower: borrowerWallet,
|
|
45
|
+
* refundDestination: newTokenAccount
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* // Update both
|
|
49
|
+
* const ix3 = await updateBorrower({
|
|
50
|
+
* borrower: borrowerWallet,
|
|
51
|
+
* borrowerProfile: borrowerProfileAddress,
|
|
52
|
+
* refundDestination: newTokenAccount
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export async function updateBorrower(params, config) {
|
|
57
|
+
// Merge config
|
|
58
|
+
const finalConfig = mergeConfig(config);
|
|
59
|
+
// Validate required params
|
|
60
|
+
if (!params.borrower) {
|
|
61
|
+
throw new Error('borrower is required');
|
|
62
|
+
}
|
|
63
|
+
// Convert borrower to transaction signer
|
|
64
|
+
const borrowerSigner = toTransactionSigner(params.borrower);
|
|
65
|
+
// Get network-specific addresses
|
|
66
|
+
const addresses = getAddresses(config);
|
|
67
|
+
const atlasMint = address(addresses.atlasMint);
|
|
68
|
+
const programAddress = address(addresses.srsly);
|
|
69
|
+
// Call Codama-generated instruction
|
|
70
|
+
// Note: borrowerState will be auto-derived by Codama
|
|
71
|
+
// NOTE: borrowerProfile will be added once Codama types are regenerated
|
|
72
|
+
const instructionAccounts = {
|
|
73
|
+
borrower: borrowerSigner,
|
|
74
|
+
mint: atlasMint,
|
|
75
|
+
};
|
|
76
|
+
// Add borrowerProfile if provided
|
|
77
|
+
if (params.borrowerProfile) {
|
|
78
|
+
instructionAccounts.borrowerProfile = address(params.borrowerProfile);
|
|
79
|
+
}
|
|
80
|
+
const kitInstruction = await getUpdateBorrowerInstructionAsync(instructionAccounts, { programAddress });
|
|
81
|
+
return prepareInstructions(kitInstruction, {
|
|
82
|
+
computeUnits: params.computeUnits,
|
|
83
|
+
PublicKey: finalConfig.PublicKey
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=updateBorrower.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateBorrower.js","sourceRoot":"","sources":["../../../src/instructions/updateBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA+B5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,oCAAoC;IACpC,qDAAqD;IACrD,wEAAwE;IACxE,MAAM,mBAAmB,GAAQ;QAC/B,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,SAAS;KAChB,CAAC;IAEF,kCAAkC;IAClC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,mBAAmB,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAA0B,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D,mBAAmB,EACnB,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified updateConfig instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated updateConfig instruction.
|
|
5
|
+
* Updates the global program configuration settings.
|
|
6
|
+
*/
|
|
7
|
+
import { address, some, none, } from '@solana/kit';
|
|
8
|
+
import { getUpdateConfigInstructionAsync } from '../generated/codama/instructions';
|
|
9
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
+
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
12
|
+
/**
|
|
13
|
+
* Convert a value to Option type
|
|
14
|
+
*/
|
|
15
|
+
function toOption(value) {
|
|
16
|
+
return value === null || value === undefined ? none() : some(value);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Update program configuration
|
|
20
|
+
*
|
|
21
|
+
* Updates one or more global program configuration settings.
|
|
22
|
+
* Only provide the fields you want to update - all are optional.
|
|
23
|
+
*
|
|
24
|
+
* @param params - Configuration update parameters
|
|
25
|
+
* @param config - Optional SDK configuration overrides
|
|
26
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Update service fee
|
|
31
|
+
* const ix = await updateConfig({
|
|
32
|
+
* admin: adminWallet,
|
|
33
|
+
* serviceFeeBps: 1000 // 10%
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* // Update multiple settings
|
|
37
|
+
* const ix2 = await updateConfig({
|
|
38
|
+
* admin: adminWallet,
|
|
39
|
+
* serviceFeeBps: 1500,
|
|
40
|
+
* reservationsEnabled: true,
|
|
41
|
+
* pointsPerDay: 100
|
|
42
|
+
* });
|
|
43
|
+
*
|
|
44
|
+
* // Change admin
|
|
45
|
+
* const ix3 = await updateConfig({
|
|
46
|
+
* admin: currentAdmin,
|
|
47
|
+
* newAdmin: newAdminAddress
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export async function updateConfig(params, config) {
|
|
52
|
+
// Merge config
|
|
53
|
+
const finalConfig = mergeConfig(config);
|
|
54
|
+
// Validate required params
|
|
55
|
+
if (!params.admin) {
|
|
56
|
+
throw new Error('admin is required');
|
|
57
|
+
}
|
|
58
|
+
// Convert admin to transaction signer
|
|
59
|
+
const adminSigner = toTransactionSigner(params.admin);
|
|
60
|
+
// Get network-specific addresses
|
|
61
|
+
const addresses = getAddresses(config);
|
|
62
|
+
const programAddress = address(addresses.srsly);
|
|
63
|
+
// Convert newAdmin to address if provided
|
|
64
|
+
const newAdminAddress = params.newAdmin
|
|
65
|
+
? address(params.newAdmin)
|
|
66
|
+
: undefined;
|
|
67
|
+
// Convert atlasMint to address if provided
|
|
68
|
+
const atlasMintAddress = params.atlasMint
|
|
69
|
+
? address(params.atlasMint)
|
|
70
|
+
: undefined;
|
|
71
|
+
// Call Codama-generated instruction
|
|
72
|
+
const kitInstruction = await getUpdateConfigInstructionAsync({
|
|
73
|
+
admin: adminSigner,
|
|
74
|
+
adminArg: toOption(newAdminAddress),
|
|
75
|
+
stardustToAtlas: toOption(params.stardustToAtlas),
|
|
76
|
+
serviceFeeBps: toOption(params.serviceFeeBps),
|
|
77
|
+
baseBps: toOption(params.baseBps),
|
|
78
|
+
rentalDurationMinSeconds: toOption(params.rentalDurationMinSeconds),
|
|
79
|
+
rentalDurationMaxSeconds: toOption(params.rentalDurationMaxSeconds),
|
|
80
|
+
atlasMint: toOption(atlasMintAddress),
|
|
81
|
+
defaultPaymentFrequency: toOption(params.defaultPaymentFrequency),
|
|
82
|
+
allowedFrequencies: toOption(params.allowedFrequencies),
|
|
83
|
+
reservationsEnabled: toOption(params.reservationsEnabled),
|
|
84
|
+
pointsPerDay: toOption(params.pointsPerDay),
|
|
85
|
+
cancellationPenalty: toOption(params.cancellationPenalty),
|
|
86
|
+
reservationWindowHours: toOption(params.reservationWindowHours),
|
|
87
|
+
minCaptureThreshold: toOption(params.minCaptureThreshold),
|
|
88
|
+
weightBase: toOption(params.weightBase),
|
|
89
|
+
weightMultiplier: toOption(params.weightMultiplier),
|
|
90
|
+
maxWeight: toOption(params.maxWeight),
|
|
91
|
+
captureRateBps: toOption(params.captureRateBps),
|
|
92
|
+
maxDiscountBps: toOption(params.maxDiscountBps),
|
|
93
|
+
atlasPerPoint: toOption(params.atlasPerPoint),
|
|
94
|
+
}, { programAddress });
|
|
95
|
+
return prepareInstructions(kitInstruction, {
|
|
96
|
+
computeUnits: params.computeUnits,
|
|
97
|
+
PublicKey: finalConfig.PublicKey
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=updateConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Simplified updateContract instruction wrapper
|
|
3
|
+
*
|
|
4
|
+
* Thin convenience wrapper around Codama-generated updateContract instruction.
|
|
5
|
+
* Allows updating any subset of contract fields while a contract has no active rental.
|
|
6
|
+
*/
|
|
7
|
+
import { address } from '@solana/kit';
|
|
8
|
+
import { getUpdateContractInstructionAsync } from '../generated/codama/instructions';
|
|
9
|
+
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
+
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
+
import { convertAmount } from '../params/amount';
|
|
12
|
+
import { convertDuration } from '../params/duration';
|
|
13
|
+
import { normalizeSchedule } from '../params/schedule';
|
|
14
|
+
import { prepareInstructions } from '../utils/instructions';
|
|
15
|
+
/**
|
|
16
|
+
* Update an existing rental contract
|
|
17
|
+
*
|
|
18
|
+
* Allows the contract owner to update any subset of contract settings.
|
|
19
|
+
* Contract must not have an active rental.
|
|
20
|
+
*
|
|
21
|
+
* @param params - Contract update parameters
|
|
22
|
+
* @param config - Optional SDK configuration overrides
|
|
23
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* // Update only the rate
|
|
28
|
+
* const ix = await updateContract({
|
|
29
|
+
* owner: wallet,
|
|
30
|
+
* contract: contractAddress,
|
|
31
|
+
* rate: 150 // Increase rate to 150 ATLAS
|
|
32
|
+
* });
|
|
33
|
+
*
|
|
34
|
+
* // Update multiple fields
|
|
35
|
+
* const ix2 = await updateContract({
|
|
36
|
+
* owner: wallet,
|
|
37
|
+
* contract: contractAddress,
|
|
38
|
+
* rate: 100,
|
|
39
|
+
* durationMax: { days: 60 },
|
|
40
|
+
* paymentsFreq: '@weekly'
|
|
41
|
+
* });
|
|
42
|
+
*
|
|
43
|
+
* // With web3.js
|
|
44
|
+
* import { PublicKey } from '@solana/web3.js';
|
|
45
|
+
* setSdkConfig({ network: 'mainnet-beta', PublicKey });
|
|
46
|
+
* const web3Ix = await updateContract({
|
|
47
|
+
* owner: keypair,
|
|
48
|
+
* contract: contractPubkey,
|
|
49
|
+
* rate: { atlas: 2.5 }
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export async function updateContract(params, config) {
|
|
54
|
+
// Merge config
|
|
55
|
+
const finalConfig = mergeConfig(config);
|
|
56
|
+
// Validate required params
|
|
57
|
+
if (!params.owner) {
|
|
58
|
+
throw new Error('owner is required');
|
|
59
|
+
}
|
|
60
|
+
if (!params.contract) {
|
|
61
|
+
throw new Error('contract is required');
|
|
62
|
+
}
|
|
63
|
+
// At least one field must be updated
|
|
64
|
+
if (params.rate === undefined &&
|
|
65
|
+
params.durationMin === undefined &&
|
|
66
|
+
params.durationMax === undefined &&
|
|
67
|
+
params.paymentsFreq === undefined &&
|
|
68
|
+
params.allowInstantCancel === undefined &&
|
|
69
|
+
params.reservationsDisabled === undefined) {
|
|
70
|
+
throw new Error('At least one field must be provided to update');
|
|
71
|
+
}
|
|
72
|
+
// Convert owner to transaction signer
|
|
73
|
+
const ownerSigner = toTransactionSigner(params.owner);
|
|
74
|
+
// Convert optional parameters
|
|
75
|
+
const rateStardust = params.rate !== undefined ? convertAmount(params.rate) : null;
|
|
76
|
+
const durationMinSeconds = params.durationMin !== undefined ? BigInt(convertDuration(params.durationMin)) : null;
|
|
77
|
+
const durationMaxSeconds = params.durationMax !== undefined ? BigInt(convertDuration(params.durationMax)) : null;
|
|
78
|
+
const normalizedSchedule = params.paymentsFreq !== undefined ? normalizeSchedule(params.paymentsFreq) : null;
|
|
79
|
+
// Validate duration logic if both are being updated
|
|
80
|
+
if (durationMinSeconds !== null && durationMaxSeconds !== null) {
|
|
81
|
+
if (durationMaxSeconds < durationMinSeconds) {
|
|
82
|
+
throw new Error(`durationMax (${durationMaxSeconds}s) must be >= durationMin (${durationMinSeconds}s)`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Get network-specific addresses
|
|
86
|
+
const addresses = getAddresses(config);
|
|
87
|
+
const programAddress = address(addresses.srsly);
|
|
88
|
+
// Call Codama-generated instruction
|
|
89
|
+
const kitInstruction = await getUpdateContractInstructionAsync({
|
|
90
|
+
owner: ownerSigner,
|
|
91
|
+
contract: address(params.contract),
|
|
92
|
+
rate: rateStardust,
|
|
93
|
+
durationMinSeconds,
|
|
94
|
+
durationMaxSeconds,
|
|
95
|
+
paymentsFeq: normalizedSchedule,
|
|
96
|
+
allowInstantCancel: params.allowInstantCancel ?? null,
|
|
97
|
+
reservationsDisabled: params.reservationsDisabled ?? null,
|
|
98
|
+
}, { programAddress });
|
|
99
|
+
return prepareInstructions(kitInstruction, {
|
|
100
|
+
computeUnits: params.computeUnits,
|
|
101
|
+
PublicKey: finalConfig.PublicKey
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=updateContract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateContract.js","sourceRoot":"","sources":["../../../src/instructions/updateContract.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/package.json
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wuwei-labs/srsly",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "",
|
|
5
|
-
"source": "./src/index.ts",
|
|
3
|
+
"version": "3.0.0-beta.1",
|
|
4
|
+
"description": "TypeScript SDK for SRSLY",
|
|
6
5
|
"sideEffects": false,
|
|
7
6
|
"publishConfig": {
|
|
8
7
|
"access": "public"
|
|
@@ -11,53 +10,52 @@
|
|
|
11
10
|
"dist/cjs",
|
|
12
11
|
"dist/esm",
|
|
13
12
|
"dist/types",
|
|
14
|
-
"
|
|
15
|
-
"target/types/srsly.ts"
|
|
13
|
+
"src/idl/srsly.json"
|
|
16
14
|
],
|
|
17
15
|
"keywords": [
|
|
18
16
|
"SRSLY",
|
|
19
|
-
"Star",
|
|
20
|
-
"
|
|
21
|
-
"sdk"
|
|
17
|
+
"Star Atlas",
|
|
18
|
+
"Solana",
|
|
19
|
+
"sdk",
|
|
20
|
+
"fleet rental"
|
|
22
21
|
],
|
|
23
22
|
"scripts": {
|
|
24
|
-
"build": "pnpm run generate && pnpm run
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"pretest": "pnpm run build:quick",
|
|
23
|
+
"build": "pnpm run generate && pnpm run compile",
|
|
24
|
+
"generate": "codama run js",
|
|
25
|
+
"generate:version": "node scripts/generate-version.js",
|
|
26
|
+
"compile": "pnpm run generate:version && pnpm run compile:cjs && pnpm run compile:esm",
|
|
27
|
+
"compile:cjs": "tsc -p tsconfig.cjs.json && tsconfig-to-dual-package tsconfig.cjs.json",
|
|
28
|
+
"compile:esm": "tsc -p tsconfig.esm.json && tsconfig-to-dual-package tsconfig.esm.json",
|
|
29
|
+
"clean": "rm -rf dist src/generated src/idl src/types src/version.ts",
|
|
32
30
|
"test": "vitest run",
|
|
33
|
-
"test:
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"format": "prettier --write \"src/**/*.{ts,js,json}\" --ignore-path .prettierignore",
|
|
37
|
-
"format:check": "prettier --check \"src/**/*.{ts,js,json}\" --ignore-path .prettierignore",
|
|
31
|
+
"test:watch": "vitest",
|
|
32
|
+
"format": "prettier --write \"src/**/*.{ts,js,json}\" --ignore-path ../../.prettierignore",
|
|
33
|
+
"format:check": "prettier --check \"src/**/*.{ts,js,json}\" --ignore-path ../../.prettierignore",
|
|
38
34
|
"lint": "pnpm run format:check"
|
|
39
35
|
},
|
|
40
36
|
"author": "",
|
|
41
37
|
"license": "ISC",
|
|
42
38
|
"packageManager": "pnpm@10.13.1",
|
|
43
39
|
"dependencies": {
|
|
40
|
+
"@codama/nodes-from-anchor": "^1.2.9",
|
|
41
|
+
"@codama/renderers-js": "^1.4.2",
|
|
44
42
|
"@solana/kit": "^2.1.1",
|
|
45
|
-
"
|
|
46
|
-
},
|
|
47
|
-
"optionalDependencies": {
|
|
48
|
-
"@srsly/program": "workspace:*"
|
|
43
|
+
"@wuwei-labs/slyvault": "workspace:*"
|
|
49
44
|
},
|
|
50
45
|
"devDependencies": {
|
|
51
|
-
"@codama/nodes-from-anchor": "^1.1.13",
|
|
52
|
-
"@wuwei-labs/renderers-js": "^1.4.2",
|
|
53
46
|
"@types/node": "^24.0.3",
|
|
54
|
-
"codama": "^1.
|
|
55
|
-
"nodemon": "^3.0.2",
|
|
47
|
+
"codama": "^1.3.7",
|
|
56
48
|
"tsconfig-to-dual-package": "^1.2.0",
|
|
57
|
-
"typedoc": "^0.27.6",
|
|
58
49
|
"typescript": "^5.9.2",
|
|
59
|
-
"vitest": "^3.2.4"
|
|
60
|
-
|
|
50
|
+
"vitest": "^3.2.4"
|
|
51
|
+
},
|
|
52
|
+
"peerDependencies": {
|
|
53
|
+
"@solana/web3.js": "^1.95.0"
|
|
54
|
+
},
|
|
55
|
+
"peerDependenciesMeta": {
|
|
56
|
+
"@solana/web3.js": {
|
|
57
|
+
"optional": true
|
|
58
|
+
}
|
|
61
59
|
},
|
|
62
60
|
"type": "module"
|
|
63
61
|
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose Amount parameter conversion utilities
|
|
3
|
+
*
|
|
4
|
+
* Converts user-friendly ATLAS amounts to stardust (smallest unit) for use with Solana programs.
|
|
5
|
+
* 1 ATLAS = 100,000,000 stardust (8 decimal places)
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Stardust per ATLAS (8 decimal places)
|
|
9
|
+
*/
|
|
10
|
+
const STARDUST_PER_ATLAS = 100_000_000;
|
|
11
|
+
/**
|
|
12
|
+
* Convert amount parameter to stardust (smallest unit)
|
|
13
|
+
*
|
|
14
|
+
* @param amount - Amount in any supported format
|
|
15
|
+
* @returns Amount in stardust (u64 for Solana program)
|
|
16
|
+
* @throws Error if amount is invalid or negative
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* convertAmount(100) // 10_000_000_000 stardust (100 ATLAS)
|
|
21
|
+
* convertAmount({ atlas: 10 }) // 1_000_000_000 stardust (10 ATLAS)
|
|
22
|
+
* convertAmount({ stardust: 1000000 }) // 1_000_000 stardust (0.01 ATLAS)
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export function convertAmount(amount) {
|
|
26
|
+
let stardust;
|
|
27
|
+
// Handle plain number (ATLAS)
|
|
28
|
+
if (typeof amount === 'number') {
|
|
29
|
+
if (amount < 0) {
|
|
30
|
+
throw new Error(`Amount must be non-negative, got ${amount}`);
|
|
31
|
+
}
|
|
32
|
+
stardust = amount * STARDUST_PER_ATLAS;
|
|
33
|
+
}
|
|
34
|
+
// Handle object format
|
|
35
|
+
else if (typeof amount === 'object' && amount !== null) {
|
|
36
|
+
if ('atlas' in amount && amount.atlas !== undefined) {
|
|
37
|
+
if (amount.atlas < 0) {
|
|
38
|
+
throw new Error(`ATLAS amount must be non-negative, got ${amount.atlas}`);
|
|
39
|
+
}
|
|
40
|
+
stardust = amount.atlas * STARDUST_PER_ATLAS;
|
|
41
|
+
}
|
|
42
|
+
else if ('stardust' in amount && amount.stardust !== undefined) {
|
|
43
|
+
if (amount.stardust < 0) {
|
|
44
|
+
throw new Error(`Stardust amount must be non-negative, got ${amount.stardust}`);
|
|
45
|
+
}
|
|
46
|
+
stardust = amount.stardust;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
throw new Error(`Invalid amount format. Expected { atlas: number } or { stardust: number }. ` +
|
|
50
|
+
`Got: ${JSON.stringify(amount)}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
throw new Error(`Invalid amount type. Expected number or object. Got: ${typeof amount}`);
|
|
55
|
+
}
|
|
56
|
+
// Convert to bigint and ensure it's a whole number
|
|
57
|
+
const stardustBigInt = BigInt(Math.floor(stardust));
|
|
58
|
+
// Validate it fits in u64
|
|
59
|
+
if (stardustBigInt < 0n) {
|
|
60
|
+
throw new Error(`Amount resulted in negative stardust: ${stardustBigInt}`);
|
|
61
|
+
}
|
|
62
|
+
const MAX_U64 = 18446744073709551615n;
|
|
63
|
+
if (stardustBigInt > MAX_U64) {
|
|
64
|
+
throw new Error(`Amount too large. Max u64: ${MAX_U64}, got: ${stardustBigInt}`);
|
|
65
|
+
}
|
|
66
|
+
return stardustBigInt;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Convert stardust to ATLAS for display
|
|
70
|
+
*
|
|
71
|
+
* @param stardust - Amount in stardust
|
|
72
|
+
* @returns Amount in ATLAS (decimal)
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* stardustToAtlas(100_000_000n) // 1.0 ATLAS
|
|
77
|
+
* stardustToAtlas(150_000_000n) // 1.5 ATLAS
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export function stardustToAtlas(stardust) {
|
|
81
|
+
const stardustNum = typeof stardust === 'bigint' ? Number(stardust) : stardust;
|
|
82
|
+
return stardustNum / STARDUST_PER_ATLAS;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Format amount for display
|
|
86
|
+
*
|
|
87
|
+
* @param stardust - Amount in stardust
|
|
88
|
+
* @param decimals - Number of decimal places (default: 2)
|
|
89
|
+
* @returns Formatted ATLAS amount string
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* formatAmount(100_000_000n) // "1.00 ATLAS"
|
|
94
|
+
* formatAmount(150_000_000n, 4) // "1.5000 ATLAS"
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export function formatAmount(stardust, decimals = 2) {
|
|
98
|
+
const atlas = stardustToAtlas(stardust);
|
|
99
|
+
return `${atlas.toFixed(decimals)} ATLAS`;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Validate amount is within reasonable bounds
|
|
103
|
+
*
|
|
104
|
+
* @param stardust - Amount in stardust
|
|
105
|
+
* @param min - Minimum allowed amount in stardust (default: 0)
|
|
106
|
+
* @param max - Maximum allowed amount in stardust (default: MAX_U64)
|
|
107
|
+
* @throws Error if amount is out of bounds
|
|
108
|
+
*/
|
|
109
|
+
export function validateAmount(stardust, min = 0n, max = 18446744073709551615n) {
|
|
110
|
+
if (stardust < min) {
|
|
111
|
+
throw new Error(`Amount too small: ${formatAmount(stardust)}. ` +
|
|
112
|
+
`Minimum: ${formatAmount(min)}`);
|
|
113
|
+
}
|
|
114
|
+
if (stardust > max) {
|
|
115
|
+
throw new Error(`Amount too large: ${formatAmount(stardust)}. ` +
|
|
116
|
+
`Maximum: ${formatAmount(max)}`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=amount.js.map
|