@wuwei-labs/srsly 2.3.3-canary.36.16828894446.0 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +126 -462
- package/dist/cjs/accounts/borrower.js +47 -0
- package/dist/cjs/accounts/borrower.js.map +1 -0
- package/dist/cjs/accounts/config.js +47 -0
- package/dist/cjs/accounts/config.js.map +1 -0
- package/dist/cjs/accounts/contract.js +47 -0
- package/dist/cjs/accounts/contract.js.map +1 -0
- package/dist/cjs/accounts/fleet.js +77 -0
- package/dist/cjs/accounts/fleet.js.map +1 -0
- package/dist/cjs/accounts/rental.js +47 -0
- package/dist/cjs/accounts/rental.js.map +1 -0
- package/dist/cjs/demos.js +124 -59
- package/dist/cjs/demos.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/borrowerState.js +84 -0
- package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/configState.js +37 -52
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/contractState.js +27 -51
- package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/index.js +5 -2
- package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/memberState.js +78 -0
- package/dist/cjs/generated/codama/accounts/memberState.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/rentalState.js +23 -59
- package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/thread.js +45 -61
- package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/vaultState.js +82 -0
- package/dist/cjs/generated/codama/accounts/vaultState.js.map +1 -0
- package/dist/cjs/generated/codama/errors/index.js +2 -2
- package/dist/cjs/generated/codama/errors/srsly.js +158 -19
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/index.js +2 -2
- package/dist/cjs/generated/codama/instructions/acceptRental.js +107 -40
- package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/cancelRental.js +53 -56
- package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/captureRental.js +129 -0
- package/dist/cjs/generated/codama/instructions/captureRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/claimBorrower.js +222 -0
- package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js +225 -0
- package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/claimContractPayments.js +230 -0
- package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeBorrower.js +84 -0
- package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/closeContract.js +140 -31
- package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/closeRental.js +31 -28
- package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createConfig.js +212 -0
- package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/createContract.js +47 -45
- package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/deleteBorrower.js +126 -0
- package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteConfig.js +193 -0
- package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteContract.js +115 -0
- package/dist/cjs/generated/codama/instructions/deleteContract.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteRental.js +115 -0
- package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/discountBorrower.js +118 -0
- package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/index.js +15 -4
- package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/payRental.js +95 -68
- package/dist/cjs/generated/codama/instructions/payRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/{resetRental.js → releaseRental.js} +79 -38
- package/dist/cjs/generated/codama/instructions/releaseRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/reserveRental.js +255 -0
- package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/{initializeConfig.js → updateBorrower.js} +45 -52
- package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/updateConfig.js +41 -32
- package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateContract.js +134 -0
- package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -0
- package/dist/cjs/generated/codama/programs/index.js +2 -2
- package/dist/cjs/generated/codama/programs/srsly.js +74 -18
- package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/shared/index.js +2 -2
- package/dist/cjs/generated/codama/shared/index.js.map +1 -1
- package/dist/cjs/generated/codama/types/capturedFlagData.js +31 -0
- package/dist/cjs/generated/codama/types/capturedFlagData.js.map +1 -0
- package/dist/cjs/generated/codama/types/index.js +7 -9
- package/dist/cjs/generated/codama/types/index.js.map +1 -1
- package/dist/cjs/generated/codama/types/memberConfig.js +33 -0
- package/dist/cjs/generated/codama/types/memberConfig.js.map +1 -0
- package/dist/cjs/generated/codama/types/memberType.js +55 -0
- package/dist/cjs/generated/codama/types/memberType.js.map +1 -0
- package/dist/cjs/generated/codama/types/paymentFrequency.js +2 -2
- package/dist/cjs/generated/codama/types/schedule.js +65 -0
- package/dist/cjs/generated/codama/types/schedule.js.map +1 -0
- package/dist/cjs/generated/codama/types/signal.js +48 -0
- package/dist/cjs/generated/codama/types/signal.js.map +1 -0
- package/dist/cjs/generated/codama/types/trigger.js +36 -23
- package/dist/cjs/generated/codama/types/trigger.js.map +1 -1
- package/dist/cjs/index.js +172 -245
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instructions/acceptRental.js +153 -0
- package/dist/cjs/instructions/acceptRental.js.map +1 -0
- package/dist/cjs/instructions/cancelRental.js +100 -0
- package/dist/cjs/instructions/cancelRental.js.map +1 -0
- package/dist/cjs/instructions/captureRental.js +85 -0
- package/dist/cjs/instructions/captureRental.js.map +1 -0
- package/dist/cjs/instructions/claimBorrower.js +66 -0
- package/dist/cjs/instructions/claimBorrower.js.map +1 -0
- package/dist/cjs/instructions/claimBorrowerPayments.js +69 -0
- package/dist/cjs/instructions/claimBorrowerPayments.js.map +1 -0
- package/dist/cjs/instructions/claimContractPayments.js +79 -0
- package/dist/cjs/instructions/claimContractPayments.js.map +1 -0
- package/dist/cjs/instructions/closeBorrower.js +60 -0
- package/dist/cjs/instructions/closeBorrower.js.map +1 -0
- package/dist/cjs/instructions/closeContract.js +120 -0
- package/dist/cjs/instructions/closeContract.js.map +1 -0
- package/dist/cjs/instructions/closeRental.js +105 -0
- package/dist/cjs/instructions/closeRental.js.map +1 -0
- package/dist/cjs/instructions/createConfig.js +74 -0
- package/dist/cjs/instructions/createConfig.js.map +1 -0
- package/dist/cjs/instructions/createContract.js +131 -0
- package/dist/cjs/instructions/createContract.js.map +1 -0
- package/dist/cjs/instructions/deleteBorrower.js +60 -0
- package/dist/cjs/instructions/deleteBorrower.js.map +1 -0
- package/dist/cjs/instructions/deleteConfig.js +79 -0
- package/dist/cjs/instructions/deleteConfig.js.map +1 -0
- package/dist/cjs/instructions/deleteRental.js +75 -0
- package/dist/cjs/instructions/deleteRental.js.map +1 -0
- package/dist/cjs/instructions/discountBorrower.js +75 -0
- package/dist/cjs/instructions/discountBorrower.js.map +1 -0
- package/dist/cjs/instructions/releaseRental.js +132 -0
- package/dist/cjs/instructions/releaseRental.js.map +1 -0
- package/dist/cjs/instructions/reserveRental.js +135 -0
- package/dist/cjs/instructions/reserveRental.js.map +1 -0
- package/dist/cjs/instructions/updateBorrower.js +89 -0
- package/dist/cjs/instructions/updateBorrower.js.map +1 -0
- package/dist/cjs/instructions/updateConfig.js +103 -0
- package/dist/cjs/instructions/updateConfig.js.map +1 -0
- package/dist/cjs/instructions/updateContract.js +107 -0
- package/dist/cjs/instructions/updateContract.js.map +1 -0
- package/dist/cjs/package.json +30 -32
- package/dist/cjs/params/amount.js +125 -0
- package/dist/cjs/params/amount.js.map +1 -0
- package/dist/cjs/params/duration.js +120 -0
- package/dist/cjs/params/duration.js.map +1 -0
- package/dist/cjs/params/schedule.js +164 -0
- package/dist/cjs/params/schedule.js.map +1 -0
- package/dist/cjs/pda/constants.js +73 -0
- package/dist/cjs/pda/constants.js.map +1 -0
- package/dist/cjs/pda/index.js +73 -0
- package/dist/cjs/pda/index.js.map +1 -0
- package/dist/cjs/pda/sage.js +175 -0
- package/dist/cjs/pda/sage.js.map +1 -0
- package/dist/cjs/pda/slyvault.js +56 -0
- package/dist/cjs/pda/slyvault.js.map +1 -0
- package/dist/cjs/pda/srsly.js +120 -0
- package/dist/cjs/pda/srsly.js.map +1 -0
- package/dist/cjs/pda/thread.js +64 -0
- package/dist/cjs/pda/thread.js.map +1 -0
- package/dist/cjs/pda/token.js +62 -0
- package/dist/cjs/pda/token.js.map +1 -0
- package/dist/cjs/utils/addresses.js +90 -0
- package/dist/cjs/utils/addresses.js.map +1 -0
- package/dist/cjs/utils/config.js +100 -187
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/index.js +32 -28
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/instructions.js +79 -0
- package/dist/cjs/utils/instructions.js.map +1 -0
- package/dist/cjs/utils/signer.js +113 -94
- package/dist/cjs/utils/signer.js.map +1 -1
- package/dist/cjs/utils/web3js.js +76 -0
- package/dist/cjs/utils/web3js.js.map +1 -0
- package/dist/cjs/version.js +7 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/accounts/borrower.js +44 -0
- package/dist/esm/accounts/borrower.js.map +1 -0
- package/dist/esm/accounts/config.js +44 -0
- package/dist/esm/accounts/config.js.map +1 -0
- package/dist/esm/accounts/contract.js +44 -0
- package/dist/esm/accounts/contract.js.map +1 -0
- package/dist/esm/accounts/fleet.js +74 -0
- package/dist/esm/accounts/fleet.js.map +1 -0
- package/dist/esm/accounts/rental.js +44 -0
- package/dist/esm/accounts/rental.js.map +1 -0
- package/dist/esm/demos.js +123 -18
- package/dist/esm/demos.js.map +1 -1
- package/dist/esm/generated/codama/accounts/borrowerState.js +72 -0
- package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -0
- package/dist/esm/generated/codama/accounts/configState.js +38 -53
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/contractState.js +28 -52
- package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/index.js +5 -2
- package/dist/esm/generated/codama/accounts/index.js.map +1 -1
- package/dist/esm/generated/codama/accounts/memberState.js +66 -0
- package/dist/esm/generated/codama/accounts/memberState.js.map +1 -0
- package/dist/esm/generated/codama/accounts/rentalState.js +23 -60
- package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/thread.js +47 -63
- package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
- package/dist/esm/generated/codama/accounts/vaultState.js +70 -0
- package/dist/esm/generated/codama/accounts/vaultState.js.map +1 -0
- package/dist/esm/generated/codama/errors/index.js +2 -2
- package/dist/esm/generated/codama/errors/srsly.js +156 -18
- package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
- package/dist/esm/generated/codama/index.js +2 -2
- package/dist/esm/generated/codama/instructions/acceptRental.js +107 -40
- package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/cancelRental.js +54 -57
- package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/captureRental.js +119 -0
- package/dist/esm/generated/codama/instructions/captureRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/claimBorrower.js +212 -0
- package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/claimContractPayments.js +220 -0
- package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeBorrower.js +75 -0
- package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/closeContract.js +142 -33
- package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/closeRental.js +31 -28
- package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createConfig.js +202 -0
- package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -0
- package/dist/esm/generated/codama/instructions/createContract.js +48 -46
- package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/deleteBorrower.js +116 -0
- package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteConfig.js +183 -0
- package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteContract.js +105 -0
- package/dist/esm/generated/codama/instructions/deleteContract.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteRental.js +105 -0
- package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/discountBorrower.js +108 -0
- package/dist/esm/generated/codama/instructions/discountBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/index.js +15 -4
- package/dist/esm/generated/codama/instructions/index.js.map +1 -1
- package/dist/esm/generated/codama/instructions/payRental.js +95 -68
- package/dist/esm/generated/codama/instructions/payRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/{resetRental.js → releaseRental.js} +73 -32
- package/dist/esm/generated/codama/instructions/releaseRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/reserveRental.js +245 -0
- package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/{initializeConfig.js → updateBorrower.js} +38 -45
- package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -0
- package/dist/esm/generated/codama/instructions/updateConfig.js +42 -33
- package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateContract.js +124 -0
- package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -0
- package/dist/esm/generated/codama/programs/index.js +2 -2
- package/dist/esm/generated/codama/programs/srsly.js +74 -18
- package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
- package/dist/esm/generated/codama/shared/index.js +2 -2
- package/dist/esm/generated/codama/shared/index.js.map +1 -1
- package/dist/esm/generated/codama/types/capturedFlagData.js +26 -0
- package/dist/esm/generated/codama/types/capturedFlagData.js.map +1 -0
- package/dist/esm/generated/codama/types/index.js +7 -9
- package/dist/esm/generated/codama/types/index.js.map +1 -1
- package/dist/esm/generated/codama/types/memberConfig.js +28 -0
- package/dist/esm/generated/codama/types/memberConfig.js.map +1 -0
- package/dist/esm/generated/codama/types/memberType.js +48 -0
- package/dist/esm/generated/codama/types/memberType.js.map +1 -0
- package/dist/esm/generated/codama/types/paymentFrequency.js +2 -2
- package/dist/esm/generated/codama/types/schedule.js +58 -0
- package/dist/esm/generated/codama/types/schedule.js.map +1 -0
- package/dist/esm/generated/codama/types/signal.js +41 -0
- package/dist/esm/generated/codama/types/signal.js.map +1 -0
- package/dist/esm/generated/codama/types/trigger.js +37 -24
- package/dist/esm/generated/codama/types/trigger.js.map +1 -1
- package/dist/esm/index.js +78 -208
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instructions/acceptRental.js +150 -0
- package/dist/esm/instructions/acceptRental.js.map +1 -0
- package/dist/esm/instructions/cancelRental.js +97 -0
- package/dist/esm/instructions/cancelRental.js.map +1 -0
- package/dist/esm/instructions/captureRental.js +82 -0
- package/dist/esm/instructions/captureRental.js.map +1 -0
- package/dist/esm/instructions/claimBorrower.js +63 -0
- package/dist/esm/instructions/claimBorrower.js.map +1 -0
- package/dist/esm/instructions/claimContractPayments.js +76 -0
- package/dist/esm/instructions/claimContractPayments.js.map +1 -0
- package/dist/esm/instructions/closeBorrower.js +57 -0
- package/dist/esm/instructions/closeBorrower.js.map +1 -0
- package/dist/esm/instructions/closeContract.js +117 -0
- package/dist/esm/instructions/closeContract.js.map +1 -0
- package/dist/esm/instructions/closeRental.js +102 -0
- package/dist/esm/instructions/closeRental.js.map +1 -0
- package/dist/esm/instructions/createConfig.js +71 -0
- package/dist/esm/instructions/createConfig.js.map +1 -0
- package/dist/esm/instructions/createContract.js +128 -0
- package/dist/esm/instructions/createContract.js.map +1 -0
- package/dist/esm/instructions/deleteBorrower.js +57 -0
- package/dist/esm/instructions/deleteBorrower.js.map +1 -0
- package/dist/esm/instructions/deleteConfig.js +76 -0
- package/dist/esm/instructions/deleteConfig.js.map +1 -0
- package/dist/esm/instructions/deleteRental.js +72 -0
- package/dist/esm/instructions/deleteRental.js.map +1 -0
- package/dist/esm/instructions/discountBorrower.js +72 -0
- package/dist/esm/instructions/discountBorrower.js.map +1 -0
- package/dist/esm/instructions/releaseRental.js +129 -0
- package/dist/esm/instructions/releaseRental.js.map +1 -0
- package/dist/esm/instructions/reserveRental.js +132 -0
- package/dist/esm/instructions/reserveRental.js.map +1 -0
- package/dist/esm/instructions/updateBorrower.js +86 -0
- package/dist/esm/instructions/updateBorrower.js.map +1 -0
- package/dist/esm/instructions/updateConfig.js +100 -0
- package/dist/esm/instructions/updateConfig.js.map +1 -0
- package/dist/esm/instructions/updateContract.js +104 -0
- package/dist/esm/instructions/updateContract.js.map +1 -0
- package/dist/esm/package.json +30 -32
- package/dist/esm/params/amount.js +119 -0
- package/dist/esm/params/amount.js.map +1 -0
- package/dist/esm/params/duration.js +115 -0
- package/dist/esm/params/duration.js.map +1 -0
- package/dist/esm/params/schedule.js +157 -0
- package/dist/esm/params/schedule.js.map +1 -0
- package/dist/esm/pda/constants.js +67 -0
- package/dist/esm/pda/constants.js.map +1 -0
- package/dist/esm/pda/index.js +42 -0
- package/dist/esm/pda/index.js.map +1 -0
- package/dist/esm/pda/sage.js +168 -0
- package/dist/esm/pda/sage.js.map +1 -0
- package/dist/esm/pda/slyvault.js +53 -0
- package/dist/esm/pda/slyvault.js.map +1 -0
- package/dist/esm/pda/srsly.js +113 -0
- package/dist/esm/pda/srsly.js.map +1 -0
- package/dist/esm/pda/thread.js +61 -0
- package/dist/esm/pda/thread.js.map +1 -0
- package/dist/esm/pda/token.js +59 -0
- package/dist/esm/pda/token.js.map +1 -0
- package/dist/esm/utils/addresses.js +85 -0
- package/dist/esm/utils/addresses.js.map +1 -0
- package/dist/esm/utils/config.js +95 -149
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/index.js +12 -14
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/instructions.js +76 -0
- package/dist/esm/utils/instructions.js.map +1 -0
- package/dist/esm/utils/signer.js +109 -90
- package/dist/esm/utils/signer.js.map +1 -1
- package/dist/esm/utils/web3js.js +72 -0
- package/dist/esm/utils/web3js.js.map +1 -0
- package/dist/esm/version.js +4 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/types/accounts/borrower.d.ts +34 -0
- package/dist/types/accounts/borrower.d.ts.map +1 -0
- package/dist/types/accounts/config.d.ts +31 -0
- package/dist/types/accounts/config.d.ts.map +1 -0
- package/dist/types/accounts/contract.d.ts +34 -0
- package/dist/types/accounts/contract.d.ts.map +1 -0
- package/dist/types/accounts/fleet.d.ts +49 -0
- package/dist/types/accounts/fleet.d.ts.map +1 -0
- package/dist/types/accounts/rental.d.ts +34 -0
- package/dist/types/accounts/rental.d.ts.map +1 -0
- package/dist/types/demos.d.ts +20 -52
- package/dist/types/demos.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/borrowerState.d.ts +94 -0
- package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/configState.d.ts +65 -22
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/contractState.d.ts +62 -23
- package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/index.d.ts +5 -2
- package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/memberState.d.ts +58 -0
- package/dist/types/generated/codama/accounts/memberState.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/rentalState.d.ts +35 -39
- package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/thread.d.ts +44 -51
- package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/vaultState.d.ts +66 -0
- package/dist/types/generated/codama/accounts/vaultState.d.ts.map +1 -0
- package/dist/types/generated/codama/errors/index.d.ts +2 -2
- package/dist/types/generated/codama/errors/srsly.d.ts +111 -19
- package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/index.d.ts +2 -2
- package/dist/types/generated/codama/instructions/acceptRental.d.ts +60 -45
- package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/cancelRental.d.ts +37 -32
- package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/captureRental.d.ts +59 -0
- package/dist/types/generated/codama/instructions/captureRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts +90 -0
- package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts +75 -0
- package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +98 -0
- package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeBorrower.d.ts +43 -0
- package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeContract.d.ts +44 -28
- package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/closeRental.d.ts +38 -34
- package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createConfig.d.ts +79 -0
- package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/createContract.d.ts +38 -30
- package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +55 -0
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteConfig.d.ts +75 -0
- package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteContract.d.ts +55 -0
- package/dist/types/generated/codama/instructions/deleteContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteRental.d.ts +55 -0
- package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/discountBorrower.d.ts +56 -0
- package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/index.d.ts +15 -4
- package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/payRental.d.ts +61 -46
- package/dist/types/generated/codama/instructions/payRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/releaseRental.d.ts +105 -0
- package/dist/types/generated/codama/instructions/releaseRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/reserveRental.d.ts +129 -0
- package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/updateBorrower.d.ts +62 -0
- package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/updateConfig.d.ts +88 -28
- package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateContract.d.ts +88 -0
- package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -0
- package/dist/types/generated/codama/programs/index.d.ts +2 -2
- package/dist/types/generated/codama/programs/srsly.d.ts +57 -21
- package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/shared/index.d.ts +2 -13
- package/dist/types/generated/codama/shared/index.d.ts.map +1 -1
- package/dist/types/generated/codama/types/capturedFlagData.d.ts +35 -0
- package/dist/types/generated/codama/types/capturedFlagData.d.ts.map +1 -0
- package/dist/types/generated/codama/types/index.d.ts +7 -9
- package/dist/types/generated/codama/types/index.d.ts.map +1 -1
- package/dist/types/generated/codama/types/memberConfig.d.ts +33 -0
- package/dist/types/generated/codama/types/memberConfig.d.ts.map +1 -0
- package/dist/types/generated/codama/types/memberType.d.ts +48 -0
- package/dist/types/generated/codama/types/memberType.d.ts.map +1 -0
- package/dist/types/generated/codama/types/paymentFrequency.d.ts +2 -2
- package/dist/types/generated/codama/types/schedule.d.ts +46 -0
- package/dist/types/generated/codama/types/schedule.d.ts.map +1 -0
- package/dist/types/generated/codama/types/signal.d.ts +56 -0
- package/dist/types/generated/codama/types/signal.d.ts.map +1 -0
- package/dist/types/generated/codama/types/trigger.d.ts +45 -34
- package/dist/types/generated/codama/types/trigger.d.ts.map +1 -1
- package/dist/types/index.d.ts +37 -207
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/instructions/acceptRental.d.ts +99 -0
- package/dist/types/instructions/acceptRental.d.ts.map +1 -0
- package/dist/types/instructions/cancelRental.d.ts +90 -0
- package/dist/types/instructions/cancelRental.d.ts.map +1 -0
- package/dist/types/instructions/captureRental.d.ts +58 -0
- package/dist/types/instructions/captureRental.d.ts.map +1 -0
- package/dist/types/instructions/claimBorrower.d.ts +53 -0
- package/dist/types/instructions/claimBorrower.d.ts.map +1 -0
- package/dist/types/instructions/claimBorrowerPayments.d.ts +59 -0
- package/dist/types/instructions/claimBorrowerPayments.d.ts.map +1 -0
- package/dist/types/instructions/claimContractPayments.d.ts +78 -0
- package/dist/types/instructions/claimContractPayments.d.ts.map +1 -0
- package/dist/types/instructions/closeBorrower.d.ts +45 -0
- package/dist/types/instructions/closeBorrower.d.ts.map +1 -0
- package/dist/types/instructions/closeContract.d.ts +91 -0
- package/dist/types/instructions/closeContract.d.ts.map +1 -0
- package/dist/types/instructions/closeRental.d.ts +62 -0
- package/dist/types/instructions/closeRental.d.ts.map +1 -0
- package/dist/types/instructions/createConfig.d.ts +62 -0
- package/dist/types/instructions/createConfig.d.ts.map +1 -0
- package/dist/types/instructions/createContract.d.ts +127 -0
- package/dist/types/instructions/createContract.d.ts.map +1 -0
- package/dist/types/instructions/deleteBorrower.d.ts +53 -0
- package/dist/types/instructions/deleteBorrower.d.ts.map +1 -0
- package/dist/types/instructions/deleteConfig.d.ts +64 -0
- package/dist/types/instructions/deleteConfig.d.ts.map +1 -0
- package/dist/types/instructions/deleteRental.d.ts +67 -0
- package/dist/types/instructions/deleteRental.d.ts.map +1 -0
- package/dist/types/instructions/discountBorrower.d.ts +64 -0
- package/dist/types/instructions/discountBorrower.d.ts.map +1 -0
- package/dist/types/instructions/releaseRental.d.ts +104 -0
- package/dist/types/instructions/releaseRental.d.ts.map +1 -0
- package/dist/types/instructions/reserveRental.d.ts +80 -0
- package/dist/types/instructions/reserveRental.d.ts.map +1 -0
- package/dist/types/instructions/updateBorrower.d.ts +81 -0
- package/dist/types/instructions/updateBorrower.d.ts.map +1 -0
- package/dist/types/instructions/updateConfig.d.ts +142 -0
- package/dist/types/instructions/updateConfig.d.ts.map +1 -0
- package/dist/types/instructions/updateContract.d.ts +113 -0
- package/dist/types/instructions/updateContract.d.ts.map +1 -0
- package/dist/types/params/amount.d.ts +70 -0
- package/dist/types/params/amount.d.ts.map +1 -0
- package/dist/types/params/duration.d.ts +65 -0
- package/dist/types/params/duration.d.ts.map +1 -0
- package/dist/types/params/schedule.d.ts +74 -0
- package/dist/types/params/schedule.d.ts.map +1 -0
- package/dist/types/pda/constants.d.ts +51 -0
- package/dist/types/pda/constants.d.ts.map +1 -0
- package/dist/types/pda/index.d.ts +36 -0
- package/dist/types/pda/index.d.ts.map +1 -0
- package/dist/types/pda/sage.d.ts +69 -0
- package/dist/types/pda/sage.d.ts.map +1 -0
- package/dist/types/pda/slyvault.d.ts +29 -0
- package/dist/types/pda/slyvault.d.ts.map +1 -0
- package/dist/types/pda/srsly.d.ts +40 -0
- package/dist/types/pda/srsly.d.ts.map +1 -0
- package/dist/types/pda/thread.d.ts +31 -0
- package/dist/types/pda/thread.d.ts.map +1 -0
- package/dist/types/pda/token.d.ts +29 -0
- package/dist/types/pda/token.d.ts.map +1 -0
- package/dist/types/utils/addresses.d.ts +75 -0
- package/dist/types/utils/addresses.d.ts.map +1 -0
- package/dist/types/utils/config.d.ts +103 -83
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +7 -14
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/instructions.d.ts +52 -0
- package/dist/types/utils/instructions.d.ts.map +1 -0
- package/dist/types/utils/signer.d.ts +78 -39
- package/dist/types/utils/signer.d.ts.map +1 -1
- package/dist/types/utils/web3js.d.ts +85 -0
- package/dist/types/utils/web3js.d.ts.map +1 -0
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +32 -47
- package/dist/cjs/config/index.js +0 -12
- package/dist/cjs/config/index.js.map +0 -1
- package/dist/cjs/config/initialize.js +0 -95
- package/dist/cjs/config/initialize.js.map +0 -1
- package/dist/cjs/config/update.js +0 -163
- package/dist/cjs/config/update.js.map +0 -1
- package/dist/cjs/contract/close.js +0 -159
- package/dist/cjs/contract/close.js.map +0 -1
- package/dist/cjs/contract/create.js +0 -259
- package/dist/cjs/contract/create.js.map +0 -1
- package/dist/cjs/contract/index.js +0 -68
- package/dist/cjs/contract/index.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/initializeConfig.js.map +0 -1
- package/dist/cjs/generated/codama/instructions/resetRental.js.map +0 -1
- package/dist/cjs/generated/codama/types/clockData.js +0 -58
- package/dist/cjs/generated/codama/types/clockData.js.map +0 -1
- package/dist/cjs/generated/codama/types/equality.js +0 -30
- package/dist/cjs/generated/codama/types/equality.js.map +0 -1
- package/dist/cjs/generated/codama/types/execContext.js +0 -68
- package/dist/cjs/generated/codama/types/execContext.js.map +0 -1
- package/dist/cjs/generated/codama/types/serializableAccount.js +0 -58
- package/dist/cjs/generated/codama/types/serializableAccount.js.map +0 -1
- package/dist/cjs/generated/codama/types/serializableInstruction.js +0 -59
- package/dist/cjs/generated/codama/types/serializableInstruction.js.map +0 -1
- package/dist/cjs/generated/codama/types/threadResponse.js +0 -68
- package/dist/cjs/generated/codama/types/threadResponse.js.map +0 -1
- package/dist/cjs/generated/codama/types/triggerContext.js +0 -49
- package/dist/cjs/generated/codama/types/triggerContext.js.map +0 -1
- package/dist/cjs/idl/index.js +0 -27
- package/dist/cjs/idl/index.js.map +0 -1
- package/dist/cjs/idl/srsly-data.js +0 -3140
- package/dist/cjs/idl/srsly-data.js.map +0 -1
- package/dist/cjs/idl/srsly.json +0 -3104
- package/dist/cjs/rental/accept.js +0 -263
- package/dist/cjs/rental/accept.js.map +0 -1
- package/dist/cjs/rental/cancel.js +0 -184
- package/dist/cjs/rental/cancel.js.map +0 -1
- package/dist/cjs/rental/close.js +0 -184
- package/dist/cjs/rental/close.js.map +0 -1
- package/dist/cjs/rental/index.js +0 -105
- package/dist/cjs/rental/index.js.map +0 -1
- package/dist/cjs/rental/reset.js +0 -192
- package/dist/cjs/rental/reset.js.map +0 -1
- package/dist/cjs/types/payment-frequency.js +0 -87
- package/dist/cjs/types/payment-frequency.js.map +0 -1
- package/dist/cjs/types/srsly.js +0 -3
- package/dist/cjs/types/srsly.js.map +0 -1
- package/dist/cjs/utils/constants.js +0 -78
- package/dist/cjs/utils/constants.js.map +0 -1
- package/dist/cjs/utils/cron.js +0 -204
- package/dist/cjs/utils/cron.js.map +0 -1
- package/dist/cjs/utils/derive-pda.js +0 -415
- package/dist/cjs/utils/derive-pda.js.map +0 -1
- package/dist/cjs/utils/fetch-accounts.js +0 -241
- package/dist/cjs/utils/fetch-accounts.js.map +0 -1
- package/dist/cjs/utils/instruction-converter.js +0 -125
- package/dist/cjs/utils/instruction-converter.js.map +0 -1
- package/dist/cjs/utils/param-converters.js +0 -190
- package/dist/cjs/utils/param-converters.js.map +0 -1
- package/dist/cjs/utils/payment-frequency.js +0 -111
- package/dist/cjs/utils/payment-frequency.js.map +0 -1
- package/dist/cjs/utils/schedule-builder.js +0 -158
- package/dist/cjs/utils/schedule-builder.js.map +0 -1
- package/dist/cjs/utils/schedule-validation.js +0 -136
- package/dist/cjs/utils/schedule-validation.js.map +0 -1
- package/dist/cjs/utils/smart-params.js +0 -52
- package/dist/cjs/utils/smart-params.js.map +0 -1
- package/dist/esm/config/index.js +0 -7
- package/dist/esm/config/index.js.map +0 -1
- package/dist/esm/config/initialize.js +0 -92
- package/dist/esm/config/initialize.js.map +0 -1
- package/dist/esm/config/update.js +0 -159
- package/dist/esm/config/update.js.map +0 -1
- package/dist/esm/contract/close.js +0 -154
- package/dist/esm/contract/close.js.map +0 -1
- package/dist/esm/contract/create.js +0 -255
- package/dist/esm/contract/create.js.map +0 -1
- package/dist/esm/contract/index.js +0 -52
- package/dist/esm/contract/index.js.map +0 -1
- package/dist/esm/generated/codama/instructions/initializeConfig.js.map +0 -1
- package/dist/esm/generated/codama/instructions/resetRental.js.map +0 -1
- package/dist/esm/generated/codama/types/clockData.js +0 -53
- package/dist/esm/generated/codama/types/clockData.js.map +0 -1
- package/dist/esm/generated/codama/types/equality.js +0 -24
- package/dist/esm/generated/codama/types/equality.js.map +0 -1
- package/dist/esm/generated/codama/types/execContext.js +0 -63
- package/dist/esm/generated/codama/types/execContext.js.map +0 -1
- package/dist/esm/generated/codama/types/serializableAccount.js +0 -53
- package/dist/esm/generated/codama/types/serializableAccount.js.map +0 -1
- package/dist/esm/generated/codama/types/serializableInstruction.js +0 -54
- package/dist/esm/generated/codama/types/serializableInstruction.js.map +0 -1
- package/dist/esm/generated/codama/types/threadResponse.js +0 -63
- package/dist/esm/generated/codama/types/threadResponse.js.map +0 -1
- package/dist/esm/generated/codama/types/triggerContext.js +0 -42
- package/dist/esm/generated/codama/types/triggerContext.js.map +0 -1
- package/dist/esm/idl/index.js +0 -21
- package/dist/esm/idl/index.js.map +0 -1
- package/dist/esm/idl/srsly-data.js +0 -3137
- package/dist/esm/idl/srsly-data.js.map +0 -1
- package/dist/esm/idl/srsly.json +0 -3104
- package/dist/esm/rental/accept.js +0 -258
- package/dist/esm/rental/accept.js.map +0 -1
- package/dist/esm/rental/cancel.js +0 -179
- package/dist/esm/rental/cancel.js.map +0 -1
- package/dist/esm/rental/close.js +0 -179
- package/dist/esm/rental/close.js.map +0 -1
- package/dist/esm/rental/index.js +0 -89
- package/dist/esm/rental/index.js.map +0 -1
- package/dist/esm/rental/reset.js +0 -187
- package/dist/esm/rental/reset.js.map +0 -1
- package/dist/esm/types/payment-frequency.js +0 -83
- package/dist/esm/types/payment-frequency.js.map +0 -1
- package/dist/esm/types/srsly.js +0 -2
- package/dist/esm/types/srsly.js.map +0 -1
- package/dist/esm/utils/constants.js +0 -70
- package/dist/esm/utils/constants.js.map +0 -1
- package/dist/esm/utils/cron.js +0 -195
- package/dist/esm/utils/cron.js.map +0 -1
- package/dist/esm/utils/derive-pda.js +0 -402
- package/dist/esm/utils/derive-pda.js.map +0 -1
- package/dist/esm/utils/fetch-accounts.js +0 -233
- package/dist/esm/utils/fetch-accounts.js.map +0 -1
- package/dist/esm/utils/instruction-converter.js +0 -120
- package/dist/esm/utils/instruction-converter.js.map +0 -1
- package/dist/esm/utils/param-converters.js +0 -182
- package/dist/esm/utils/param-converters.js.map +0 -1
- package/dist/esm/utils/payment-frequency.js +0 -104
- package/dist/esm/utils/payment-frequency.js.map +0 -1
- package/dist/esm/utils/schedule-builder.js +0 -153
- package/dist/esm/utils/schedule-builder.js.map +0 -1
- package/dist/esm/utils/schedule-validation.js +0 -132
- package/dist/esm/utils/schedule-validation.js.map +0 -1
- package/dist/esm/utils/smart-params.js +0 -49
- package/dist/esm/utils/smart-params.js.map +0 -1
- package/dist/types/config/index.d.ts +0 -7
- package/dist/types/config/index.d.ts.map +0 -1
- package/dist/types/config/initialize.d.ts +0 -66
- package/dist/types/config/initialize.d.ts.map +0 -1
- package/dist/types/config/update.d.ts +0 -143
- package/dist/types/config/update.d.ts.map +0 -1
- package/dist/types/contract/close.d.ts +0 -124
- package/dist/types/contract/close.d.ts.map +0 -1
- package/dist/types/contract/create.d.ts +0 -150
- package/dist/types/contract/create.d.ts.map +0 -1
- package/dist/types/contract/index.d.ts +0 -52
- package/dist/types/contract/index.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/initializeConfig.d.ts +0 -60
- package/dist/types/generated/codama/instructions/initializeConfig.d.ts.map +0 -1
- package/dist/types/generated/codama/instructions/resetRental.d.ts +0 -79
- package/dist/types/generated/codama/instructions/resetRental.d.ts.map +0 -1
- package/dist/types/generated/codama/types/clockData.d.ts +0 -30
- package/dist/types/generated/codama/types/clockData.d.ts.map +0 -1
- package/dist/types/generated/codama/types/equality.d.ts +0 -18
- package/dist/types/generated/codama/types/equality.d.ts.map +0 -1
- package/dist/types/generated/codama/types/execContext.d.ts +0 -49
- package/dist/types/generated/codama/types/execContext.d.ts.map +0 -1
- package/dist/types/generated/codama/types/serializableAccount.d.ts +0 -23
- package/dist/types/generated/codama/types/serializableAccount.d.ts.map +0 -1
- package/dist/types/generated/codama/types/serializableInstruction.d.ts +0 -31
- package/dist/types/generated/codama/types/serializableInstruction.d.ts.map +0 -1
- package/dist/types/generated/codama/types/threadResponse.d.ts +0 -43
- package/dist/types/generated/codama/types/threadResponse.d.ts.map +0 -1
- package/dist/types/generated/codama/types/triggerContext.d.ts +0 -75
- package/dist/types/generated/codama/types/triggerContext.d.ts.map +0 -1
- package/dist/types/idl/index.d.ts +0 -21
- package/dist/types/idl/index.d.ts.map +0 -1
- package/dist/types/idl/srsly-data.d.ts +0 -1458
- package/dist/types/idl/srsly-data.d.ts.map +0 -1
- package/dist/types/rental/accept.d.ts +0 -196
- package/dist/types/rental/accept.d.ts.map +0 -1
- package/dist/types/rental/cancel.d.ts +0 -141
- package/dist/types/rental/cancel.d.ts.map +0 -1
- package/dist/types/rental/close.d.ts +0 -130
- package/dist/types/rental/close.d.ts.map +0 -1
- package/dist/types/rental/index.d.ts +0 -89
- package/dist/types/rental/index.d.ts.map +0 -1
- package/dist/types/rental/reset.d.ts +0 -166
- package/dist/types/rental/reset.d.ts.map +0 -1
- package/dist/types/types/payment-frequency.d.ts +0 -55
- package/dist/types/types/payment-frequency.d.ts.map +0 -1
- package/dist/types/types/srsly.d.ts +0 -3111
- package/dist/types/types/srsly.d.ts.map +0 -1
- package/dist/types/utils/constants.d.ts +0 -26
- package/dist/types/utils/constants.d.ts.map +0 -1
- package/dist/types/utils/cron.d.ts +0 -77
- package/dist/types/utils/cron.d.ts.map +0 -1
- package/dist/types/utils/derive-pda.d.ts +0 -213
- package/dist/types/utils/derive-pda.d.ts.map +0 -1
- package/dist/types/utils/fetch-accounts.d.ts +0 -158
- package/dist/types/utils/fetch-accounts.d.ts.map +0 -1
- package/dist/types/utils/instruction-converter.d.ts +0 -171
- package/dist/types/utils/instruction-converter.d.ts.map +0 -1
- package/dist/types/utils/param-converters.d.ts +0 -67
- package/dist/types/utils/param-converters.d.ts.map +0 -1
- package/dist/types/utils/payment-frequency.d.ts +0 -38
- package/dist/types/utils/payment-frequency.d.ts.map +0 -1
- package/dist/types/utils/schedule-builder.d.ts +0 -64
- package/dist/types/utils/schedule-builder.d.ts.map +0 -1
- package/dist/types/utils/schedule-validation.d.ts +0 -36
- package/dist/types/utils/schedule-validation.d.ts.map +0 -1
- package/dist/types/utils/smart-params.d.ts +0 -112
- package/dist/types/utils/smart-params.d.ts.map +0 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Constants used for PDA derivation across SRSLY, SAGE, and Thread programs
|
|
4
|
+
* @module pda/constants
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.THREAD_SEED = exports.CONFIG_SEED = exports.BORROWER_STATE_SEED = exports.RENTAL_AUTHORITY_SEED = exports.RENTAL_SEED = exports.CONTRACT_SEED = exports.PROFILE_FACTION_SEED = exports.SAGE_PLAYER_PROFILE_SEED = exports.STARBASE_PLAYER_SEED = exports.STARBASE_SEED = exports.FACTION_MAPPING = exports.FACTION_COORDINATES = void 0;
|
|
8
|
+
exports.isValidFactionName = isValidFactionName;
|
|
9
|
+
exports.getFactionName = getFactionName;
|
|
10
|
+
exports.getFactionCoordinates = getFactionCoordinates;
|
|
11
|
+
/**
|
|
12
|
+
* Faction-specific coordinates for starbase derivation in SAGE
|
|
13
|
+
* These coordinates are used to derive starbase PDAs
|
|
14
|
+
*/
|
|
15
|
+
exports.FACTION_COORDINATES = {
|
|
16
|
+
mud: { x: 0, y: -39 },
|
|
17
|
+
oni: { x: -40, y: 30 },
|
|
18
|
+
ustur: { x: 40, y: 30 },
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Mapping of numeric faction IDs to faction names
|
|
22
|
+
*/
|
|
23
|
+
exports.FACTION_MAPPING = {
|
|
24
|
+
1: 'mud',
|
|
25
|
+
2: 'oni',
|
|
26
|
+
3: 'ustur',
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Seed constants for SAGE program PDA derivation
|
|
30
|
+
*/
|
|
31
|
+
exports.STARBASE_SEED = 'Starbase';
|
|
32
|
+
exports.STARBASE_PLAYER_SEED = 'starbase_player';
|
|
33
|
+
exports.SAGE_PLAYER_PROFILE_SEED = 'sage_player_profile';
|
|
34
|
+
exports.PROFILE_FACTION_SEED = 'player_faction';
|
|
35
|
+
/**
|
|
36
|
+
* Seed constants for SRSLY program PDA derivation
|
|
37
|
+
*/
|
|
38
|
+
exports.CONTRACT_SEED = 'rental_contract';
|
|
39
|
+
exports.RENTAL_SEED = 'rental_state';
|
|
40
|
+
exports.RENTAL_AUTHORITY_SEED = 'rental_authority';
|
|
41
|
+
exports.BORROWER_STATE_SEED = 'borrower_state';
|
|
42
|
+
exports.CONFIG_SEED = 'config';
|
|
43
|
+
/**
|
|
44
|
+
* Seed constants for Thread program (Antegen) PDA derivation
|
|
45
|
+
*/
|
|
46
|
+
exports.THREAD_SEED = 'thread';
|
|
47
|
+
/**
|
|
48
|
+
* Type guard to check if a value is a valid faction name
|
|
49
|
+
*/
|
|
50
|
+
function isValidFactionName(faction) {
|
|
51
|
+
return faction === 'mud' || faction === 'oni' || faction === 'ustur';
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get faction name from numeric faction ID
|
|
55
|
+
*/
|
|
56
|
+
function getFactionName(factionId) {
|
|
57
|
+
const name = exports.FACTION_MAPPING[factionId];
|
|
58
|
+
if (!name) {
|
|
59
|
+
throw new Error(`Invalid faction ID: ${factionId}. Expected 1 (mud), 2 (oni), or 3 (ustur)`);
|
|
60
|
+
}
|
|
61
|
+
return name;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get faction coordinates by name
|
|
65
|
+
*/
|
|
66
|
+
function getFactionCoordinates(faction) {
|
|
67
|
+
const coords = exports.FACTION_COORDINATES[faction.toLowerCase()];
|
|
68
|
+
if (!coords) {
|
|
69
|
+
throw new Error(`Invalid faction: ${faction}. Expected 'mud', 'oni', or 'ustur'`);
|
|
70
|
+
}
|
|
71
|
+
return coords;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/pda/constants.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA8CH,gDAEC;AAKD,wCAMC;AAKD,sDAQC;AAtED;;;GAGG;AACU,QAAA,mBAAmB,GAA6C;IAC3E,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACrB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;IACtB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;CACxB,CAAC;AAEF;;GAEG;AACU,QAAA,eAAe,GAA2B;IACrD,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,OAAO;CACX,CAAC;AAEF;;GAEG;AACU,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AACzC,QAAA,wBAAwB,GAAG,qBAAqB,CAAC;AACjD,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AAErD;;GAEG;AACU,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAClC,QAAA,WAAW,GAAG,cAAc,CAAC;AAC7B,QAAA,qBAAqB,GAAG,kBAAkB,CAAC;AAC3C,QAAA,mBAAmB,GAAG,gBAAgB,CAAC;AACvC,QAAA,WAAW,GAAG,QAAQ,CAAC;AAEpC;;GAEG;AACU,QAAA,WAAW,GAAG,QAAQ,CAAC;AAEpC;;GAEG;AACH,SAAgB,kBAAkB,CAAC,OAAe;IAChD,OAAO,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,OAAO,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,SAAiB;IAC9C,MAAM,IAAI,GAAG,uBAAe,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,2CAA2C,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,MAAM,GAAG,2BAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,oBAAoB,OAAO,qCAAqC,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PDA (Program Derived Address) derivation utilities
|
|
4
|
+
*
|
|
5
|
+
* This module provides helper functions for deriving PDAs across multiple Solana programs:
|
|
6
|
+
* - SRSLY: Contract, rental, borrower state, and config PDAs
|
|
7
|
+
* - SAGE: Player profiles, starbase, and faction PDAs
|
|
8
|
+
* - Antegen: Thread PDAs for automated payments
|
|
9
|
+
* - Token: Associated Token Account (ATA) derivation
|
|
10
|
+
*
|
|
11
|
+
* @module pda
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { deriveContract, deriveGameAccounts, deriveRentalThread } from '@srsly/sdk/pda';
|
|
16
|
+
*
|
|
17
|
+
* // Derive SRSLY contract
|
|
18
|
+
* const contract = await deriveContract(fleetAddress);
|
|
19
|
+
*
|
|
20
|
+
* // Derive all SAGE accounts at once
|
|
21
|
+
* const { profileFaction, starbase, starbasePlayer } = await deriveGameAccounts(
|
|
22
|
+
* playerProfile,
|
|
23
|
+
* 'mud',
|
|
24
|
+
* gameId
|
|
25
|
+
* );
|
|
26
|
+
*
|
|
27
|
+
* // Derive thread for automated payments
|
|
28
|
+
* const thread = await deriveRentalThread(rentalState, rentalAuthority);
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
exports.deriveSlyvaultVault = exports.deriveAssociatedTokenAccount = exports.deriveRentalThread = exports.deriveGameAccounts = exports.deriveStarbasePlayer = exports.deriveStarbase = exports.deriveSagePlayerProfile = exports.deriveProfileFaction = exports.deriveConfig = exports.deriveBorrowerState = exports.deriveRentalAuthority = exports.deriveRental = exports.deriveContract = exports.getFactionCoordinates = exports.getFactionName = exports.isValidFactionName = exports.THREAD_SEED = exports.CONFIG_SEED = exports.BORROWER_STATE_SEED = exports.RENTAL_AUTHORITY_SEED = exports.RENTAL_SEED = exports.CONTRACT_SEED = exports.PROFILE_FACTION_SEED = exports.SAGE_PLAYER_PROFILE_SEED = exports.STARBASE_PLAYER_SEED = exports.STARBASE_SEED = exports.FACTION_MAPPING = exports.FACTION_COORDINATES = void 0;
|
|
33
|
+
// Export constants
|
|
34
|
+
var constants_1 = require("./constants");
|
|
35
|
+
Object.defineProperty(exports, "FACTION_COORDINATES", { enumerable: true, get: function () { return constants_1.FACTION_COORDINATES; } });
|
|
36
|
+
Object.defineProperty(exports, "FACTION_MAPPING", { enumerable: true, get: function () { return constants_1.FACTION_MAPPING; } });
|
|
37
|
+
Object.defineProperty(exports, "STARBASE_SEED", { enumerable: true, get: function () { return constants_1.STARBASE_SEED; } });
|
|
38
|
+
Object.defineProperty(exports, "STARBASE_PLAYER_SEED", { enumerable: true, get: function () { return constants_1.STARBASE_PLAYER_SEED; } });
|
|
39
|
+
Object.defineProperty(exports, "SAGE_PLAYER_PROFILE_SEED", { enumerable: true, get: function () { return constants_1.SAGE_PLAYER_PROFILE_SEED; } });
|
|
40
|
+
Object.defineProperty(exports, "PROFILE_FACTION_SEED", { enumerable: true, get: function () { return constants_1.PROFILE_FACTION_SEED; } });
|
|
41
|
+
Object.defineProperty(exports, "CONTRACT_SEED", { enumerable: true, get: function () { return constants_1.CONTRACT_SEED; } });
|
|
42
|
+
Object.defineProperty(exports, "RENTAL_SEED", { enumerable: true, get: function () { return constants_1.RENTAL_SEED; } });
|
|
43
|
+
Object.defineProperty(exports, "RENTAL_AUTHORITY_SEED", { enumerable: true, get: function () { return constants_1.RENTAL_AUTHORITY_SEED; } });
|
|
44
|
+
Object.defineProperty(exports, "BORROWER_STATE_SEED", { enumerable: true, get: function () { return constants_1.BORROWER_STATE_SEED; } });
|
|
45
|
+
Object.defineProperty(exports, "CONFIG_SEED", { enumerable: true, get: function () { return constants_1.CONFIG_SEED; } });
|
|
46
|
+
Object.defineProperty(exports, "THREAD_SEED", { enumerable: true, get: function () { return constants_1.THREAD_SEED; } });
|
|
47
|
+
Object.defineProperty(exports, "isValidFactionName", { enumerable: true, get: function () { return constants_1.isValidFactionName; } });
|
|
48
|
+
Object.defineProperty(exports, "getFactionName", { enumerable: true, get: function () { return constants_1.getFactionName; } });
|
|
49
|
+
Object.defineProperty(exports, "getFactionCoordinates", { enumerable: true, get: function () { return constants_1.getFactionCoordinates; } });
|
|
50
|
+
// Export SRSLY program PDAs
|
|
51
|
+
var srsly_1 = require("./srsly");
|
|
52
|
+
Object.defineProperty(exports, "deriveContract", { enumerable: true, get: function () { return srsly_1.deriveContract; } });
|
|
53
|
+
Object.defineProperty(exports, "deriveRental", { enumerable: true, get: function () { return srsly_1.deriveRental; } });
|
|
54
|
+
Object.defineProperty(exports, "deriveRentalAuthority", { enumerable: true, get: function () { return srsly_1.deriveRentalAuthority; } });
|
|
55
|
+
Object.defineProperty(exports, "deriveBorrowerState", { enumerable: true, get: function () { return srsly_1.deriveBorrowerState; } });
|
|
56
|
+
Object.defineProperty(exports, "deriveConfig", { enumerable: true, get: function () { return srsly_1.deriveConfig; } });
|
|
57
|
+
// Export SAGE program PDAs
|
|
58
|
+
var sage_1 = require("./sage");
|
|
59
|
+
Object.defineProperty(exports, "deriveProfileFaction", { enumerable: true, get: function () { return sage_1.deriveProfileFaction; } });
|
|
60
|
+
Object.defineProperty(exports, "deriveSagePlayerProfile", { enumerable: true, get: function () { return sage_1.deriveSagePlayerProfile; } });
|
|
61
|
+
Object.defineProperty(exports, "deriveStarbase", { enumerable: true, get: function () { return sage_1.deriveStarbase; } });
|
|
62
|
+
Object.defineProperty(exports, "deriveStarbasePlayer", { enumerable: true, get: function () { return sage_1.deriveStarbasePlayer; } });
|
|
63
|
+
Object.defineProperty(exports, "deriveGameAccounts", { enumerable: true, get: function () { return sage_1.deriveGameAccounts; } });
|
|
64
|
+
// Export Antegen thread PDAs
|
|
65
|
+
var thread_1 = require("./thread");
|
|
66
|
+
Object.defineProperty(exports, "deriveRentalThread", { enumerable: true, get: function () { return thread_1.deriveRentalThread; } });
|
|
67
|
+
// Export token account utilities
|
|
68
|
+
var token_1 = require("./token");
|
|
69
|
+
Object.defineProperty(exports, "deriveAssociatedTokenAccount", { enumerable: true, get: function () { return token_1.deriveAssociatedTokenAccount; } });
|
|
70
|
+
// Export Slyvault PDAs
|
|
71
|
+
var slyvault_1 = require("./slyvault");
|
|
72
|
+
Object.defineProperty(exports, "deriveSlyvaultVault", { enumerable: true, get: function () { return slyvault_1.deriveSlyvaultVault; } });
|
|
73
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pda/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;;AAEH,mBAAmB;AACnB,yCAgBqB;AAfnB,gHAAA,mBAAmB,OAAA;AACnB,4GAAA,eAAe,OAAA;AACf,0GAAA,aAAa,OAAA;AACb,iHAAA,oBAAoB,OAAA;AACpB,qHAAA,wBAAwB,OAAA;AACxB,iHAAA,oBAAoB,OAAA;AACpB,0GAAA,aAAa,OAAA;AACb,wGAAA,WAAW,OAAA;AACX,kHAAA,qBAAqB,OAAA;AACrB,gHAAA,mBAAmB,OAAA;AACnB,wGAAA,WAAW,OAAA;AACX,wGAAA,WAAW,OAAA;AACX,+GAAA,kBAAkB,OAAA;AAClB,2GAAA,cAAc,OAAA;AACd,kHAAA,qBAAqB,OAAA;AAGvB,4BAA4B;AAC5B,iCAMiB;AALf,uGAAA,cAAc,OAAA;AACd,qGAAA,YAAY,OAAA;AACZ,8GAAA,qBAAqB,OAAA;AACrB,4GAAA,mBAAmB,OAAA;AACnB,qGAAA,YAAY,OAAA;AAGd,2BAA2B;AAC3B,+BAMgB;AALd,4GAAA,oBAAoB,OAAA;AACpB,+GAAA,uBAAuB,OAAA;AACvB,sGAAA,cAAc,OAAA;AACd,4GAAA,oBAAoB,OAAA;AACpB,0GAAA,kBAAkB,OAAA;AAGpB,6BAA6B;AAC7B,mCAA8C;AAArC,4GAAA,kBAAkB,OAAA;AAE3B,iCAAiC;AACjC,iCAAuD;AAA9C,qHAAA,4BAA4B,OAAA;AAErC,uBAAuB;AACvB,uCAAiD;AAAxC,+GAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PDA derivation functions for SAGE and Profile Faction programs
|
|
4
|
+
* @module pda/sage
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.deriveProfileFaction = deriveProfileFaction;
|
|
8
|
+
exports.deriveSagePlayerProfile = deriveSagePlayerProfile;
|
|
9
|
+
exports.deriveStarbase = deriveStarbase;
|
|
10
|
+
exports.deriveStarbasePlayer = deriveStarbasePlayer;
|
|
11
|
+
exports.deriveGameAccounts = deriveGameAccounts;
|
|
12
|
+
const kit_1 = require("@solana/kit");
|
|
13
|
+
const config_1 = require("../utils/config");
|
|
14
|
+
const constants_1 = require("./constants");
|
|
15
|
+
/**
|
|
16
|
+
* Address encoder for PDA seeds
|
|
17
|
+
*/
|
|
18
|
+
const addressEncoder = (0, kit_1.getAddressEncoder)();
|
|
19
|
+
/**
|
|
20
|
+
* Text encoder for string seeds
|
|
21
|
+
*/
|
|
22
|
+
const textEncoder = new TextEncoder();
|
|
23
|
+
/**
|
|
24
|
+
* Derive the profile faction PDA from a profile address
|
|
25
|
+
* @param profile - The player profile public key
|
|
26
|
+
* @param programAddress - Optional Profile Faction program address (defaults to network-specific address)
|
|
27
|
+
* @returns The derived profile faction PDA
|
|
28
|
+
*/
|
|
29
|
+
async function deriveProfileFaction(profile, programAddress) {
|
|
30
|
+
const profileAddress = (0, kit_1.address)(typeof profile === 'string' ? profile : profile);
|
|
31
|
+
const program = programAddress
|
|
32
|
+
? (0, kit_1.address)(typeof programAddress === 'string' ? programAddress : programAddress)
|
|
33
|
+
: (0, kit_1.address)((0, config_1.getAddresses)().profileFaction);
|
|
34
|
+
// Encode seeds to bytes
|
|
35
|
+
const profileFactionSeedBytes = textEncoder.encode(constants_1.PROFILE_FACTION_SEED);
|
|
36
|
+
const profileBytes = addressEncoder.encode(profileAddress);
|
|
37
|
+
const [pda] = await (0, kit_1.getProgramDerivedAddress)({
|
|
38
|
+
programAddress: program,
|
|
39
|
+
seeds: [profileFactionSeedBytes, profileBytes],
|
|
40
|
+
});
|
|
41
|
+
return pda;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Derive the SAGE player profile PDA
|
|
45
|
+
* @param profile - The player profile public key
|
|
46
|
+
* @param gameId - The game ID public key
|
|
47
|
+
* @param programAddress - Optional SAGE program address (defaults to network-specific address)
|
|
48
|
+
* @returns The derived SAGE player profile PDA
|
|
49
|
+
*/
|
|
50
|
+
async function deriveSagePlayerProfile(profile, gameId, programAddress) {
|
|
51
|
+
const profileAddress = (0, kit_1.address)(typeof profile === 'string' ? profile : profile);
|
|
52
|
+
const gameIdAddress = (0, kit_1.address)(typeof gameId === 'string' ? gameId : gameId);
|
|
53
|
+
const program = programAddress
|
|
54
|
+
? (0, kit_1.address)(typeof programAddress === 'string' ? programAddress : programAddress)
|
|
55
|
+
: (0, kit_1.address)((0, config_1.getAddresses)().sage);
|
|
56
|
+
// Encode seeds to bytes
|
|
57
|
+
const sagePlayerProfileSeedBytes = textEncoder.encode(constants_1.SAGE_PLAYER_PROFILE_SEED);
|
|
58
|
+
const profileBytes = addressEncoder.encode(profileAddress);
|
|
59
|
+
const gameIdBytes = addressEncoder.encode(gameIdAddress);
|
|
60
|
+
const [pda] = await (0, kit_1.getProgramDerivedAddress)({
|
|
61
|
+
programAddress: program,
|
|
62
|
+
seeds: [sagePlayerProfileSeedBytes, profileBytes, gameIdBytes],
|
|
63
|
+
});
|
|
64
|
+
return pda;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Derive the starbase PDA from faction and game ID
|
|
68
|
+
* @param faction - Faction name ('mud', 'oni', 'ustur') or faction ID (1, 2, 3)
|
|
69
|
+
* @param gameId - The game ID public key
|
|
70
|
+
* @param programAddress - Optional SAGE program address (defaults to network-specific address)
|
|
71
|
+
* @returns The derived starbase PDA
|
|
72
|
+
*/
|
|
73
|
+
async function deriveStarbase(faction, gameId, programAddress) {
|
|
74
|
+
const factionName = typeof faction === 'number' ? (0, constants_1.getFactionName)(faction) : faction;
|
|
75
|
+
const coords = (0, constants_1.getFactionCoordinates)(factionName);
|
|
76
|
+
const gameIdAddress = (0, kit_1.address)(typeof gameId === 'string' ? gameId : gameId);
|
|
77
|
+
const program = programAddress
|
|
78
|
+
? (0, kit_1.address)(typeof programAddress === 'string' ? programAddress : programAddress)
|
|
79
|
+
: (0, kit_1.address)((0, config_1.getAddresses)().sage);
|
|
80
|
+
// Encode string and address seeds to bytes
|
|
81
|
+
const starbaseSeedBytes = textEncoder.encode(constants_1.STARBASE_SEED);
|
|
82
|
+
const gameIdBytes = addressEncoder.encode(gameIdAddress);
|
|
83
|
+
// Convert coordinates to little-endian bytes
|
|
84
|
+
const xBuffer = new ArrayBuffer(8);
|
|
85
|
+
const xView = new DataView(xBuffer);
|
|
86
|
+
xView.setBigInt64(0, BigInt(coords.x), true); // true = little endian
|
|
87
|
+
const yBuffer = new ArrayBuffer(8);
|
|
88
|
+
const yView = new DataView(yBuffer);
|
|
89
|
+
yView.setBigInt64(0, BigInt(coords.y), true); // true = little endian
|
|
90
|
+
const [pda] = await (0, kit_1.getProgramDerivedAddress)({
|
|
91
|
+
programAddress: program,
|
|
92
|
+
seeds: [
|
|
93
|
+
starbaseSeedBytes,
|
|
94
|
+
gameIdBytes,
|
|
95
|
+
new Uint8Array(xBuffer),
|
|
96
|
+
new Uint8Array(yBuffer),
|
|
97
|
+
],
|
|
98
|
+
});
|
|
99
|
+
return pda;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Derive the starbase player PDA
|
|
103
|
+
* @param sagePlayerProfile - The SAGE player profile public key
|
|
104
|
+
* @param starbase - The starbase public key
|
|
105
|
+
* @param starbaseSeqId - Optional starbase sequence ID (defaults to 0)
|
|
106
|
+
* @param programAddress - Optional SAGE program address (defaults to network-specific address)
|
|
107
|
+
* @returns The derived starbase player PDA
|
|
108
|
+
*/
|
|
109
|
+
async function deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId = 0, programAddress) {
|
|
110
|
+
const profileAddress = (0, kit_1.address)(typeof sagePlayerProfile === 'string' ? sagePlayerProfile : sagePlayerProfile);
|
|
111
|
+
const starbaseAddress = (0, kit_1.address)(typeof starbase === 'string' ? starbase : starbase);
|
|
112
|
+
const program = programAddress
|
|
113
|
+
? (0, kit_1.address)(typeof programAddress === 'string' ? programAddress : programAddress)
|
|
114
|
+
: (0, kit_1.address)((0, config_1.getAddresses)().sage);
|
|
115
|
+
// Encode string and address seeds to bytes
|
|
116
|
+
const starbasePlayerSeedBytes = textEncoder.encode(constants_1.STARBASE_PLAYER_SEED);
|
|
117
|
+
const profileBytes = addressEncoder.encode(profileAddress);
|
|
118
|
+
const starbaseBytes = addressEncoder.encode(starbaseAddress);
|
|
119
|
+
// Convert sequence ID to little-endian u16 bytes
|
|
120
|
+
const seqBuffer = new ArrayBuffer(2);
|
|
121
|
+
const seqView = new DataView(seqBuffer);
|
|
122
|
+
seqView.setUint16(0, starbaseSeqId, true); // true = little endian
|
|
123
|
+
const [pda] = await (0, kit_1.getProgramDerivedAddress)({
|
|
124
|
+
programAddress: program,
|
|
125
|
+
seeds: [
|
|
126
|
+
starbasePlayerSeedBytes,
|
|
127
|
+
profileBytes,
|
|
128
|
+
starbaseBytes,
|
|
129
|
+
new Uint8Array(seqBuffer),
|
|
130
|
+
],
|
|
131
|
+
});
|
|
132
|
+
return pda;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Derive all SAGE game accounts at once (convenience function)
|
|
136
|
+
*
|
|
137
|
+
* This is a helper that derives all three SAGE-related accounts needed for most operations:
|
|
138
|
+
* - Profile faction (from Profile Faction program)
|
|
139
|
+
* - SAGE player profile (from SAGE program)
|
|
140
|
+
* - Starbase (from SAGE program using faction coordinates)
|
|
141
|
+
* - Starbase player (from SAGE program)
|
|
142
|
+
*
|
|
143
|
+
* @param profile - The player profile public key
|
|
144
|
+
* @param faction - Faction name ('mud', 'oni', 'ustur') or faction ID (1, 2, 3)
|
|
145
|
+
* @param gameId - The game ID public key
|
|
146
|
+
* @param starbaseSeqId - Optional starbase sequence ID (defaults to 0)
|
|
147
|
+
* @returns Object containing all derived SAGE accounts
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* const accounts = await deriveGameAccounts(
|
|
152
|
+
* playerProfile,
|
|
153
|
+
* 'mud',
|
|
154
|
+
* gameId
|
|
155
|
+
* );
|
|
156
|
+
* // Returns: { profileFaction, sagePlayerProfile, starbase, starbasePlayer }
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
async function deriveGameAccounts(profile, faction, gameId, starbaseSeqId = 0) {
|
|
160
|
+
// Derive all accounts
|
|
161
|
+
const [profileFaction, sagePlayerProfile, starbase] = await Promise.all([
|
|
162
|
+
deriveProfileFaction(profile),
|
|
163
|
+
deriveSagePlayerProfile(profile, gameId),
|
|
164
|
+
deriveStarbase(faction, gameId),
|
|
165
|
+
]);
|
|
166
|
+
// Derive starbase player (depends on sagePlayerProfile and starbase)
|
|
167
|
+
const starbasePlayer = await deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId);
|
|
168
|
+
return {
|
|
169
|
+
profileFaction,
|
|
170
|
+
sagePlayerProfile,
|
|
171
|
+
starbase,
|
|
172
|
+
starbasePlayer,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=sage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sage.js","sourceRoot":"","sources":["../../../src/pda/sage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Slyvault PDA derivation utilities
|
|
4
|
+
* @module pda/slyvault
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.deriveSlyvaultVault = deriveSlyvaultVault;
|
|
8
|
+
const kit_1 = require("@solana/kit");
|
|
9
|
+
const token_1 = require("./token");
|
|
10
|
+
/**
|
|
11
|
+
* Slyvault program address
|
|
12
|
+
*/
|
|
13
|
+
const SLYVAULT_PROGRAM = 'VLTm3X1xUXhMYjjEgvwhb6p1ekBvrnYTdVcbHR9Vask';
|
|
14
|
+
/**
|
|
15
|
+
* Slyvault vault seed constant
|
|
16
|
+
*/
|
|
17
|
+
const VAULT_SEED = 'vault';
|
|
18
|
+
const addressEncoder = (0, kit_1.getAddressEncoder)();
|
|
19
|
+
const textEncoder = new TextEncoder();
|
|
20
|
+
/**
|
|
21
|
+
* Derive slyvault vault PDA and its associated token account
|
|
22
|
+
* Vault is created with a specific creator (typically the SRSLY program)
|
|
23
|
+
*
|
|
24
|
+
* @param creator - The creator address (typically SRSLY program)
|
|
25
|
+
* @param mint - The token mint address
|
|
26
|
+
* @param slyvaultProgramAddress - Optional slyvault program address (defaults to mainnet)
|
|
27
|
+
* @returns Object containing vault PDA and its token account
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* import { deriveSlyvaultVault } from './slyvault';
|
|
32
|
+
*
|
|
33
|
+
* const { vault, vaultTokenAccount } = await deriveSlyvaultVault(
|
|
34
|
+
* srslyProgramAddress,
|
|
35
|
+
* atlasMintAddress
|
|
36
|
+
* );
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
async function deriveSlyvaultVault(creator, mint, slyvaultProgramAddress) {
|
|
40
|
+
const creatorAddress = (0, kit_1.address)(creator);
|
|
41
|
+
const mintAddress = (0, kit_1.address)(mint);
|
|
42
|
+
const slyvaultProgram = slyvaultProgramAddress ? (0, kit_1.address)(slyvaultProgramAddress) : (0, kit_1.address)(SLYVAULT_PROGRAM);
|
|
43
|
+
// Encode all seeds to bytes (Uint8Array)
|
|
44
|
+
const vaultSeedBytes = textEncoder.encode(VAULT_SEED);
|
|
45
|
+
const creatorBytes = addressEncoder.encode(creatorAddress);
|
|
46
|
+
const mintBytes = addressEncoder.encode(mintAddress);
|
|
47
|
+
// Derive vault PDA: ["vault", creator, mint]
|
|
48
|
+
const [vault] = await (0, kit_1.getProgramDerivedAddress)({
|
|
49
|
+
programAddress: slyvaultProgram,
|
|
50
|
+
seeds: [vaultSeedBytes, creatorBytes, mintBytes],
|
|
51
|
+
});
|
|
52
|
+
// Derive vault's associated token account
|
|
53
|
+
const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vault, mintAddress);
|
|
54
|
+
return { vault, vaultTokenAccount };
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=slyvault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slyvault.js","sourceRoot":"","sources":["../../../src/pda/slyvault.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAqCH,kDAwBC;AA3DD,qCAA4F;AAC5F,mCAAuD;AAEvD;;GAEG;AACH,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAEvE;;GAEG;AACH,MAAM,UAAU,GAAG,OAAO,CAAC;AAE3B,MAAM,cAAc,GAAG,IAAA,uBAAiB,GAAE,CAAC;AAC3C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,mBAAmB,CACvC,OAAyB,EACzB,IAAsB,EACtB,sBAAyC;IAEzC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,OAAO,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,eAAe,GAAG,sBAAsB,CAAC,CAAC,CAAC,IAAA,aAAO,EAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAA,aAAO,EAAC,gBAAgB,CAAC,CAAC;IAE7G,yCAAyC;IACzC,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAErD,6CAA6C;IAC7C,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAA,8BAAwB,EAAC;QAC7C,cAAc,EAAE,eAAe;QAC/B,KAAK,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,SAAS,CAAC;KACjD,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,iBAAiB,GAAG,MAAM,IAAA,oCAA4B,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAEjF,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PDA derivation functions for the SRSLY program
|
|
4
|
+
* @module pda/srsly
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.deriveContract = deriveContract;
|
|
8
|
+
exports.deriveRental = deriveRental;
|
|
9
|
+
exports.deriveRentalAuthority = deriveRentalAuthority;
|
|
10
|
+
exports.deriveBorrowerState = deriveBorrowerState;
|
|
11
|
+
exports.deriveConfig = deriveConfig;
|
|
12
|
+
const kit_1 = require("@solana/kit");
|
|
13
|
+
const config_1 = require("../utils/config");
|
|
14
|
+
const constants_1 = require("./constants");
|
|
15
|
+
/**
|
|
16
|
+
* Address encoder for PDA seeds
|
|
17
|
+
*/
|
|
18
|
+
const addressEncoder = (0, kit_1.getAddressEncoder)();
|
|
19
|
+
/**
|
|
20
|
+
* Text encoder for string seeds
|
|
21
|
+
*/
|
|
22
|
+
const textEncoder = new TextEncoder();
|
|
23
|
+
/**
|
|
24
|
+
* Derive the contract PDA from a fleet address
|
|
25
|
+
* @param fleet - The fleet public key
|
|
26
|
+
* @param programAddress - Optional SRSLY program address (defaults to network-specific address)
|
|
27
|
+
* @returns The derived contract PDA
|
|
28
|
+
*/
|
|
29
|
+
async function deriveContract(fleet, programAddress) {
|
|
30
|
+
const fleetAddress = (0, kit_1.address)(typeof fleet === 'string' ? fleet : fleet);
|
|
31
|
+
const program = programAddress
|
|
32
|
+
? (0, kit_1.address)(typeof programAddress === 'string' ? programAddress : programAddress)
|
|
33
|
+
: (0, kit_1.address)((0, config_1.getAddresses)().srsly);
|
|
34
|
+
// Encode seeds to bytes
|
|
35
|
+
const contractSeedBytes = textEncoder.encode(constants_1.CONTRACT_SEED);
|
|
36
|
+
const fleetBytes = addressEncoder.encode(fleetAddress);
|
|
37
|
+
const [pda] = await (0, kit_1.getProgramDerivedAddress)({
|
|
38
|
+
programAddress: program,
|
|
39
|
+
seeds: [contractSeedBytes, fleetBytes],
|
|
40
|
+
});
|
|
41
|
+
return pda;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Derive the rental PDA from contract and borrower addresses
|
|
45
|
+
* @param contract - The contract public key
|
|
46
|
+
* @param borrower - The borrower public key
|
|
47
|
+
* @param programAddress - Optional SRSLY program address (defaults to network-specific address)
|
|
48
|
+
* @returns The derived rental PDA
|
|
49
|
+
*/
|
|
50
|
+
async function deriveRental(contract, borrower, programAddress) {
|
|
51
|
+
const contractAddress = (0, kit_1.address)(typeof contract === 'string' ? contract : contract);
|
|
52
|
+
const borrowerAddress = (0, kit_1.address)(typeof borrower === 'string' ? borrower : borrower);
|
|
53
|
+
const program = programAddress
|
|
54
|
+
? (0, kit_1.address)(typeof programAddress === 'string' ? programAddress : programAddress)
|
|
55
|
+
: (0, kit_1.address)((0, config_1.getAddresses)().srsly);
|
|
56
|
+
// Encode seeds to bytes
|
|
57
|
+
const rentalSeedBytes = textEncoder.encode(constants_1.RENTAL_SEED);
|
|
58
|
+
const contractBytes = addressEncoder.encode(contractAddress);
|
|
59
|
+
const borrowerBytes = addressEncoder.encode(borrowerAddress);
|
|
60
|
+
const [pda] = await (0, kit_1.getProgramDerivedAddress)({
|
|
61
|
+
programAddress: program,
|
|
62
|
+
seeds: [rentalSeedBytes, contractBytes, borrowerBytes],
|
|
63
|
+
});
|
|
64
|
+
return pda;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Derive the rental authority PDA
|
|
68
|
+
* @param programAddress - Optional SRSLY program address (defaults to network-specific address)
|
|
69
|
+
* @returns The derived rental authority PDA
|
|
70
|
+
*/
|
|
71
|
+
async function deriveRentalAuthority(programAddress) {
|
|
72
|
+
const program = programAddress
|
|
73
|
+
? (0, kit_1.address)(typeof programAddress === 'string' ? programAddress : programAddress)
|
|
74
|
+
: (0, kit_1.address)((0, config_1.getAddresses)().srsly);
|
|
75
|
+
// Encode seeds to bytes
|
|
76
|
+
const rentalAuthoritySeedBytes = textEncoder.encode(constants_1.RENTAL_AUTHORITY_SEED);
|
|
77
|
+
const [pda] = await (0, kit_1.getProgramDerivedAddress)({
|
|
78
|
+
programAddress: program,
|
|
79
|
+
seeds: [rentalAuthoritySeedBytes],
|
|
80
|
+
});
|
|
81
|
+
return pda;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Derive the borrower state PDA from a borrower address
|
|
85
|
+
* @param borrower - The borrower public key
|
|
86
|
+
* @param programAddress - Optional SRSLY program address (defaults to network-specific address)
|
|
87
|
+
* @returns The derived borrower state PDA
|
|
88
|
+
*/
|
|
89
|
+
async function deriveBorrowerState(borrower, programAddress) {
|
|
90
|
+
const borrowerAddress = (0, kit_1.address)(typeof borrower === 'string' ? borrower : borrower);
|
|
91
|
+
const program = programAddress
|
|
92
|
+
? (0, kit_1.address)(typeof programAddress === 'string' ? programAddress : programAddress)
|
|
93
|
+
: (0, kit_1.address)((0, config_1.getAddresses)().srsly);
|
|
94
|
+
// Encode seeds to bytes
|
|
95
|
+
const borrowerStateSeedBytes = textEncoder.encode(constants_1.BORROWER_STATE_SEED);
|
|
96
|
+
const borrowerBytes = addressEncoder.encode(borrowerAddress);
|
|
97
|
+
const [pda] = await (0, kit_1.getProgramDerivedAddress)({
|
|
98
|
+
programAddress: program,
|
|
99
|
+
seeds: [borrowerStateSeedBytes, borrowerBytes],
|
|
100
|
+
});
|
|
101
|
+
return pda;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Derive the config PDA
|
|
105
|
+
* @param programAddress - Optional SRSLY program address (defaults to network-specific address)
|
|
106
|
+
* @returns The derived config PDA
|
|
107
|
+
*/
|
|
108
|
+
async function deriveConfig(programAddress) {
|
|
109
|
+
const program = programAddress
|
|
110
|
+
? (0, kit_1.address)(typeof programAddress === 'string' ? programAddress : programAddress)
|
|
111
|
+
: (0, kit_1.address)((0, config_1.getAddresses)().srsly);
|
|
112
|
+
// Encode seeds to bytes
|
|
113
|
+
const configSeedBytes = textEncoder.encode(constants_1.CONFIG_SEED);
|
|
114
|
+
const [pda] = await (0, kit_1.getProgramDerivedAddress)({
|
|
115
|
+
programAddress: program,
|
|
116
|
+
seeds: [configSeedBytes],
|
|
117
|
+
});
|
|
118
|
+
return pda;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=srsly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"srsly.js","sourceRoot":"","sources":["../../../src/pda/srsly.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PDA derivation functions for the Antegen (Thread) program
|
|
4
|
+
* @module pda/thread
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.deriveRentalThread = deriveRentalThread;
|
|
8
|
+
const kit_1 = require("@solana/kit");
|
|
9
|
+
const constants_1 = require("./constants");
|
|
10
|
+
/**
|
|
11
|
+
* Default Antegen program address (same across all networks)
|
|
12
|
+
*/
|
|
13
|
+
const DEFAULT_ANTEGEN_PROGRAM = 'AgV3xRAdyTe1wW4gTW2oAnzHiAGofsxC7jBVGGkzUQbY';
|
|
14
|
+
/**
|
|
15
|
+
* Address encoder for PDA seeds
|
|
16
|
+
*/
|
|
17
|
+
const addressEncoder = (0, kit_1.getAddressEncoder)();
|
|
18
|
+
/**
|
|
19
|
+
* Text encoder for string seeds
|
|
20
|
+
*/
|
|
21
|
+
const textEncoder = new TextEncoder();
|
|
22
|
+
/**
|
|
23
|
+
* Derive the rental thread PDA
|
|
24
|
+
*
|
|
25
|
+
* The rental thread is used by the Antegen program for automated payment scheduling.
|
|
26
|
+
* Thread PDAs ALWAYS use seeds: [SEED_THREAD, authority, id]
|
|
27
|
+
*
|
|
28
|
+
* @param rental - The rental state PDA (used as the thread ID)
|
|
29
|
+
* @param authority - The rental authority PDA (REQUIRED - always part of seeds)
|
|
30
|
+
* @param programAddress - Optional Antegen program address (defaults to Antegen program)
|
|
31
|
+
* @returns The derived rental thread PDA
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* import { deriveRental, deriveRentalAuthority } from './srsly';
|
|
36
|
+
* import { deriveRentalThread } from './thread';
|
|
37
|
+
*
|
|
38
|
+
* // Derive rental and authority first
|
|
39
|
+
* const rental = await deriveRental(contract, borrower);
|
|
40
|
+
* const authority = await deriveRentalAuthority();
|
|
41
|
+
*
|
|
42
|
+
* // Then derive the thread (authority is required!)
|
|
43
|
+
* const thread = await deriveRentalThread(rental, authority);
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
async function deriveRentalThread(rental, authority, programAddress) {
|
|
47
|
+
const rentalAddress = (0, kit_1.address)(typeof rental === 'string' ? rental : rental);
|
|
48
|
+
const authorityAddr = (0, kit_1.address)(typeof authority === 'string' ? authority : authority);
|
|
49
|
+
const program = programAddress
|
|
50
|
+
? (0, kit_1.address)(typeof programAddress === 'string' ? programAddress : programAddress)
|
|
51
|
+
: (0, kit_1.address)(DEFAULT_ANTEGEN_PROGRAM);
|
|
52
|
+
// Encode seeds to bytes
|
|
53
|
+
// Antegen ALWAYS uses: [SEED_THREAD, authority, id]
|
|
54
|
+
const threadSeedBytes = textEncoder.encode(constants_1.THREAD_SEED);
|
|
55
|
+
const authorityBytes = addressEncoder.encode(authorityAddr);
|
|
56
|
+
const rentalBytes = addressEncoder.encode(rentalAddress);
|
|
57
|
+
const seeds = [threadSeedBytes, authorityBytes, rentalBytes];
|
|
58
|
+
const [pda] = await (0, kit_1.getProgramDerivedAddress)({
|
|
59
|
+
programAddress: program,
|
|
60
|
+
seeds,
|
|
61
|
+
});
|
|
62
|
+
return pda;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=thread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../src/pda/thread.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA4CH,gDAyBC;AAnED,qCAA4F;AAC5F,2CAA0C;AAE1C;;GAEG;AACH,MAAM,uBAAuB,GAAG,8CAA8C,CAAC;AAE/E;;GAEG;AACH,MAAM,cAAc,GAAG,IAAA,uBAAiB,GAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAwB,EACxB,SAA2B,EAC3B,cAAiC;IAEjC,MAAM,aAAa,GAAG,IAAA,aAAO,EAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,IAAA,aAAO,EAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,IAAA,aAAO,EAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/E,CAAC,CAAC,IAAA,aAAO,EAAC,uBAAkC,CAAC,CAAC;IAEhD,wBAAwB;IACxB,oDAAoD;IACpD,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,uBAAW,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAE7D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAA,8BAAwB,EAAC;QAC3C,cAAc,EAAE,OAAO;QACvB,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
|