@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,159 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Update SRSLY program configuration with SDK wrapper
|
|
3
|
-
* @reviewed 2025-07-31
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* # Config Update Module
|
|
7
|
-
*
|
|
8
|
-
* This module provides functionality for updating the SRSLY program configuration.
|
|
9
|
-
* It allows the config authority to modify system-wide settings including fees,
|
|
10
|
-
* duration limits, and payment frequencies.
|
|
11
|
-
*
|
|
12
|
-
* ## Features
|
|
13
|
-
*
|
|
14
|
-
* - **Authority Management**: Transfer config authority to new addresses
|
|
15
|
-
* - **Fee Configuration**: Update service fees and collection accounts
|
|
16
|
-
* - **Duration Limits**: Modify minimum and maximum rental durations
|
|
17
|
-
* - **Payment Frequencies**: Configure allowed payment frequencies
|
|
18
|
-
*
|
|
19
|
-
* @module Config/Update
|
|
20
|
-
*/
|
|
21
|
-
import { getModule, createSdkConfigSelector, resolveProgramAddresses, getSdkConfig, } from '../utils/config';
|
|
22
|
-
import { toAddress } from '../utils/constants';
|
|
23
|
-
import { createFluentInstruction, createSmartFluentConfigSelector, } from '../utils/instruction-converter';
|
|
24
|
-
import { createTransactionSigner } from '../utils/signer';
|
|
25
|
-
import { getPaymentFrequencyFromString } from '../types/payment-frequency';
|
|
26
|
-
import { convertDurationToSeconds } from '../utils/param-converters';
|
|
27
|
-
/**
|
|
28
|
-
* Internal implementation of updateConfig.
|
|
29
|
-
*
|
|
30
|
-
* This function handles the actual logic for creating the update config instruction.
|
|
31
|
-
* It's wrapped by the public updateConfig function to provide fluent configuration support.
|
|
32
|
-
*
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
async function _updateConfig(params, config) {
|
|
36
|
-
const { authority, newAuthority, stardustToAtlas, serviceFeeBps, baseBps, rentalDurationMin, rentalDurationMax, feesAccount, atlasMint, defaultPaymentFrequency, allowedFrequencies, } = params;
|
|
37
|
-
// Validate service fee if provided
|
|
38
|
-
if (serviceFeeBps !== undefined && serviceFeeBps > 1000) {
|
|
39
|
-
throw new Error(`Service fee cannot exceed 10% (1000 basis points). Got: ${serviceFeeBps}`);
|
|
40
|
-
}
|
|
41
|
-
// Convert duration parameters to seconds
|
|
42
|
-
const rentalDurationMinSeconds = rentalDurationMin
|
|
43
|
-
? await convertDurationToSeconds(rentalDurationMin)
|
|
44
|
-
: undefined;
|
|
45
|
-
const rentalDurationMaxSeconds = rentalDurationMax
|
|
46
|
-
? await convertDurationToSeconds(rentalDurationMax)
|
|
47
|
-
: undefined;
|
|
48
|
-
// Validate duration limits if provided
|
|
49
|
-
if (rentalDurationMinSeconds !== undefined && rentalDurationMaxSeconds !== undefined) {
|
|
50
|
-
if (rentalDurationMaxSeconds < rentalDurationMinSeconds) {
|
|
51
|
-
throw new Error(`Maximum duration (${rentalDurationMaxSeconds}s) must be greater than or equal to minimum duration (${rentalDurationMinSeconds}s)`);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
// Get the resolved addresses from config (including network-specific addresses)
|
|
55
|
-
const globalConfig = getSdkConfig();
|
|
56
|
-
const effectiveConfig = { ...globalConfig, ...config };
|
|
57
|
-
const resolvedAddresses = resolveProgramAddresses(effectiveConfig);
|
|
58
|
-
// Handle authority using smart signer handler for universal compatibility
|
|
59
|
-
const authoritySigner = createTransactionSigner(authority);
|
|
60
|
-
// Convert payment frequencies if provided
|
|
61
|
-
const defaultPaymentFrequencyEnum = defaultPaymentFrequency
|
|
62
|
-
? getPaymentFrequencyFromString(defaultPaymentFrequency)
|
|
63
|
-
: null;
|
|
64
|
-
const allowedFrequenciesEnum = allowedFrequencies
|
|
65
|
-
? allowedFrequencies.map((freq) => getPaymentFrequencyFromString(freq))
|
|
66
|
-
: null;
|
|
67
|
-
// Build input for codama instruction
|
|
68
|
-
const input = {
|
|
69
|
-
authority: authoritySigner,
|
|
70
|
-
authorityArg: newAuthority ? toAddress(newAuthority) : null,
|
|
71
|
-
stardustToAtlas: stardustToAtlas ?? null,
|
|
72
|
-
serviceFeeBps: serviceFeeBps ?? null,
|
|
73
|
-
baseBps: baseBps ?? null,
|
|
74
|
-
rentalDurationMinSeconds: rentalDurationMinSeconds ?? null,
|
|
75
|
-
rentalDurationMaxSeconds: rentalDurationMaxSeconds ?? null,
|
|
76
|
-
feesAccount: feesAccount ? toAddress(feesAccount) : null,
|
|
77
|
-
atlasMint: atlasMint ? toAddress(atlasMint) : null,
|
|
78
|
-
defaultPaymentFrequency: defaultPaymentFrequencyEnum,
|
|
79
|
-
allowedFrequencies: allowedFrequenciesEnum,
|
|
80
|
-
};
|
|
81
|
-
// Get network-specific codama functions from centralized config
|
|
82
|
-
const instructionsModule = getModule('instructions');
|
|
83
|
-
const { getUpdateConfigInstructionAsync } = instructionsModule;
|
|
84
|
-
const rawInstruction = await getUpdateConfigInstructionAsync(input, {
|
|
85
|
-
programAddress: resolvedAddresses.srslyProgramAddress,
|
|
86
|
-
});
|
|
87
|
-
return createFluentInstruction(rawInstruction);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Update the SRSLY program configuration with fluent configuration support.
|
|
91
|
-
*
|
|
92
|
-
* This is the main function for updating the program configuration on the SRSLY program.
|
|
93
|
-
* It provides a unified API that works with both @solana/kit and @solana/web3.js
|
|
94
|
-
* libraries, using strings for all addresses to eliminate compatibility issues.
|
|
95
|
-
*
|
|
96
|
-
* @param params - Configuration update parameters
|
|
97
|
-
* @returns SmartFluentConfigSelector for chainable configuration
|
|
98
|
-
*
|
|
99
|
-
* @example
|
|
100
|
-
* ```typescript
|
|
101
|
-
* // Update service fee
|
|
102
|
-
* const instruction = await updateConfig({
|
|
103
|
-
* authority: wallet,
|
|
104
|
-
* serviceFeeBps: 750, // 7.5%
|
|
105
|
-
* }).build();
|
|
106
|
-
*
|
|
107
|
-
* // Update duration limits with smart parameters
|
|
108
|
-
* const durationInstruction = await updateConfig({
|
|
109
|
-
* authority: wallet,
|
|
110
|
-
* rentalDurationMin: { hours: 1 }, // 1 hour minimum
|
|
111
|
-
* rentalDurationMax: { months: 3 }, // 3 months maximum
|
|
112
|
-
* }).build();
|
|
113
|
-
*
|
|
114
|
-
* // Transfer authority with custom RPC
|
|
115
|
-
* const transferInstruction = await updateConfig({
|
|
116
|
-
* authority: currentAuthority,
|
|
117
|
-
* newAuthority: 'NewAuthority1111111111111111111111111111111',
|
|
118
|
-
* })
|
|
119
|
-
* .set({ rpcUrl: 'https://custom.rpc.url' })
|
|
120
|
-
* .build();
|
|
121
|
-
*
|
|
122
|
-
* // Update multiple settings with mainnet config
|
|
123
|
-
* const multiUpdateInstruction = await updateConfig({
|
|
124
|
-
* authority: wallet,
|
|
125
|
-
* serviceFeeBps: 500,
|
|
126
|
-
* feesAccount: 'NewFeesAccount11111111111111111111111111111',
|
|
127
|
-
* rentalDurationMin: { days: 1 }, // 1 day minimum
|
|
128
|
-
* rentalDurationMax: { weeks: 12 }, // 12 weeks maximum
|
|
129
|
-
* defaultPaymentFrequency: 'weekly',
|
|
130
|
-
* allowedFrequencies: ['daily', 'weekly', 'monthly'],
|
|
131
|
-
* })
|
|
132
|
-
* .set({ programs: 'mainnet' })
|
|
133
|
-
* .build();
|
|
134
|
-
*
|
|
135
|
-
* // Backwards compatible - using seconds directly
|
|
136
|
-
* const legacyInstruction = await updateConfig({
|
|
137
|
-
* authority: wallet,
|
|
138
|
-
* rentalDurationMin: 3600, // 1 hour in seconds
|
|
139
|
-
* rentalDurationMax: 7776000, // 90 days in seconds
|
|
140
|
-
* }).build();
|
|
141
|
-
* ```
|
|
142
|
-
*/
|
|
143
|
-
export function updateConfig(params) {
|
|
144
|
-
return createSmartFluentConfigSelector(createSdkConfigSelector(() => _updateConfig(params)));
|
|
145
|
-
}
|
|
146
|
-
// Demo export for documentation site
|
|
147
|
-
export const updateConfigDemo = {
|
|
148
|
-
tabName: 'updateConfig',
|
|
149
|
-
description: 'Update program configuration settings',
|
|
150
|
-
imports: `import { updateConfig } from '@wuwei-labs/srsly';`,
|
|
151
|
-
instruction: `const instruction = await updateConfig({
|
|
152
|
-
authority: {{signerType}},
|
|
153
|
-
serviceFeeBps: 500, // 5% service fee
|
|
154
|
-
rentalDurationMin: { hours: 1 }, // 1 hour minimum
|
|
155
|
-
rentalDurationMax: { months: 3 }, // 3 months maximum
|
|
156
|
-
allowedFrequencies: ['daily', 'weekly', 'monthly'],
|
|
157
|
-
});`,
|
|
158
|
-
};
|
|
159
|
-
//# sourceMappingURL=update.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/config/update.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,GAEb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAGhC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAwB,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAuFrE;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,MAAyB;IAEzB,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,eAAe,EACf,aAAa,EACb,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,uBAAuB,EACvB,kBAAkB,GACnB,GAAG,MAAM,CAAC;IAEX,mCAAmC;IACnC,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,GAAG,IAAI,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,2DAA2D,aAAa,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,yCAAyC;IACzC,MAAM,wBAAwB,GAAG,iBAAiB;QAChD,CAAC,CAAC,MAAM,wBAAwB,CAAC,iBAAiB,CAAC;QACnD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,wBAAwB,GAAG,iBAAiB;QAChD,CAAC,CAAC,MAAM,wBAAwB,CAAC,iBAAiB,CAAC;QACnD,CAAC,CAAC,SAAS,CAAC;IAEd,uCAAuC;IACvC,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;QACrF,IAAI,wBAAwB,GAAG,wBAAwB,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,qBAAqB,wBAAwB,yDAAyD,wBAAwB,IAAI,CACnI,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,MAAM,YAAY,GAAG,YAAY,EAAE,CAAC;IACpC,MAAM,eAAe,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;IACvD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAEnE,0EAA0E;IAC1E,MAAM,eAAe,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAE3D,0CAA0C;IAC1C,MAAM,2BAA2B,GAAG,uBAAuB;QACzD,CAAC,CAAC,6BAA6B,CAAC,uBAAuB,CAAC;QACxD,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,sBAAsB,GAAG,kBAAkB;QAC/C,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC,CAAC,IAAI,CAAC;IAET,qCAAqC;IACrC,MAAM,KAAK,GAAG;QACZ,SAAS,EAAE,eAAe;QAC1B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3D,eAAe,EAAE,eAAe,IAAI,IAAI;QACxC,aAAa,EAAE,aAAa,IAAI,IAAI;QACpC,OAAO,EAAE,OAAO,IAAI,IAAI;QACxB,wBAAwB,EAAE,wBAAwB,IAAI,IAAI;QAC1D,wBAAwB,EAAE,wBAAwB,IAAI,IAAI;QAC1D,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;QACxD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;QAClD,uBAAuB,EAAE,2BAA2B;QACpD,kBAAkB,EAAE,sBAAsB;KAC3C,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,EAAE,+BAA+B,EAAE,GAAG,kBAAkB,CAAC;IAE/D,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAAC,KAAK,EAAE;QAClE,cAAc,EAAE,iBAAiB,CAAC,mBAAmB;KACtD,CAAC,CAAC;IAEH,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAM,UAAU,YAAY,CAC1B,MAA0B;IAE1B,OAAO,+BAA+B,CACpC,uBAAuB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CACrD,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,uCAAuC;IACpD,OAAO,EAAE,mDAAmD;IAC5D,WAAW,EAAE;;;;;;IAMX;CACH,CAAC"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Contract closure with fleet ownership return and SAGE integration
|
|
3
|
-
* @reviewed 2025-07-29
|
|
4
|
-
*/
|
|
5
|
-
import { getModule, createSdkConfigSelector, resolveProgramAddresses, getSdkConfig, } from '../utils/config';
|
|
6
|
-
import { toAddress } from '../utils/constants';
|
|
7
|
-
import { deriveGameAccounts } from '../utils';
|
|
8
|
-
import { createFluentInstruction, createSmartFluentConfigSelector, } from '../utils/instruction-converter';
|
|
9
|
-
import { fetchContractState, fetchFleetState } from '../utils/fetch-accounts';
|
|
10
|
-
import { createTransactionSigner } from '../utils/signer';
|
|
11
|
-
/**
|
|
12
|
-
* Internal function to close a contract instruction with configuration options.
|
|
13
|
-
*
|
|
14
|
-
* This function handles the core logic of creating a contract closure instruction,
|
|
15
|
-
* including account derivation, address resolution, and instruction generation.
|
|
16
|
-
*
|
|
17
|
-
* @internal
|
|
18
|
-
* @param params - The contract closure parameters
|
|
19
|
-
* @param config - Optional configuration for network and program settings
|
|
20
|
-
* @returns Promise resolving to a fluent instruction object
|
|
21
|
-
* @throws Error when account derivation fails or required parameters are missing
|
|
22
|
-
*/
|
|
23
|
-
async function _closeContract(params, config) {
|
|
24
|
-
let { owner, fleet, contract, faction } = params;
|
|
25
|
-
// Get the resolved addresses from config (including network-specific addresses)
|
|
26
|
-
const globalConfig = getSdkConfig();
|
|
27
|
-
const effectiveConfig = { ...globalConfig, ...config };
|
|
28
|
-
const resolvedAddresses = resolveProgramAddresses(effectiveConfig);
|
|
29
|
-
// Handle owner using smart signer handler for universal compatibility
|
|
30
|
-
const ownerSigner = createTransactionSigner(owner);
|
|
31
|
-
// Fetch contract state to get fleet and gameId
|
|
32
|
-
const contractState = await fetchContractState(contract);
|
|
33
|
-
if (!fleet) {
|
|
34
|
-
fleet = contractState.fleet;
|
|
35
|
-
}
|
|
36
|
-
// Resolve faction - use provided faction or fetch from fleet
|
|
37
|
-
if (!faction) {
|
|
38
|
-
const fleetState = await fetchFleetState(fleet);
|
|
39
|
-
faction = fleetState.faction;
|
|
40
|
-
}
|
|
41
|
-
// Derive SAGE game accounts
|
|
42
|
-
const derivedAccounts = await deriveGameAccounts(ownerSigner.address, faction, 0, // starbaseSeqId
|
|
43
|
-
contractState.gameId);
|
|
44
|
-
// Get network-specific codama functions from centralized config
|
|
45
|
-
const instructionsModule = getModule('instructions');
|
|
46
|
-
const { getCloseContractInstructionAsync } = instructionsModule;
|
|
47
|
-
// Let codama handle all the account derivation and instruction building
|
|
48
|
-
const input = {
|
|
49
|
-
owner: ownerSigner, // Pass TransactionSigner for proper handling
|
|
50
|
-
fleet: toAddress(fleet), // Convert fleet to Address
|
|
51
|
-
contract: toAddress(contract), // Convert contract to Address
|
|
52
|
-
starbase: toAddress(derivedAccounts.starbase), // Convert starbase to Address
|
|
53
|
-
starbasePlayer: toAddress(derivedAccounts.starbasePlayer), // Convert starbasePlayer to Address
|
|
54
|
-
gameId: contractState.gameId, // Use gameId from contract state
|
|
55
|
-
sageProgram: resolvedAddresses.sageProgramAddress, // Already Address from resolveProgramAddresses
|
|
56
|
-
};
|
|
57
|
-
const rawInstruction = await getCloseContractInstructionAsync(input, {
|
|
58
|
-
programAddress: resolvedAddresses.srslyProgramAddress,
|
|
59
|
-
});
|
|
60
|
-
return createFluentInstruction(rawInstruction);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Creates an instruction to close a rental contract with fluent configuration.
|
|
64
|
-
*
|
|
65
|
-
* This function closes an existing rental contract, making it unavailable
|
|
66
|
-
* for new rentals. The contract can only be closed by its original owner and only
|
|
67
|
-
* when there are no active rentals.
|
|
68
|
-
*
|
|
69
|
-
* ## Features
|
|
70
|
-
*
|
|
71
|
-
* - **Permanent Closure**: Irreversibly closes the contract
|
|
72
|
-
* - **Account Cleanup**: Closes contract account and returns lamports to owner
|
|
73
|
-
* - **SAGE Integration**: Removes rental capability from the fleet in SAGE
|
|
74
|
-
* - **Automatic Derivation**: Derives required game accounts automatically
|
|
75
|
-
* - **Network Agnostic**: Works with different Solana networks
|
|
76
|
-
*
|
|
77
|
-
* ## Process
|
|
78
|
-
*
|
|
79
|
-
* 1. **Fetch Fleet**: Automatically fetches fleet address from contract if not provided
|
|
80
|
-
* 2. **Derive Accounts**: Automatically derives required game accounts (starbase, etc.)
|
|
81
|
-
* 3. **Validate Authority**: Ensures only the contract owner can close it
|
|
82
|
-
* 4. **Check State**: Verifies no active rentals exist
|
|
83
|
-
* 5. **Close Contract**: Removes rental capability and closes account
|
|
84
|
-
* 6. **Transfer Lamports**: Returns remaining SOL to the owner
|
|
85
|
-
*
|
|
86
|
-
* ## Requirements
|
|
87
|
-
*
|
|
88
|
-
* - Contract must not have any active rentals
|
|
89
|
-
* - Caller must be the original contract owner
|
|
90
|
-
* - All pending payments must be completed
|
|
91
|
-
*
|
|
92
|
-
* @example
|
|
93
|
-
* ```typescript
|
|
94
|
-
* import { closeContract } from '@srsly/sdk';
|
|
95
|
-
*
|
|
96
|
-
* // Basic contract closure (fleet automatically fetched)
|
|
97
|
-
* const instruction = await closeContract({
|
|
98
|
-
* owner: wallet, // Contract owner
|
|
99
|
-
* contract: "ContractAddr...", // Contract to close
|
|
100
|
-
* faction: 'mud' // Faction for game account derivation
|
|
101
|
-
* });
|
|
102
|
-
*
|
|
103
|
-
* // Configure for mainnet
|
|
104
|
-
* const mainnetInstruction = await closeContract({
|
|
105
|
-
* owner: wallet,
|
|
106
|
-
* contract: "ContractAddr...",
|
|
107
|
-
* faction: 'mud'
|
|
108
|
-
* }).set({ programs: 'mainnet' });
|
|
109
|
-
*
|
|
110
|
-
* // Override specific game configuration
|
|
111
|
-
* const customInstruction = await closeContract({
|
|
112
|
-
* owner: wallet,
|
|
113
|
-
* contract: "ContractAddr...",
|
|
114
|
-
* faction: 'mud'
|
|
115
|
-
* }).set({
|
|
116
|
-
* programs: 'mainnet',
|
|
117
|
-
* gameId: 'custom-game-id...'
|
|
118
|
-
* });
|
|
119
|
-
*
|
|
120
|
-
* // Use with your preferred Solana library
|
|
121
|
-
* const transaction = new Transaction().add(instruction);
|
|
122
|
-
* await sendAndConfirmTransaction(connection, transaction, [wallet]);
|
|
123
|
-
* ```
|
|
124
|
-
*
|
|
125
|
-
* @param params - The contract closing parameters including owner, fleet, and contract addresses
|
|
126
|
-
* @returns A SmartFluentConfigSelector that can be configured with .set() or awaited directly
|
|
127
|
-
* @throws Error when account derivation fails or invalid parameters are provided
|
|
128
|
-
*/
|
|
129
|
-
export function closeContract(params) {
|
|
130
|
-
const baseSelector = createSdkConfigSelector(config => _closeContract(params, config));
|
|
131
|
-
return createSmartFluentConfigSelector(baseSelector);
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Low-level function to create a contract close instruction with raw input parameters.
|
|
135
|
-
*
|
|
136
|
-
* @internal
|
|
137
|
-
*/
|
|
138
|
-
export function getCloseContractInstructionAsync(input, options) {
|
|
139
|
-
return createSdkConfigSelector(async () => {
|
|
140
|
-
const instructionsModule = getModule('instructions');
|
|
141
|
-
return instructionsModule.getCloseContractInstructionAsync(input, options);
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
// Demo export for documentation site
|
|
145
|
-
export const closeContractDemo = {
|
|
146
|
-
tabName: 'close',
|
|
147
|
-
description: 'Close an existing rental contract',
|
|
148
|
-
imports: `import { closeContract } from '@wuwei-labs/srsly';`,
|
|
149
|
-
instruction: `const instruction = await closeContract({
|
|
150
|
-
owner: {{signerType}}.publicKey?.toBase58(),
|
|
151
|
-
contract: "CONTRACT_ADDRESS"
|
|
152
|
-
});`,
|
|
153
|
-
};
|
|
154
|
-
//# sourceMappingURL=close.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/contract/close.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,GAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAGhC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAwB,MAAM,iBAAiB,CAAC;AA2ChF;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,cAAc,CAC3B,MAA2B,EAC3B,MAAyB;IAEzB,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEjD,gFAAgF;IAChF,MAAM,YAAY,GAAG,YAAY,EAAE,CAAC;IACpC,MAAM,eAAe,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;IACvD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAEnE,sEAAsE;IACtE,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,KAAM,CAAC,CAAC;QACjD,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,4BAA4B;IAC5B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAC9C,WAAW,CAAC,OAAO,EACnB,OAAO,EACP,CAAC,EAAE,gBAAgB;IACnB,aAAa,CAAC,MAAM,CACrB,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,EAAE,gCAAgC,EAAE,GAAG,kBAAkB,CAAC;IAEhE,wEAAwE;IACxE,MAAM,KAAK,GAAG;QACZ,KAAK,EAAE,WAAW,EAAE,6CAA6C;QACjE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,2BAA2B;QACpD,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,8BAA8B;QAC7D,QAAQ,EAAE,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,8BAA8B;QAC7E,cAAc,EAAE,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,oCAAoC;QAC/F,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,iCAAiC;QAC/D,WAAW,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,+CAA+C;KACnG,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAAC,KAAK,EAAE;QACnE,cAAc,EAAE,iBAAiB,CAAC,mBAAmB;KACtD,CAAC,CAAC;IAEH,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,MAAM,UAAU,aAAa,CAC3B,MAA2B;IAE3B,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvF,OAAO,+BAA+B,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,KAAU,EAAE,OAAa;IACxE,OAAO,uBAAuB,CAAC,KAAK,IAAI,EAAE;QACxC,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,gCAAgC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qCAAqC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,OAAO,EAAE,oDAAoD;IAC7D,WAAW,EAAE;;;IAGX;CACH,CAAC"}
|
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Contract creation with validation, duration alignment, and SAGE integration
|
|
3
|
-
* @reviewed 2025-07-29
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* # Contract Creation Module
|
|
7
|
-
*
|
|
8
|
-
* This module provides functionality for creating rental contracts on the SRSLY program.
|
|
9
|
-
* It offers a unified API that works with both @solana/kit and @solana/web3.js libraries,
|
|
10
|
-
* using strings for all addresses to eliminate library-specific type complexity.
|
|
11
|
-
*
|
|
12
|
-
* ## Features
|
|
13
|
-
*
|
|
14
|
-
* - **Universal Compatibility**: Works with both major Solana libraries
|
|
15
|
-
* - **Fluent API**: Chainable configuration and format conversion
|
|
16
|
-
* - **Validation**: Built-in parameter validation and duration alignment checking
|
|
17
|
-
* - **Network Agnostic**: Supports mainnet, devnet, and custom configurations
|
|
18
|
-
*
|
|
19
|
-
* @module Contract/Create
|
|
20
|
-
*/
|
|
21
|
-
import { getModule, createSdkConfigSelector, resolveProgramAddresses, getSdkConfig, } from '../utils/config';
|
|
22
|
-
import { toAddress } from '../utils/constants';
|
|
23
|
-
import { normalizePaymentSchedule } from '../utils/payment-frequency';
|
|
24
|
-
import { createFluentInstruction, createSmartFluentConfigSelector, } from '../utils/instruction-converter';
|
|
25
|
-
import { createTransactionSigner } from '../utils/signer';
|
|
26
|
-
import { fetchFleetState, fetchConfigState } from '../utils/fetch-accounts';
|
|
27
|
-
import { validateDurationLimits, convertDurationToSeconds } from '../utils/param-converters';
|
|
28
|
-
/**
|
|
29
|
-
* Internal function to create a rental contract instruction with configuration options.
|
|
30
|
-
*
|
|
31
|
-
* This function handles the core logic of creating a contract instruction, including
|
|
32
|
-
* parameter validation, address resolution, and instruction generation. It's used
|
|
33
|
-
* internally by the public createContract function.
|
|
34
|
-
*
|
|
35
|
-
* NOTE: The generated instruction uses field names 'durationMin' and 'durationMax'
|
|
36
|
-
* for backward compatibility, but these values are always in seconds.
|
|
37
|
-
*
|
|
38
|
-
* @internal
|
|
39
|
-
* @param params - The contract creation parameters
|
|
40
|
-
* @param config - Optional configuration for network and program settings
|
|
41
|
-
* @returns Promise resolving to a fluent instruction object
|
|
42
|
-
* @throws Error when validation fails or required parameters are missing
|
|
43
|
-
*/
|
|
44
|
-
async function _createContract(params, config) {
|
|
45
|
-
console.log('[DEBUG] createContract - Input params:', {
|
|
46
|
-
owner: params.owner,
|
|
47
|
-
fleet: params.fleet,
|
|
48
|
-
ownerProfile: params.ownerProfile,
|
|
49
|
-
rate: params.rate,
|
|
50
|
-
durationMin: params.durationMin,
|
|
51
|
-
durationMax: params.durationMax,
|
|
52
|
-
paymentsFreq: params.paymentsFreq,
|
|
53
|
-
ownerKeyIndex: params.ownerKeyIndex
|
|
54
|
-
});
|
|
55
|
-
let { owner, fleet, ownerProfile, rate, durationMin: customDurationMin, durationMax, paymentsFreq, ownerKeyIndex = 0, } = params;
|
|
56
|
-
// Fetch fleet state to get ownerProfile and gameId
|
|
57
|
-
console.log('[DEBUG] Fetching fleet state for:', fleet);
|
|
58
|
-
const fleetState = await fetchFleetState(fleet);
|
|
59
|
-
console.log('[DEBUG] Fleet state fetched:', {
|
|
60
|
-
ownerProfile: fleetState.ownerProfile,
|
|
61
|
-
gameId: fleetState.gameId
|
|
62
|
-
});
|
|
63
|
-
if (!ownerProfile) {
|
|
64
|
-
ownerProfile = fleetState.ownerProfile;
|
|
65
|
-
console.log('[DEBUG] Using ownerProfile from fleet state:', ownerProfile);
|
|
66
|
-
}
|
|
67
|
-
// Normalize and validate the payment schedule
|
|
68
|
-
const normalizedSchedule = normalizePaymentSchedule(paymentsFreq);
|
|
69
|
-
console.log('[DEBUG] Normalized payment schedule:', normalizedSchedule);
|
|
70
|
-
// Convert smart parameters to chain values
|
|
71
|
-
// NOTE: The Rust program expects rate in ATLAS units, not stardust
|
|
72
|
-
// TODO: This will change when contract.rate is migrated to stardust units
|
|
73
|
-
console.log('[DEBUG] Converting rate parameter:', rate);
|
|
74
|
-
let rateAtlas;
|
|
75
|
-
if (typeof rate === 'number') {
|
|
76
|
-
rateAtlas = BigInt(rate);
|
|
77
|
-
}
|
|
78
|
-
else if ('atlas' in rate) {
|
|
79
|
-
rateAtlas = BigInt(Math.floor(rate.atlas));
|
|
80
|
-
}
|
|
81
|
-
else if ('stardust' in rate) {
|
|
82
|
-
// Convert stardust back to ATLAS
|
|
83
|
-
const config = await fetchConfigState();
|
|
84
|
-
rateAtlas = BigInt(rate.stardust) / config.stardustToAtlas;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
throw new Error('Invalid rate parameter');
|
|
88
|
-
}
|
|
89
|
-
console.log('[DEBUG] Rate in ATLAS:', rateAtlas.toString());
|
|
90
|
-
// Convert durations to seconds (durations are now independent of payment frequency)
|
|
91
|
-
// NOTE: The instruction expects 'durationMin' and 'durationMax' as field names,
|
|
92
|
-
// but the values are always in seconds regardless of the field names
|
|
93
|
-
console.log('[DEBUG] Converting durations - min:', customDurationMin, 'max:', durationMax);
|
|
94
|
-
const durationMinSeconds = customDurationMin
|
|
95
|
-
? await convertDurationToSeconds(customDurationMin)
|
|
96
|
-
: 3600; // Default to 1 hour minimum
|
|
97
|
-
const durationMaxSeconds = await convertDurationToSeconds(durationMax);
|
|
98
|
-
console.log('[DEBUG] Duration in seconds - min:', durationMinSeconds, 'max:', durationMaxSeconds);
|
|
99
|
-
// Validate that max is greater than or equal to min
|
|
100
|
-
if (durationMaxSeconds < durationMinSeconds) {
|
|
101
|
-
throw new Error(`Maximum duration must be greater than or equal to minimum duration`);
|
|
102
|
-
}
|
|
103
|
-
// Validate against config limits
|
|
104
|
-
await validateDurationLimits(durationMinSeconds);
|
|
105
|
-
await validateDurationLimits(durationMaxSeconds);
|
|
106
|
-
// Get the resolved addresses from config (including network-specific addresses)
|
|
107
|
-
const globalConfig = getSdkConfig();
|
|
108
|
-
const effectiveConfig = { ...globalConfig, ...config };
|
|
109
|
-
const resolvedAddresses = resolveProgramAddresses(effectiveConfig);
|
|
110
|
-
// Handle owner using smart signer handler for universal compatibility
|
|
111
|
-
console.log('[DEBUG] Creating owner signer from:', owner);
|
|
112
|
-
const ownerSigner = createTransactionSigner(owner);
|
|
113
|
-
console.log('[DEBUG] Owner signer created:', ownerSigner);
|
|
114
|
-
const input = {
|
|
115
|
-
owner: ownerSigner,
|
|
116
|
-
fleet: toAddress(fleet),
|
|
117
|
-
ownerProfile: toAddress(ownerProfile),
|
|
118
|
-
gameId: fleetState.gameId,
|
|
119
|
-
sageProgram: resolvedAddresses.sageProgramAddress,
|
|
120
|
-
mint: resolvedAddresses.atlasMint,
|
|
121
|
-
durationMin: durationMinSeconds, // Field name matches instruction args (value is in seconds)
|
|
122
|
-
durationMax: durationMaxSeconds, // Field name matches instruction args (value is in seconds)
|
|
123
|
-
rate: rateAtlas,
|
|
124
|
-
paymentsFeq: normalizedSchedule, // Use the normalized schedule (cron expression)
|
|
125
|
-
ownerKeyIndex,
|
|
126
|
-
};
|
|
127
|
-
console.log('[DEBUG] Instruction input object:', {
|
|
128
|
-
owner: input.owner,
|
|
129
|
-
fleet: input.fleet,
|
|
130
|
-
ownerProfile: input.ownerProfile,
|
|
131
|
-
gameId: input.gameId,
|
|
132
|
-
sageProgram: input.sageProgram,
|
|
133
|
-
mint: input.mint,
|
|
134
|
-
durationMin: input.durationMin,
|
|
135
|
-
durationMax: input.durationMax,
|
|
136
|
-
rate: input.rate?.toString(),
|
|
137
|
-
paymentsFeq: input.paymentsFeq,
|
|
138
|
-
ownerKeyIndex: input.ownerKeyIndex
|
|
139
|
-
});
|
|
140
|
-
// Get network-specific codama functions from centralized config
|
|
141
|
-
const instructionsModule = getModule('instructions');
|
|
142
|
-
const { getCreateContractInstructionAsync } = instructionsModule;
|
|
143
|
-
console.log('[DEBUG] About to call getCreateContractInstructionAsync with validated input');
|
|
144
|
-
console.log('[DEBUG] Checking for undefined values:');
|
|
145
|
-
console.log('[DEBUG] Type checks:');
|
|
146
|
-
console.log(' - owner type:', typeof input.owner, 'value:', input.owner);
|
|
147
|
-
console.log(' - fleet type:', typeof input.fleet, 'value:', input.fleet);
|
|
148
|
-
console.log(' - ownerProfile type:', typeof input.ownerProfile, 'value:', input.ownerProfile);
|
|
149
|
-
console.log(' - gameId type:', typeof input.gameId, 'value:', input.gameId);
|
|
150
|
-
console.log(' - sageProgram type:', typeof input.sageProgram, 'value:', input.sageProgram);
|
|
151
|
-
console.log(' - mint type:', typeof input.mint, 'value:', input.mint);
|
|
152
|
-
console.log(' - durationMin type:', typeof input.durationMin, 'value (seconds):', input.durationMin);
|
|
153
|
-
console.log(' - durationMax type:', typeof input.durationMax, 'value (seconds):', input.durationMax);
|
|
154
|
-
console.log(' - rate type:', typeof input.rate, 'is BigInt?', typeof input.rate === 'bigint', 'value:', input.rate.toString());
|
|
155
|
-
console.log(' - paymentsFeq type:', typeof input.paymentsFeq, 'value:', input.paymentsFeq);
|
|
156
|
-
console.log(' - ownerKeyIndex type:', typeof input.ownerKeyIndex, 'value:', input.ownerKeyIndex);
|
|
157
|
-
Object.entries(input).forEach(([key, value]) => {
|
|
158
|
-
if (value === undefined || value === null) {
|
|
159
|
-
console.error(`[DEBUG] ERROR: ${key} is ${value} - THIS WILL CAUSE THE BIGINT ERROR`);
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
const rawInstruction = await getCreateContractInstructionAsync(input, {
|
|
163
|
-
programAddress: resolvedAddresses.srslyProgramAddress,
|
|
164
|
-
});
|
|
165
|
-
console.log('[DEBUG] Instruction created successfully');
|
|
166
|
-
return createFluentInstruction(rawInstruction);
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Creates an instruction to create a rental contract with fluent configuration.
|
|
170
|
-
*
|
|
171
|
-
* This is the main function for creating rental contracts on the SRSLY program.
|
|
172
|
-
* It provides a unified API that works with both @solana/kit and @solana/web3.js
|
|
173
|
-
* libraries, using strings for all addresses to eliminate compatibility issues.
|
|
174
|
-
*
|
|
175
|
-
* ## Features
|
|
176
|
-
*
|
|
177
|
-
* - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
|
|
178
|
-
* - **Fluent Configuration**: Chain configuration options with `.set()`
|
|
179
|
-
* - **Format Conversion**: Convert between library formats with `.web3js()`
|
|
180
|
-
* - **Validation**: Built-in parameter validation and duration alignment
|
|
181
|
-
* - **Network Support**: Configurable for different Solana networks
|
|
182
|
-
*
|
|
183
|
-
* ## Validation
|
|
184
|
-
*
|
|
185
|
-
* The function automatically validates:
|
|
186
|
-
* - Payment frequency is supported
|
|
187
|
-
* - Duration alignment with payment frequency
|
|
188
|
-
* - Required parameters are provided
|
|
189
|
-
*
|
|
190
|
-
* ## Process
|
|
191
|
-
*
|
|
192
|
-
* 1. **Validate Parameters**: Checks payment frequency and duration alignment
|
|
193
|
-
* 2. **Resolve Addresses**: Gets network-specific program and mint addresses
|
|
194
|
-
* 3. **Generate Instruction**: Creates the contract creation instruction
|
|
195
|
-
* 4. **Return Fluent Object**: Allows for configuration and format conversion
|
|
196
|
-
*
|
|
197
|
-
* @example
|
|
198
|
-
* ```typescript
|
|
199
|
-
* import { createContract } from '@srsly/sdk';
|
|
200
|
-
*
|
|
201
|
-
* // Basic usage with ATLAS rates (v3 - numbers are ATLAS)
|
|
202
|
-
* const instruction = await createContract({
|
|
203
|
-
* owner: wallet, // Can be signer object or string
|
|
204
|
-
* fleet: "FleetAddress123...", // String address
|
|
205
|
-
* ownerProfile: "ProfileAddr...", // String address
|
|
206
|
-
* rate: 100, // 100 ATLAS per payment
|
|
207
|
-
* durationMax: { days: 30 }, // Maximum 30 days
|
|
208
|
-
* paymentsFreq: '@daily' // Daily payments
|
|
209
|
-
* });
|
|
210
|
-
*
|
|
211
|
-
* // With duration objects for clarity
|
|
212
|
-
* const customMinInstruction = await createContract({
|
|
213
|
-
* owner: wallet,
|
|
214
|
-
* fleet: "FleetAddress123...",
|
|
215
|
-
* ownerProfile: "ProfileAddr...",
|
|
216
|
-
* rate: 10, // 10 ATLAS per hour
|
|
217
|
-
* durationMin: { days: 1 }, // Minimum 1 day
|
|
218
|
-
* durationMax: { weeks: 4 }, // Maximum 4 weeks
|
|
219
|
-
* paymentsFreq: '@hourly' // Hourly payments
|
|
220
|
-
* });
|
|
221
|
-
*
|
|
222
|
-
* // Using explicit atlas/stardust for precision
|
|
223
|
-
* const preciseInstruction = await createContract({
|
|
224
|
-
* owner: wallet,
|
|
225
|
-
* fleet: "FleetAddress123...",
|
|
226
|
-
* rate: { atlas: 1.5 }, // 1.5 ATLAS per payment
|
|
227
|
-
* durationMin: { days: 7 }, // Minimum 1 week
|
|
228
|
-
* durationMax: { months: 3 }, // Maximum 3 months
|
|
229
|
-
* paymentsFreq: '@daily'
|
|
230
|
-
* });
|
|
231
|
-
* ```
|
|
232
|
-
*
|
|
233
|
-
* @param params - The contract creation parameters including owner, fleet, rate, and duration
|
|
234
|
-
* @returns A FluentConfigSelector that can be configured with .set() or awaited directly
|
|
235
|
-
* @throws Error when payment frequency is invalid or duration alignment fails
|
|
236
|
-
*/
|
|
237
|
-
export function createContract(params) {
|
|
238
|
-
const baseSelector = createSdkConfigSelector(config => _createContract(params, config));
|
|
239
|
-
return createSmartFluentConfigSelector(baseSelector);
|
|
240
|
-
}
|
|
241
|
-
// Demo export for documentation site
|
|
242
|
-
export const createContractDemo = {
|
|
243
|
-
tabName: 'create',
|
|
244
|
-
description: 'Create a new rental contract for your fleet',
|
|
245
|
-
imports: `import { createContract } from '@wuwei-labs/srsly';`,
|
|
246
|
-
instruction: `const instruction = await createContract({
|
|
247
|
-
owner: {{signerType}}.publicKey?.toBase58(),
|
|
248
|
-
fleet: "FLEET_ADDRESS",
|
|
249
|
-
rate: { atlas: 1 }, // 1 ATLAS per payment
|
|
250
|
-
durationMin: { days: 1 },
|
|
251
|
-
durationMax: { months: 3 },
|
|
252
|
-
paymentsFreq: "@daily" // or '@hourly', '@weekly', '@monthly', or custom cron
|
|
253
|
-
});`,
|
|
254
|
-
};
|
|
255
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Contract management module with create and close functionality
|
|
3
|
-
* @reviewed 2025-07-29
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* # Contract Management Module
|
|
7
|
-
*
|
|
8
|
-
* This module provides comprehensive functionality for managing rental contracts
|
|
9
|
-
* on the SRSLY program. It includes functions for creating and closing contracts,
|
|
10
|
-
* with full support for both @solana/kit and @solana/web3.js libraries.
|
|
11
|
-
*
|
|
12
|
-
* ## Available Functions
|
|
13
|
-
*
|
|
14
|
-
* - **createContract**: Create a new rental contract for a fleet
|
|
15
|
-
* - **closeContract**: Permanently close an existing rental contract
|
|
16
|
-
*
|
|
17
|
-
* ## Features
|
|
18
|
-
*
|
|
19
|
-
* - **Universal Library Support**: Works with both major Solana libraries
|
|
20
|
-
* - **String-Based Addresses**: Eliminates library-specific type conflicts
|
|
21
|
-
* - **Fluent API**: Chainable configuration and format conversion
|
|
22
|
-
* - **Network Agnostic**: Supports different Solana networks
|
|
23
|
-
* - **Validation**: Built-in parameter validation and error checking
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```typescript
|
|
27
|
-
* import { createContract, closeContract } from '@srsly/sdk';
|
|
28
|
-
*
|
|
29
|
-
* // Create a rental contract
|
|
30
|
-
* const createInstruction = await createContract({
|
|
31
|
-
* owner: wallet,
|
|
32
|
-
* fleet: "FleetAddress123...",
|
|
33
|
-
* ownerProfile: "ProfileAddr...",
|
|
34
|
-
* rate: 1000,
|
|
35
|
-
* durationMax: { days: 30 }, // Smart parameter format
|
|
36
|
-
* paymentsFreq: 'daily'
|
|
37
|
-
* });
|
|
38
|
-
*
|
|
39
|
-
* // Close the contract later
|
|
40
|
-
* const closeInstruction = await closeContract({
|
|
41
|
-
* owner: wallet,
|
|
42
|
-
* fleet: "FleetAddress123...",
|
|
43
|
-
* contract: "ContractAddr...",
|
|
44
|
-
* faction: 'mud'
|
|
45
|
-
* });
|
|
46
|
-
* ```
|
|
47
|
-
*
|
|
48
|
-
* @module Contract
|
|
49
|
-
*/
|
|
50
|
-
export * from './close';
|
|
51
|
-
export * from './create';
|
|
52
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contract/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initializeConfig.js","sourceRoot":"","sources":["../../../../../src/generated/codama/instructions/initializeConfig.ts"],"names":[],"mappings":"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"}
|