@wuwei-labs/srsly 2.3.3-canary.36.16828894446.0 → 3.0.0-beta.2
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 +31 -33
- 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 +31 -33
- 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 +33 -48
- 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,402 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose PDA derivation utilities for multi-program architecture with cross-program integration
|
|
3
|
-
* @reviewed 2025-07-29
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* # PDA Derivation Utilities for Multi-Program Architecture
|
|
7
|
-
*
|
|
8
|
-
* The SRSLY rental system integrates with multiple Solana programs, each requiring
|
|
9
|
-
* PDAs to be derived using their specific program IDs for proper cross-program
|
|
10
|
-
* invocation (CPI) and account ownership.
|
|
11
|
-
*
|
|
12
|
-
* ## Program Responsibilities:
|
|
13
|
-
* - **SRSLY Program**: Contract, Rental State, Rental Authority PDAs
|
|
14
|
-
* - **Antegen Program**: Automated payment threads via scheduling
|
|
15
|
-
* - **Profile Program**: Star Atlas SAGE profiles and starbase management
|
|
16
|
-
* - **Player Faction Program**: Player faction enrollment in SAGE ecosystem
|
|
17
|
-
*
|
|
18
|
-
* ## Cross-Program Integration:
|
|
19
|
-
* Each program owns its respective PDAs and must be used for derivation to
|
|
20
|
-
* ensure proper account ownership and enable CPI calls between programs.
|
|
21
|
-
*
|
|
22
|
-
* @note Future Enhancement: Consider requesting codama to auto-generate PDA
|
|
23
|
-
* utilities alongside instruction code to reduce manual maintenance.
|
|
24
|
-
*/
|
|
25
|
-
import { getProgramDerivedAddress, getBytesEncoder, getAddressEncoder, } from '@solana/kit';
|
|
26
|
-
import { resolveProgramAddresses, getEffectiveSdkConfig } from './config';
|
|
27
|
-
import { toAddress, FACTION_MAPPING, FACTION_SPECIFIC_CSS, PROFILE_FACTION_SEED, SAGE_PLAYER_PROFILE_SEED, STARBASE_PLAYER_SEED, STARBASE_SEED, getSageProgramAddress, getProfileFactionProgramAddress, } from './constants';
|
|
28
|
-
import { fetchConfigState } from './fetch-accounts';
|
|
29
|
-
/**
|
|
30
|
-
* Helper function to convert a string seed to a Uint8Array
|
|
31
|
-
* This is necessary for @solana/kit's getBytesEncoder().encode()
|
|
32
|
-
*
|
|
33
|
-
* @param seed The string seed to convert
|
|
34
|
-
* @returns A Uint8Array containing the UTF-8 encoded seed
|
|
35
|
-
*/
|
|
36
|
-
function seedToBytes(seed) {
|
|
37
|
-
// Use TextEncoder for browser compatibility instead of Buffer
|
|
38
|
-
return new TextEncoder().encode(seed);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Derives the rental contract PDA using the SRSLY program ID
|
|
42
|
-
*
|
|
43
|
-
* Contract PDAs are derived from the fleet address and provide deterministic
|
|
44
|
-
* addresses for rental contracts without requiring a private key. The SDK
|
|
45
|
-
* automatically resolves the correct SRSLY program address for the current network
|
|
46
|
-
* unless a specific program ID is provided.
|
|
47
|
-
*
|
|
48
|
-
* @param fleet - The fleet address to create a contract for
|
|
49
|
-
* @param program - Optional SRSLY program ID (defaults to network-resolved address)
|
|
50
|
-
* @returns The contract PDA derived using SRSLY program ID
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* ```typescript
|
|
54
|
-
* // Use network-resolved program address (recommended)
|
|
55
|
-
* const contractAddress = await deriveContract('FleetAddress123...');
|
|
56
|
-
*
|
|
57
|
-
* // Use specific program address
|
|
58
|
-
* const contractAddress = await deriveContract(
|
|
59
|
-
* 'FleetAddress123...',
|
|
60
|
-
* 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'
|
|
61
|
-
* );
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
|
-
export async function deriveContract(fleet, program) {
|
|
65
|
-
// Use provided program ID or resolve from network configuration
|
|
66
|
-
if (!program) {
|
|
67
|
-
const addresses = resolveProgramAddresses(getEffectiveSdkConfig());
|
|
68
|
-
program = addresses.srslyProgramAddress;
|
|
69
|
-
}
|
|
70
|
-
const [pda] = await getProgramDerivedAddress({
|
|
71
|
-
programAddress: toAddress(program),
|
|
72
|
-
seeds: [
|
|
73
|
-
// "rental_contract" seed - matches RENTAL_CONTRACT_SEED in Rust
|
|
74
|
-
getBytesEncoder().encode(new Uint8Array([114, 101, 110, 116, 97, 108, 95, 99, 111, 110, 116, 114, 97, 99, 116])),
|
|
75
|
-
// fleet address - convert string to Address
|
|
76
|
-
getAddressEncoder().encode(toAddress(fleet)),
|
|
77
|
-
],
|
|
78
|
-
});
|
|
79
|
-
return pda;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Derives the rental thread PDA using the Antegen program ID
|
|
83
|
-
*
|
|
84
|
-
* Thread accounts are managed by the Antegen program, so they must be derived
|
|
85
|
-
* using the Antegen program ID rather than the SRSLY program ID. The SDK
|
|
86
|
-
* automatically resolves the correct Antegen program address for the current network
|
|
87
|
-
* unless a specific program ID is provided.
|
|
88
|
-
*
|
|
89
|
-
* @param authority - The rental authority PDA (derived with SRSLY program)
|
|
90
|
-
* @param rental - The rental state PDA (derived with SRSLY program)
|
|
91
|
-
* @param program - Optional Antegen program ID (defaults to network-resolved address)
|
|
92
|
-
* @returns The rental thread PDA derived using Antegen program ID
|
|
93
|
-
*
|
|
94
|
-
* @example
|
|
95
|
-
* ```typescript
|
|
96
|
-
* // Use network-resolved program address (recommended)
|
|
97
|
-
* const threadPda = await deriveRentalThread(rentalAuthorityPda, rentalStatePda);
|
|
98
|
-
*
|
|
99
|
-
* // Use specific program address
|
|
100
|
-
* const threadPda = await deriveRentalThread(
|
|
101
|
-
* rentalAuthorityPda,
|
|
102
|
-
* rentalStatePda,
|
|
103
|
-
* 'AgThdyi1P5RkVeZD2rQahTvs8HePJoGFFxKtvok5s2J1'
|
|
104
|
-
* );
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
export async function deriveRentalThread(rental, authority, program) {
|
|
108
|
-
// Use provided progam ID or resolve from network configuration
|
|
109
|
-
if (!authority) {
|
|
110
|
-
authority = await deriveRentalAuthority(toAddress(program));
|
|
111
|
-
}
|
|
112
|
-
// Use provided program ID or resolve from network configuration
|
|
113
|
-
if (!program) {
|
|
114
|
-
const addresses = resolveProgramAddresses(getEffectiveSdkConfig());
|
|
115
|
-
program = addresses.antegenProgramAddress;
|
|
116
|
-
}
|
|
117
|
-
const [pda] = await getProgramDerivedAddress({
|
|
118
|
-
programAddress: toAddress(program),
|
|
119
|
-
seeds: [
|
|
120
|
-
// "thread" seed - matches THREAD_SEED in Rust
|
|
121
|
-
getBytesEncoder().encode(new Uint8Array([116, 104, 114, 101, 97, 100])),
|
|
122
|
-
getAddressEncoder().encode(toAddress(rental)),
|
|
123
|
-
getAddressEncoder().encode(toAddress(authority)),
|
|
124
|
-
],
|
|
125
|
-
});
|
|
126
|
-
return pda;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Derives the rental state PDA using the SRSLY program ID
|
|
130
|
-
*
|
|
131
|
-
* The SDK automatically resolves the correct SRSLY program address for the current network
|
|
132
|
-
* unless a specific program ID is provided.
|
|
133
|
-
*
|
|
134
|
-
* @param contract - The rental contract address
|
|
135
|
-
* @param borrower - The borrower's public key
|
|
136
|
-
* @param program - Optional SRSLY program ID (defaults to network-resolved address)
|
|
137
|
-
* @returns The rental state PDA
|
|
138
|
-
*
|
|
139
|
-
* @example
|
|
140
|
-
* ```typescript
|
|
141
|
-
* // Use network-resolved program address (recommended)
|
|
142
|
-
* const rentalStateAddress = await deriveRentalState(contractAddress, borrowerAddress);
|
|
143
|
-
*
|
|
144
|
-
* // Use specific program address
|
|
145
|
-
* const rentalStateAddress = await deriveRentalState(
|
|
146
|
-
* contractAddress,
|
|
147
|
-
* borrowerAddress,
|
|
148
|
-
* 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'
|
|
149
|
-
* );
|
|
150
|
-
* ```
|
|
151
|
-
*/
|
|
152
|
-
export async function deriveRental(contract, borrower, program) {
|
|
153
|
-
// Use provided program ID or resolve from network configuration
|
|
154
|
-
if (!program) {
|
|
155
|
-
const addresses = resolveProgramAddresses(getEffectiveSdkConfig());
|
|
156
|
-
program = addresses.srslyProgramAddress;
|
|
157
|
-
}
|
|
158
|
-
const [pda] = await getProgramDerivedAddress({
|
|
159
|
-
programAddress: toAddress(program),
|
|
160
|
-
seeds: [
|
|
161
|
-
// "rental_state" seed
|
|
162
|
-
getBytesEncoder().encode(new Uint8Array([114, 101, 110, 116, 97, 108, 95, 115, 116, 97, 116, 101])),
|
|
163
|
-
getAddressEncoder().encode(toAddress(contract)),
|
|
164
|
-
getAddressEncoder().encode(toAddress(borrower)),
|
|
165
|
-
],
|
|
166
|
-
});
|
|
167
|
-
return pda;
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Derives the rental authority PDA using the SRSLY program ID
|
|
171
|
-
*
|
|
172
|
-
* The SDK automatically resolves the correct SRSLY program address for the current network
|
|
173
|
-
* unless a specific program ID is provided.
|
|
174
|
-
*
|
|
175
|
-
* @param program - Optional SRSLY program ID (defaults to network-resolved address)
|
|
176
|
-
* @returns The rental authority PDA
|
|
177
|
-
*
|
|
178
|
-
* @example
|
|
179
|
-
* ```typescript
|
|
180
|
-
* // Use network-resolved program address (recommended)
|
|
181
|
-
* const rentalAuthorityAddress = await deriveRentalAuthority();
|
|
182
|
-
*
|
|
183
|
-
* // Use specific program address
|
|
184
|
-
* const rentalAuthorityAddress = await deriveRentalAuthority(
|
|
185
|
-
* 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'
|
|
186
|
-
* );
|
|
187
|
-
* ```
|
|
188
|
-
*/
|
|
189
|
-
export async function deriveRentalAuthority(program) {
|
|
190
|
-
// Use provided program ID or resolve from network configuration
|
|
191
|
-
if (!program) {
|
|
192
|
-
const addresses = resolveProgramAddresses(getEffectiveSdkConfig());
|
|
193
|
-
program = addresses.srslyProgramAddress;
|
|
194
|
-
}
|
|
195
|
-
const [pda] = await getProgramDerivedAddress({
|
|
196
|
-
programAddress: toAddress(program),
|
|
197
|
-
seeds: [
|
|
198
|
-
// "rental_authority" seed
|
|
199
|
-
getBytesEncoder().encode(new Uint8Array([
|
|
200
|
-
114, 101, 110, 116, 97, 108, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121,
|
|
201
|
-
])),
|
|
202
|
-
],
|
|
203
|
-
});
|
|
204
|
-
return pda;
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Derives the config PDA using the SRSLY program ID
|
|
208
|
-
*
|
|
209
|
-
* The SDK automatically resolves the correct SRSLY program address for the current network
|
|
210
|
-
* unless a specific program ID is provided.
|
|
211
|
-
*
|
|
212
|
-
* @param program - Optional SRSLY program ID (defaults to network-resolved address)
|
|
213
|
-
* @returns The config PDA
|
|
214
|
-
*
|
|
215
|
-
* @example
|
|
216
|
-
* ```typescript
|
|
217
|
-
* // Use network-resolved program address (recommended)
|
|
218
|
-
* const configAddress = await deriveConfig();
|
|
219
|
-
*
|
|
220
|
-
* // Use specific program address
|
|
221
|
-
* const configAddress = await deriveConfig(
|
|
222
|
-
* 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'
|
|
223
|
-
* );
|
|
224
|
-
* ```
|
|
225
|
-
*/
|
|
226
|
-
export async function deriveConfig(program) {
|
|
227
|
-
// Use provided program ID or resolve from network configuration
|
|
228
|
-
if (!program) {
|
|
229
|
-
const addresses = resolveProgramAddresses(getEffectiveSdkConfig());
|
|
230
|
-
program = addresses.srslyProgramAddress;
|
|
231
|
-
}
|
|
232
|
-
const [pda] = await getProgramDerivedAddress({
|
|
233
|
-
programAddress: toAddress(program),
|
|
234
|
-
seeds: [
|
|
235
|
-
// "config" seed - matches CONFIG_SEED in Rust
|
|
236
|
-
getBytesEncoder().encode(new Uint8Array([99, 111, 110, 102, 105, 103])),
|
|
237
|
-
],
|
|
238
|
-
});
|
|
239
|
-
return pda;
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Helper function to derive the borrower's profile faction account
|
|
243
|
-
*
|
|
244
|
-
* @param profile The borrower's profile address
|
|
245
|
-
* @returns Promise that resolves to the derived profile faction address
|
|
246
|
-
*/
|
|
247
|
-
export async function deriveProfileFaction(profile) {
|
|
248
|
-
const programAddress = await getProfileFactionProgramAddress();
|
|
249
|
-
const [pda] = await getProgramDerivedAddress({
|
|
250
|
-
programAddress,
|
|
251
|
-
seeds: [seedToBytes(PROFILE_FACTION_SEED), getAddressEncoder().encode(toAddress(profile))],
|
|
252
|
-
});
|
|
253
|
-
return pda;
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Helper function to derive the sage player profile
|
|
257
|
-
*
|
|
258
|
-
* @param borrowerProfile The borrower's profile address
|
|
259
|
-
* @param gameId The game ID from the fleet or contract state
|
|
260
|
-
* @returns Promise that resolves to the derived sage player profile address
|
|
261
|
-
*/
|
|
262
|
-
export async function deriveSagePlayerProfile(borrowerProfile, gameId) {
|
|
263
|
-
const programAddress = await getSageProgramAddress();
|
|
264
|
-
const [pda] = await getProgramDerivedAddress({
|
|
265
|
-
programAddress,
|
|
266
|
-
seeds: [
|
|
267
|
-
seedToBytes(SAGE_PLAYER_PROFILE_SEED),
|
|
268
|
-
getAddressEncoder().encode(toAddress(borrowerProfile)),
|
|
269
|
-
getAddressEncoder().encode(toAddress(gameId)),
|
|
270
|
-
],
|
|
271
|
-
});
|
|
272
|
-
return pda;
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* Helper function to derive the starbase address based on faction
|
|
276
|
-
*
|
|
277
|
-
* @param faction The faction (1/2/3 or 'mud'/'oni'/'ustur')
|
|
278
|
-
* @param gameId The game ID from the fleet or contract state
|
|
279
|
-
* @returns Promise that resolves to the derived starbase address
|
|
280
|
-
*/
|
|
281
|
-
export async function deriveStarbase(faction, gameId) {
|
|
282
|
-
const programAddress = await getSageProgramAddress();
|
|
283
|
-
// Convert faction to string representation if it's a number
|
|
284
|
-
const factionName = typeof faction === 'number' ? FACTION_MAPPING[faction] : faction;
|
|
285
|
-
// Validate faction
|
|
286
|
-
if (!factionName || !FACTION_SPECIFIC_CSS[factionName]) {
|
|
287
|
-
throw new Error(`Unsupported faction: ${faction}`);
|
|
288
|
-
}
|
|
289
|
-
// Get coordinates for the faction
|
|
290
|
-
const coords = FACTION_SPECIFIC_CSS[factionName];
|
|
291
|
-
// Convert coordinates to bytes (little-endian, two's complement)
|
|
292
|
-
const xCoord = new DataView(new ArrayBuffer(8));
|
|
293
|
-
const yCoord = new DataView(new ArrayBuffer(8));
|
|
294
|
-
xCoord.setBigInt64(0, BigInt(coords.x), true);
|
|
295
|
-
yCoord.setBigInt64(0, BigInt(coords.y), true);
|
|
296
|
-
// Create Uint8Array from DataView
|
|
297
|
-
const xBytes = new Uint8Array(xCoord.buffer);
|
|
298
|
-
const yBytes = new Uint8Array(yCoord.buffer);
|
|
299
|
-
const [pda] = await getProgramDerivedAddress({
|
|
300
|
-
programAddress,
|
|
301
|
-
seeds: [
|
|
302
|
-
seedToBytes(STARBASE_SEED),
|
|
303
|
-
getAddressEncoder().encode(toAddress(gameId)),
|
|
304
|
-
getBytesEncoder().encode(xBytes),
|
|
305
|
-
getBytesEncoder().encode(yBytes),
|
|
306
|
-
],
|
|
307
|
-
});
|
|
308
|
-
return pda;
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Helper function to derive the starbase player address
|
|
312
|
-
*
|
|
313
|
-
* @param sagePlayerProfile The sage player profile address
|
|
314
|
-
* @param starbase The starbase address
|
|
315
|
-
* @param starbaseSeqId The starbase sequence ID (defaults to 0)
|
|
316
|
-
* @returns Promise that resolves to the derived starbase player address
|
|
317
|
-
*/
|
|
318
|
-
export async function deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId = 0) {
|
|
319
|
-
// Get network-specific SAGE program address
|
|
320
|
-
const programAddress = await getSageProgramAddress();
|
|
321
|
-
// Convert sequence ID to bytes (little-endian uint16)
|
|
322
|
-
const seqIdView = new DataView(new ArrayBuffer(2));
|
|
323
|
-
seqIdView.setUint16(0, starbaseSeqId, true);
|
|
324
|
-
const seqIdBytes = new Uint8Array(seqIdView.buffer);
|
|
325
|
-
const [pda] = await getProgramDerivedAddress({
|
|
326
|
-
programAddress,
|
|
327
|
-
seeds: [
|
|
328
|
-
seedToBytes(STARBASE_PLAYER_SEED),
|
|
329
|
-
getAddressEncoder().encode(toAddress(starbase)),
|
|
330
|
-
getAddressEncoder().encode(toAddress(sagePlayerProfile)),
|
|
331
|
-
getBytesEncoder().encode(seqIdBytes),
|
|
332
|
-
],
|
|
333
|
-
});
|
|
334
|
-
return pda;
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Derives all three accounts needed: profileFaction, starbase, and starbasePlayer
|
|
338
|
-
*
|
|
339
|
-
* @param profile The borrower's profile address
|
|
340
|
-
* @param faction The faction (1/2/3 or 'mud'/'oni'/'ustur')
|
|
341
|
-
* @param starbaseSeqId The starbase sequence ID (defaults to 0)
|
|
342
|
-
* @param gameId The game ID from the fleet or contract state
|
|
343
|
-
* @returns Promise that resolves to the three derived addresses
|
|
344
|
-
*/
|
|
345
|
-
export async function deriveGameAccounts(profile, faction, starbaseSeqId = 0, gameId) {
|
|
346
|
-
// Derive the three accounts in parallel
|
|
347
|
-
const [profileFaction, sagePlayerProfile, starbase] = await Promise.all([
|
|
348
|
-
deriveProfileFaction(profile),
|
|
349
|
-
deriveSagePlayerProfile(profile, gameId),
|
|
350
|
-
deriveStarbase(faction, gameId),
|
|
351
|
-
]);
|
|
352
|
-
// Derive starbasePlayer using the results from above
|
|
353
|
-
const starbasePlayer = await deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId);
|
|
354
|
-
return {
|
|
355
|
-
profileFaction,
|
|
356
|
-
starbase,
|
|
357
|
-
starbasePlayer,
|
|
358
|
-
};
|
|
359
|
-
}
|
|
360
|
-
/**
|
|
361
|
-
* Derives the fee token account PDA using the Associated Token Program
|
|
362
|
-
*
|
|
363
|
-
* This account holds the collected service fees in ATLAS tokens. It's an associated
|
|
364
|
-
* token account derived from the config's fees_account and the ATLAS mint address.
|
|
365
|
-
* Both values are retrieved from the ConfigState account.
|
|
366
|
-
*
|
|
367
|
-
* @param configState - Optional ConfigState account data. If not provided, will fetch it automatically
|
|
368
|
-
* @returns The fee token account PDA
|
|
369
|
-
*
|
|
370
|
-
* @example
|
|
371
|
-
* ```typescript
|
|
372
|
-
* // Auto-fetch config state (recommended for one-off use)
|
|
373
|
-
* const feeTokenAccount = await deriveFeeTokenAccount();
|
|
374
|
-
*
|
|
375
|
-
* // Use already-fetched config state (recommended when you already have it)
|
|
376
|
-
* const configState = await fetchConfigState();
|
|
377
|
-
* const feeTokenAccount = await deriveFeeTokenAccount(configState);
|
|
378
|
-
* ```
|
|
379
|
-
*/
|
|
380
|
-
export async function deriveFeeTokenAccount(configState) {
|
|
381
|
-
// Use provided configState or fetch it
|
|
382
|
-
if (!configState) {
|
|
383
|
-
const configPda = await deriveConfig();
|
|
384
|
-
configState = await fetchConfigState(configPda);
|
|
385
|
-
}
|
|
386
|
-
// Extract mint and fees account from ConfigState
|
|
387
|
-
const mint = configState.atlasMint;
|
|
388
|
-
const feesAccount = configState.feesAccount;
|
|
389
|
-
// Associated Token Program ID (standard SPL token program)
|
|
390
|
-
const ASSOCIATED_TOKEN_PROGRAM_ID = toAddress('ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL');
|
|
391
|
-
const TOKEN_PROGRAM_ID = toAddress('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA');
|
|
392
|
-
const [pda] = await getProgramDerivedAddress({
|
|
393
|
-
programAddress: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
394
|
-
seeds: [
|
|
395
|
-
getAddressEncoder().encode(toAddress(feesAccount)),
|
|
396
|
-
getAddressEncoder().encode(TOKEN_PROGRAM_ID),
|
|
397
|
-
getAddressEncoder().encode(toAddress(mint)),
|
|
398
|
-
],
|
|
399
|
-
});
|
|
400
|
-
return pda;
|
|
401
|
-
}
|
|
402
|
-
//# sourceMappingURL=derive-pda.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"derive-pda.js","sourceRoot":"","sources":["../../../src/utils/derive-pda.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @purpose Blockchain account fetching utilities with RPC connection management
|
|
3
|
-
* @reviewed 2025-07-29
|
|
4
|
-
*/
|
|
5
|
-
import { createSolanaRpc, fixDecoderSize, getBase64Encoder, getBytesDecoder } from '@solana/kit';
|
|
6
|
-
import { fetchAllContractState, fetchAllRentalState, fetchMaybeContractState, fetchMaybeRentalState, fetchMaybeConfigState, } from '../generated/codama/accounts';
|
|
7
|
-
import { getSdkConfig, resolveProgramAddresses } from './config';
|
|
8
|
-
import { toAddress } from './constants';
|
|
9
|
-
import { deriveConfig } from './derive-pda';
|
|
10
|
-
import { getStructDecoder, getU8Decoder, getAddressDecoder } from '@solana/kit';
|
|
11
|
-
/**
|
|
12
|
-
* Convenience wrapper functions for fetching account states with RPC URL strings.
|
|
13
|
-
* These functions handle creating the RPC connection for you.
|
|
14
|
-
*
|
|
15
|
-
* Fleet account fetching uses manual parsing based on the known SAGE Fleet struct.
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Helper function to resolve RPC URL from provided value or global config
|
|
19
|
-
*/
|
|
20
|
-
function getRpcUrl(providedUrl) {
|
|
21
|
-
if (providedUrl)
|
|
22
|
-
return providedUrl;
|
|
23
|
-
const config = getSdkConfig();
|
|
24
|
-
const resolved = resolveProgramAddresses(config);
|
|
25
|
-
if (!resolved.rpcUrl) {
|
|
26
|
-
throw new Error('RPC URL is required. Please provide it or set it in the config.');
|
|
27
|
-
}
|
|
28
|
-
return resolved.rpcUrl;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Generic helper to fetch a single account state with lazy decoding
|
|
32
|
-
*/
|
|
33
|
-
async function fetchAccountState(address, fetchFn, rpcUrl) {
|
|
34
|
-
const resolvedRpcUrl = getRpcUrl(rpcUrl);
|
|
35
|
-
const rpc = createSolanaRpc(resolvedRpcUrl);
|
|
36
|
-
const result = await fetchFn(rpc, toAddress(address), { lazy: true });
|
|
37
|
-
if (!result.exists) {
|
|
38
|
-
throw new Error(`Account not found at address: ${address}`);
|
|
39
|
-
}
|
|
40
|
-
return result.data;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Generic helper to fetch multiple account states
|
|
44
|
-
*/
|
|
45
|
-
async function fetchMultipleAccountStates(addresses, fetchAllFn, rpcUrl) {
|
|
46
|
-
const resolvedRpcUrl = getRpcUrl(rpcUrl);
|
|
47
|
-
const rpc = createSolanaRpc(resolvedRpcUrl);
|
|
48
|
-
const addressArray = addresses.map(addr => toAddress(addr));
|
|
49
|
-
return fetchAllFn(rpc, addressArray);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Fetches contract state data from the blockchain
|
|
53
|
-
*
|
|
54
|
-
* @param contract - The contract account address to fetch (string or Address)
|
|
55
|
-
* @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
|
|
56
|
-
* @returns The contract state data directly (no .data wrapper)
|
|
57
|
-
* @throws Error with descriptive message if contract not found or fetch fails
|
|
58
|
-
*
|
|
59
|
-
* @example
|
|
60
|
-
* ```typescript
|
|
61
|
-
* // Uses RPC URL from global config
|
|
62
|
-
* const contractState = await fetchContractState('ContractAddress123...');
|
|
63
|
-
* console.log('Contract owner:', contractState.owner);
|
|
64
|
-
*
|
|
65
|
-
* // Uses specific RPC URL
|
|
66
|
-
* const contractState2 = await fetchContractState(
|
|
67
|
-
* 'ContractAddress123...',
|
|
68
|
-
* 'https://api.devnet.solana.com'
|
|
69
|
-
* );
|
|
70
|
-
* console.log('Contract rate:', contractState2.rate);
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
|
-
export async function fetchContractState(contract, rpcUrl) {
|
|
74
|
-
return fetchAccountState(contract, fetchMaybeContractState, rpcUrl);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Fetches rental state data from the blockchain
|
|
78
|
-
*
|
|
79
|
-
* @param rental - The rental account address to fetch (string or Address)
|
|
80
|
-
* @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
|
|
81
|
-
* @returns The rental state data directly (no .data wrapper)
|
|
82
|
-
* @throws Error with descriptive message if rental state not found or fetch fails
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* ```typescript
|
|
86
|
-
* // Uses RPC URL from global config
|
|
87
|
-
* const rentalState = await fetchRentalState('RentalAddress123...');
|
|
88
|
-
* console.log('Rental borrower:', rentalState.borrower);
|
|
89
|
-
*
|
|
90
|
-
* // Uses specific RPC URL
|
|
91
|
-
* const rentalState2 = await fetchRentalState(
|
|
92
|
-
* 'RentalAddress123...',
|
|
93
|
-
* 'https://api.devnet.solana.com'
|
|
94
|
-
* );
|
|
95
|
-
* console.log('Rental start:', rentalState2.start);
|
|
96
|
-
* ```
|
|
97
|
-
*/
|
|
98
|
-
export async function fetchRentalState(rental, rpcUrl) {
|
|
99
|
-
return fetchAccountState(rental, fetchMaybeRentalState, rpcUrl);
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Fetches config state data from the blockchain
|
|
103
|
-
*
|
|
104
|
-
* @param config - Optional config account address. If not provided, derives config PDA automatically
|
|
105
|
-
* @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
|
|
106
|
-
* @returns The config state data directly (no .data wrapper)
|
|
107
|
-
* @throws Error with descriptive message if config not found or fetch fails
|
|
108
|
-
*
|
|
109
|
-
* @example
|
|
110
|
-
* ```typescript
|
|
111
|
-
* // Auto-derive config PDA using global config
|
|
112
|
-
* const configState = await fetchConfigState();
|
|
113
|
-
* console.log('Config authority:', configState.authority);
|
|
114
|
-
*
|
|
115
|
-
* // Use specific config address
|
|
116
|
-
* const configState2 = await fetchConfigState('ConfigAddress123...');
|
|
117
|
-
* console.log('Config fees:', configState2.fees);
|
|
118
|
-
*
|
|
119
|
-
* // Use specific config address and RPC URL
|
|
120
|
-
* const configState3 = await fetchConfigState(
|
|
121
|
-
* 'ConfigAddress123...',
|
|
122
|
-
* 'https://api.devnet.solana.com'
|
|
123
|
-
* );
|
|
124
|
-
* console.log('Config authority:', configState3.authority);
|
|
125
|
-
* ```
|
|
126
|
-
*/
|
|
127
|
-
export async function fetchConfigState(config, rpcUrl) {
|
|
128
|
-
// Get config address - use provided or derive PDA
|
|
129
|
-
if (!config) {
|
|
130
|
-
const configOptions = getSdkConfig();
|
|
131
|
-
const resolved = resolveProgramAddresses(configOptions);
|
|
132
|
-
config = await deriveConfig(resolved.srslyProgramAddress);
|
|
133
|
-
}
|
|
134
|
-
return fetchAccountState(config, fetchMaybeConfigState, rpcUrl);
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Fetches multiple contract states in a single RPC call
|
|
138
|
-
*
|
|
139
|
-
* @param contracts - Array of contract addresses to fetch
|
|
140
|
-
* @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
|
|
141
|
-
* @returns Array of contract states (some may be null if not found)
|
|
142
|
-
*
|
|
143
|
-
* @example
|
|
144
|
-
* ```typescript
|
|
145
|
-
* const contracts = await fetchMultipleContractStates(
|
|
146
|
-
* ['Contract1...', 'Contract2...', 'Contract3...']
|
|
147
|
-
* );
|
|
148
|
-
*
|
|
149
|
-
* contracts.forEach((contract, i) => {
|
|
150
|
-
* if (contract.exists) {
|
|
151
|
-
* console.log(`Contract ${i}: ${contract.data.owner}`);
|
|
152
|
-
* }
|
|
153
|
-
* });
|
|
154
|
-
* ```
|
|
155
|
-
*/
|
|
156
|
-
export async function fetchMultipleContractStates(contracts, rpcUrl) {
|
|
157
|
-
return fetchMultipleAccountStates(contracts, fetchAllContractState, rpcUrl);
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Fetches multiple rental states in a single RPC call
|
|
161
|
-
*
|
|
162
|
-
* @param rentals - Array of rental addresses to fetch
|
|
163
|
-
* @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
|
|
164
|
-
* @returns Array of rental states (some may be null if not found)
|
|
165
|
-
*
|
|
166
|
-
* @example
|
|
167
|
-
* ```typescript
|
|
168
|
-
* const rentals = await fetchMultipleRentalStates(
|
|
169
|
-
* ['Rental1...', 'Rental2...', 'Rental3...']
|
|
170
|
-
* );
|
|
171
|
-
*
|
|
172
|
-
* rentals.forEach((rental, i) => {
|
|
173
|
-
* if (rental.exists) {
|
|
174
|
-
* console.log(`Rental ${i}: ${rental.data.borrower}`);
|
|
175
|
-
* }
|
|
176
|
-
* });
|
|
177
|
-
* ```
|
|
178
|
-
*/
|
|
179
|
-
export async function fetchMultipleRentalStates(rentals, rpcUrl) {
|
|
180
|
-
return fetchMultipleAccountStates(rentals, fetchAllRentalState, rpcUrl);
|
|
181
|
-
}
|
|
182
|
-
// Manual decoder for SAGE Fleet account based on the Rust struct
|
|
183
|
-
// SAGE Fleet accounts have an 8-byte discriminator at the beginning
|
|
184
|
-
const fleetDecoder = getStructDecoder([
|
|
185
|
-
['anchorDiscriminator', fixDecoderSize(getBytesDecoder(), 8)],
|
|
186
|
-
['version', getU8Decoder()],
|
|
187
|
-
['gameId', getAddressDecoder()],
|
|
188
|
-
['ownerProfile', getAddressDecoder()],
|
|
189
|
-
['fleetShips', getAddressDecoder()],
|
|
190
|
-
['subProfile', getAddressDecoder()],
|
|
191
|
-
['subProfileInvalidator', getAddressDecoder()],
|
|
192
|
-
['faction', getU8Decoder()],
|
|
193
|
-
]);
|
|
194
|
-
/**
|
|
195
|
-
* Fetches fleet state data from the SAGE program
|
|
196
|
-
*
|
|
197
|
-
* @param fleetAddress - The fleet account address to fetch (string or Address)
|
|
198
|
-
* @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
|
|
199
|
-
* @returns The fleet state data directly (no .data wrapper)
|
|
200
|
-
* @throws Error with descriptive message if fleet not found or fetch fails
|
|
201
|
-
*
|
|
202
|
-
* @example
|
|
203
|
-
* ```typescript
|
|
204
|
-
* // Uses RPC URL from global config
|
|
205
|
-
* const fleetState = await fetchFleetState('FleetAddress123...');
|
|
206
|
-
* console.log('Fleet owner profile:', fleetState.ownerProfile);
|
|
207
|
-
*
|
|
208
|
-
* // Uses specific RPC URL
|
|
209
|
-
* const fleetState2 = await fetchFleetState(
|
|
210
|
-
* 'FleetAddress123...',
|
|
211
|
-
* 'https://api.devnet.solana.com'
|
|
212
|
-
* );
|
|
213
|
-
* console.log('Fleet faction:', fleetState2.faction);
|
|
214
|
-
* ```
|
|
215
|
-
*/
|
|
216
|
-
export async function fetchFleetState(fleetAddress, rpcUrl) {
|
|
217
|
-
try {
|
|
218
|
-
const address = toAddress(fleetAddress);
|
|
219
|
-
const resolvedRpcUrl = getRpcUrl(rpcUrl);
|
|
220
|
-
const rpc = createSolanaRpc(resolvedRpcUrl);
|
|
221
|
-
const base64Encoder = getBase64Encoder();
|
|
222
|
-
const { value } = await rpc.getAccountInfo(address, { encoding: 'base64' }).send();
|
|
223
|
-
if (!value || !value?.data) {
|
|
224
|
-
throw new Error(`Account not found: ${address.toString()}`);
|
|
225
|
-
}
|
|
226
|
-
let bytes = base64Encoder.encode(value.data[0]);
|
|
227
|
-
return fleetDecoder.decode(bytes);
|
|
228
|
-
}
|
|
229
|
-
catch (error) {
|
|
230
|
-
throw new Error(`Failed to fetch fleet state at ${fleetAddress}: ${error.message}`);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
//# sourceMappingURL=fetch-accounts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-accounts.js","sourceRoot":"","sources":["../../../src/utils/fetch-accounts.ts"],"names":[],"mappings":"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"}
|