@wuwei-labs/srsly 2.0.0-beta.4 → 2.0.0-beta.41
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 +354 -186
- package/dist/cjs/codama/accounts/config.js +86 -0
- package/dist/cjs/codama/accounts/config.js.map +1 -0
- package/dist/cjs/codama/{devnet/accounts → accounts}/contractState.js +2 -7
- package/dist/cjs/codama/accounts/contractState.js.map +1 -0
- package/dist/cjs/codama/{devnet/accounts → accounts}/index.js +1 -1
- package/dist/cjs/codama/accounts/index.js.map +1 -0
- package/dist/cjs/codama/accounts/rentalState.js.map +1 -0
- package/dist/cjs/codama/accounts/thread.js.map +1 -0
- package/dist/cjs/codama/errors/index.js.map +1 -0
- package/dist/cjs/codama/errors/srsly.js +113 -0
- package/dist/cjs/codama/errors/srsly.js.map +1 -0
- package/dist/cjs/codama/index.js.map +1 -0
- package/dist/cjs/codama/{mainnet/instructions → instructions}/acceptRental.js +12 -48
- package/dist/cjs/codama/instructions/acceptRental.js.map +1 -0
- package/dist/cjs/codama/{mainnet/instructions → instructions}/cancelRental.js +55 -13
- package/dist/cjs/codama/instructions/cancelRental.js.map +1 -0
- package/dist/cjs/codama/{mainnet/instructions/resetRental.js → instructions/closeContract.js} +29 -38
- package/dist/cjs/codama/instructions/closeContract.js.map +1 -0
- package/dist/cjs/codama/{devnet/instructions/acceptRental.js → instructions/closeRental.js} +105 -139
- package/dist/cjs/codama/instructions/closeRental.js.map +1 -0
- package/dist/cjs/codama/{mainnet/instructions → instructions}/createContract.js +13 -16
- package/dist/cjs/codama/instructions/createContract.js.map +1 -0
- package/dist/cjs/codama/{mainnet/instructions → instructions}/index.js +3 -1
- package/dist/cjs/codama/instructions/index.js.map +1 -0
- package/dist/cjs/codama/instructions/initializeConfig.js +131 -0
- package/dist/cjs/codama/instructions/initializeConfig.js.map +1 -0
- package/dist/cjs/codama/{mainnet/instructions → instructions}/payRental.js +15 -23
- package/dist/cjs/codama/instructions/payRental.js.map +1 -0
- package/dist/cjs/codama/instructions/resetContractTemp.js +146 -0
- package/dist/cjs/codama/instructions/resetContractTemp.js.map +1 -0
- package/dist/cjs/codama/{devnet/instructions → instructions}/resetRental.js +11 -10
- package/dist/cjs/codama/instructions/resetRental.js.map +1 -0
- package/dist/cjs/codama/instructions/updateConfig.js +143 -0
- package/dist/cjs/codama/instructions/updateConfig.js.map +1 -0
- package/dist/cjs/codama/programs/index.js.map +1 -0
- package/dist/cjs/codama/{mainnet/programs → programs}/srsly.js +17 -9
- package/dist/cjs/codama/programs/srsly.js.map +1 -0
- package/dist/cjs/codama/shared/index.js.map +1 -0
- package/dist/cjs/codama/types/clockData.js.map +1 -0
- package/dist/cjs/codama/types/equality.js.map +1 -0
- package/dist/cjs/codama/types/execContext.js.map +1 -0
- package/dist/cjs/codama/types/index.js.map +1 -0
- package/dist/cjs/codama/{devnet/types → types}/paymentFrequency.js +31 -0
- package/dist/cjs/codama/types/paymentFrequency.js.map +1 -0
- package/dist/cjs/codama/types/serializableAccount.js.map +1 -0
- package/dist/cjs/codama/types/serializableInstruction.js.map +1 -0
- package/dist/cjs/codama/types/threadResponse.js.map +1 -0
- package/dist/cjs/codama/types/trigger.js.map +1 -0
- package/dist/cjs/codama/types/triggerContext.js.map +1 -0
- package/dist/cjs/contract/close.js +136 -34
- package/dist/cjs/contract/close.js.map +1 -1
- package/dist/cjs/contract/create.js +145 -36
- package/dist/cjs/contract/create.js.map +1 -1
- package/dist/cjs/contract/index.js +45 -0
- package/dist/cjs/contract/index.js.map +1 -1
- package/dist/cjs/index.js +134 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +53 -0
- package/dist/cjs/rental/accept.js +196 -43
- package/dist/cjs/rental/accept.js.map +1 -1
- package/dist/cjs/rental/cancel.js +107 -28
- package/dist/cjs/rental/cancel.js.map +1 -1
- package/dist/cjs/rental/close.js +169 -31
- package/dist/cjs/rental/close.js.map +1 -1
- package/dist/cjs/rental/index.js +85 -0
- package/dist/cjs/rental/index.js.map +1 -1
- package/dist/cjs/rental/reset-contract-temp.js +103 -0
- package/dist/cjs/rental/reset-contract-temp.js.map +1 -0
- package/dist/cjs/rental/reset.js +134 -45
- package/dist/cjs/rental/reset.js.map +1 -1
- package/dist/cjs/types/paymentFrequency.js +58 -0
- package/dist/cjs/types/paymentFrequency.js.map +1 -0
- package/dist/cjs/utils/config.js +265 -0
- package/dist/cjs/utils/config.js.map +1 -0
- package/dist/cjs/utils/constants.js +70 -27
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/duration.js +77 -0
- package/dist/cjs/utils/duration.js.map +1 -0
- package/dist/cjs/utils/fetch-accounts.js +115 -0
- package/dist/cjs/utils/fetch-accounts.js.map +1 -0
- package/dist/cjs/utils/index.js +6 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/instruction-converter.js +121 -0
- package/dist/cjs/utils/instruction-converter.js.map +1 -0
- package/dist/cjs/utils/paymentFrequency.js +65 -0
- package/dist/cjs/utils/paymentFrequency.js.map +1 -0
- package/dist/cjs/utils/pda.js +191 -0
- package/dist/cjs/utils/pda.js.map +1 -0
- package/dist/cjs/utils/profiles.js +38 -18
- package/dist/cjs/utils/profiles.js.map +1 -1
- package/dist/cjs/utils/types.js +6 -0
- package/dist/cjs/utils/types.js.map +1 -0
- package/dist/esm/codama/accounts/config.js +74 -0
- package/dist/esm/codama/accounts/config.js.map +1 -0
- package/dist/esm/codama/{devnet/accounts → accounts}/contractState.js +3 -7
- package/dist/esm/codama/accounts/contractState.js.map +1 -0
- package/dist/esm/codama/{devnet/accounts → accounts}/index.js +1 -1
- package/dist/esm/codama/accounts/index.js.map +1 -0
- package/dist/esm/codama/accounts/rentalState.js.map +1 -0
- package/dist/esm/codama/accounts/thread.js.map +1 -0
- package/dist/esm/codama/errors/index.js.map +1 -0
- package/dist/esm/codama/{devnet/errors → errors}/srsly.js +44 -2
- package/dist/esm/codama/errors/srsly.js.map +1 -0
- package/dist/esm/codama/index.js.map +1 -0
- package/dist/esm/codama/{mainnet/instructions → instructions}/acceptRental.js +12 -48
- package/dist/esm/codama/instructions/acceptRental.js.map +1 -0
- package/dist/esm/codama/{mainnet/instructions → instructions}/cancelRental.js +55 -13
- package/dist/esm/codama/instructions/cancelRental.js.map +1 -0
- package/dist/esm/codama/{devnet/instructions/resetRental.js → instructions/closeContract.js} +21 -30
- package/dist/esm/codama/instructions/closeContract.js.map +1 -0
- package/dist/esm/codama/{devnet/instructions/acceptRental.js → instructions/closeRental.js} +98 -132
- package/dist/esm/codama/instructions/closeRental.js.map +1 -0
- package/dist/esm/codama/{devnet/instructions → instructions}/createContract.js +13 -16
- package/dist/esm/codama/instructions/createContract.js.map +1 -0
- package/dist/esm/codama/{mainnet/instructions → instructions}/index.js +3 -1
- package/dist/esm/codama/instructions/index.js.map +1 -0
- package/dist/esm/codama/instructions/initializeConfig.js +121 -0
- package/dist/esm/codama/instructions/initializeConfig.js.map +1 -0
- package/dist/esm/codama/{mainnet/instructions → instructions}/payRental.js +17 -25
- package/dist/esm/codama/instructions/payRental.js.map +1 -0
- package/dist/esm/codama/instructions/resetContractTemp.js +136 -0
- package/dist/esm/codama/instructions/resetContractTemp.js.map +1 -0
- package/dist/esm/codama/{mainnet/instructions → instructions}/resetRental.js +11 -10
- package/dist/esm/codama/instructions/resetRental.js.map +1 -0
- package/dist/esm/codama/instructions/updateConfig.js +133 -0
- package/dist/esm/codama/instructions/updateConfig.js.map +1 -0
- package/dist/esm/codama/programs/index.js.map +1 -0
- package/dist/esm/codama/{devnet/programs → programs}/srsly.js +17 -9
- package/dist/esm/codama/programs/srsly.js.map +1 -0
- package/dist/esm/codama/shared/index.js.map +1 -0
- package/dist/esm/codama/types/clockData.js.map +1 -0
- package/dist/esm/codama/types/equality.js.map +1 -0
- package/dist/esm/codama/types/execContext.js.map +1 -0
- package/dist/esm/codama/types/index.js.map +1 -0
- package/dist/esm/codama/types/paymentFrequency.js +59 -0
- package/dist/esm/codama/types/paymentFrequency.js.map +1 -0
- package/dist/esm/codama/types/serializableAccount.js.map +1 -0
- package/dist/esm/codama/types/serializableInstruction.js.map +1 -0
- package/dist/esm/codama/types/threadResponse.js.map +1 -0
- package/dist/esm/codama/types/trigger.js.map +1 -0
- package/dist/esm/codama/types/triggerContext.js.map +1 -0
- package/dist/esm/contract/close.js +137 -35
- package/dist/esm/contract/close.js.map +1 -1
- package/dist/esm/contract/create.js +145 -35
- package/dist/esm/contract/create.js.map +1 -1
- package/dist/esm/contract/index.js +45 -0
- package/dist/esm/contract/index.js.map +1 -1
- package/dist/esm/index.js +114 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +53 -0
- package/dist/esm/rental/accept.js +197 -44
- package/dist/esm/rental/accept.js.map +1 -1
- package/dist/esm/rental/cancel.js +107 -28
- package/dist/esm/rental/cancel.js.map +1 -1
- package/dist/esm/rental/close.js +169 -31
- package/dist/esm/rental/close.js.map +1 -1
- package/dist/esm/rental/index.js +85 -0
- package/dist/esm/rental/index.js.map +1 -1
- package/dist/esm/rental/reset-contract-temp.js +100 -0
- package/dist/esm/rental/reset-contract-temp.js.map +1 -0
- package/dist/esm/rental/reset.js +135 -46
- package/dist/esm/rental/reset.js.map +1 -1
- package/dist/esm/types/paymentFrequency.js +53 -0
- package/dist/esm/types/paymentFrequency.js.map +1 -0
- package/dist/esm/utils/config.js +222 -0
- package/dist/esm/utils/config.js.map +1 -0
- package/dist/esm/utils/constants.js +64 -24
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/duration.js +68 -0
- package/dist/esm/utils/duration.js.map +1 -0
- package/dist/esm/utils/fetch-accounts.js +109 -0
- package/dist/esm/utils/fetch-accounts.js.map +1 -0
- package/dist/esm/utils/index.js +6 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/instruction-converter.js +116 -0
- package/dist/esm/utils/instruction-converter.js.map +1 -0
- package/dist/esm/utils/paymentFrequency.js +60 -0
- package/dist/esm/utils/paymentFrequency.js.map +1 -0
- package/dist/esm/utils/pda.js +185 -0
- package/dist/esm/utils/pda.js.map +1 -0
- package/dist/esm/utils/profiles.js +39 -19
- package/dist/esm/utils/profiles.js.map +1 -1
- package/dist/esm/utils/types.js +5 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/types/codama/accounts/config.d.ts +74 -0
- package/dist/types/codama/accounts/config.d.ts.map +1 -0
- package/dist/types/codama/{devnet/accounts → accounts}/contractState.d.ts +28 -4
- package/dist/types/codama/accounts/contractState.d.ts.map +1 -0
- package/dist/types/codama/{devnet/accounts → accounts}/index.d.ts +1 -1
- package/dist/types/codama/accounts/index.d.ts.map +1 -0
- package/dist/types/codama/{mainnet/accounts → accounts}/rentalState.d.ts +20 -0
- package/dist/types/codama/accounts/rentalState.d.ts.map +1 -0
- package/dist/types/codama/accounts/thread.d.ts.map +1 -0
- package/dist/types/codama/errors/index.d.ts.map +1 -0
- package/dist/types/codama/errors/srsly.d.ts +76 -0
- package/dist/types/codama/errors/srsly.d.ts.map +1 -0
- package/dist/types/codama/index.d.ts.map +1 -0
- package/dist/types/codama/instructions/acceptRental.d.ts +128 -0
- package/dist/types/codama/instructions/acceptRental.d.ts.map +1 -0
- package/dist/types/codama/instructions/cancelRental.d.ts +87 -0
- package/dist/types/codama/instructions/cancelRental.d.ts.map +1 -0
- package/dist/types/codama/instructions/closeContract.d.ts +71 -0
- package/dist/types/codama/instructions/closeContract.d.ts.map +1 -0
- package/dist/types/codama/instructions/closeRental.d.ts +127 -0
- package/dist/types/codama/instructions/closeRental.d.ts.map +1 -0
- package/dist/types/codama/instructions/createContract.d.ts +112 -0
- package/dist/types/codama/instructions/createContract.d.ts.map +1 -0
- package/dist/types/codama/{devnet/instructions → instructions}/index.d.ts +3 -1
- package/dist/types/codama/instructions/index.d.ts.map +1 -0
- package/dist/types/codama/instructions/initializeConfig.d.ts +60 -0
- package/dist/types/codama/instructions/initializeConfig.d.ts.map +1 -0
- package/dist/types/codama/{devnet/instructions → instructions}/payRental.d.ts +21 -13
- package/dist/types/codama/instructions/payRental.d.ts.map +1 -0
- package/dist/types/codama/instructions/resetContractTemp.d.ts +71 -0
- package/dist/types/codama/instructions/resetContractTemp.d.ts.map +1 -0
- package/dist/types/codama/instructions/resetRental.d.ts +79 -0
- package/dist/types/codama/instructions/resetRental.d.ts.map +1 -0
- package/dist/types/codama/instructions/updateConfig.d.ts +109 -0
- package/dist/types/codama/instructions/updateConfig.d.ts.map +1 -0
- package/dist/types/codama/programs/index.d.ts.map +1 -0
- package/dist/types/codama/{mainnet/programs → programs}/srsly.d.ts +14 -8
- package/dist/types/codama/programs/srsly.d.ts.map +1 -0
- package/dist/types/codama/shared/index.d.ts.map +1 -0
- package/dist/types/codama/types/clockData.d.ts.map +1 -0
- package/dist/types/codama/types/equality.d.ts.map +1 -0
- package/dist/types/codama/types/execContext.d.ts.map +1 -0
- package/dist/types/codama/types/index.d.ts.map +1 -0
- package/dist/types/codama/types/paymentFrequency.d.ts +53 -0
- package/dist/types/codama/types/paymentFrequency.d.ts.map +1 -0
- package/dist/types/codama/types/serializableAccount.d.ts.map +1 -0
- package/dist/types/codama/types/serializableInstruction.d.ts.map +1 -0
- package/dist/types/codama/types/threadResponse.d.ts.map +1 -0
- package/dist/types/codama/types/trigger.d.ts.map +1 -0
- package/dist/types/codama/types/triggerContext.d.ts.map +1 -0
- package/dist/types/contract/close.d.ts +92 -20
- package/dist/types/contract/close.d.ts.map +1 -1
- package/dist/types/contract/create.d.ts +134 -39
- package/dist/types/contract/create.d.ts.map +1 -1
- package/dist/types/contract/index.d.ts +45 -0
- package/dist/types/contract/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +116 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/rental/accept.d.ts +144 -28
- package/dist/types/rental/accept.d.ts.map +1 -1
- package/dist/types/rental/cancel.d.ts +100 -9
- package/dist/types/rental/cancel.d.ts.map +1 -1
- package/dist/types/rental/close.d.ts +101 -14
- package/dist/types/rental/close.d.ts.map +1 -1
- package/dist/types/rental/index.d.ts +85 -0
- package/dist/types/rental/index.d.ts.map +1 -1
- package/dist/types/rental/reset-contract-temp.d.ts +77 -0
- package/dist/types/rental/reset-contract-temp.d.ts.map +1 -0
- package/dist/types/rental/reset.d.ts +135 -20
- package/dist/types/rental/reset.d.ts.map +1 -1
- package/dist/types/types/paymentFrequency.d.ts +44 -0
- package/dist/types/types/paymentFrequency.d.ts.map +1 -0
- package/dist/types/utils/config.d.ts +122 -0
- package/dist/types/utils/config.d.ts.map +1 -0
- package/dist/types/utils/constants.d.ts +14 -12
- package/dist/types/utils/constants.d.ts.map +1 -1
- package/dist/types/utils/duration.d.ts +56 -0
- package/dist/types/utils/duration.d.ts.map +1 -0
- package/dist/types/utils/fetch-accounts.d.ts +88 -0
- package/dist/types/utils/fetch-accounts.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +6 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/instruction-converter.d.ts +167 -0
- package/dist/types/utils/instruction-converter.d.ts.map +1 -0
- package/dist/types/utils/paymentFrequency.d.ts +18 -0
- package/dist/types/utils/paymentFrequency.d.ts.map +1 -0
- package/dist/types/utils/pda.d.ts +120 -0
- package/dist/types/utils/pda.d.ts.map +1 -0
- package/dist/types/utils/profiles.d.ts +14 -8
- package/dist/types/utils/profiles.d.ts.map +1 -1
- package/dist/types/utils/types.d.ts +6 -0
- package/dist/types/utils/types.d.ts.map +1 -0
- package/package.json +34 -27
- package/target/idl/{srsly-devnet.json → srsly.json} +1035 -736
- package/dist/cjs/codama/devnet/accounts/contractState.js.map +0 -1
- package/dist/cjs/codama/devnet/accounts/fleet.js +0 -77
- package/dist/cjs/codama/devnet/accounts/fleet.js.map +0 -1
- package/dist/cjs/codama/devnet/accounts/index.js.map +0 -1
- package/dist/cjs/codama/devnet/accounts/rentalState.js.map +0 -1
- package/dist/cjs/codama/devnet/accounts/thread.js.map +0 -1
- package/dist/cjs/codama/devnet/errors/index.js.map +0 -1
- package/dist/cjs/codama/devnet/errors/srsly.js +0 -71
- package/dist/cjs/codama/devnet/errors/srsly.js.map +0 -1
- package/dist/cjs/codama/devnet/index.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/acceptRental.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/cancelRental.js +0 -225
- package/dist/cjs/codama/devnet/instructions/cancelRental.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/closeContract.js +0 -219
- package/dist/cjs/codama/devnet/instructions/closeContract.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/closeRental.js +0 -233
- package/dist/cjs/codama/devnet/instructions/closeRental.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/createContract.js +0 -261
- package/dist/cjs/codama/devnet/instructions/createContract.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/index.js +0 -32
- package/dist/cjs/codama/devnet/instructions/index.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/normalizeAdmin.js +0 -152
- package/dist/cjs/codama/devnet/instructions/normalizeAdmin.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/payRental.js +0 -236
- package/dist/cjs/codama/devnet/instructions/payRental.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/resetRental.js.map +0 -1
- package/dist/cjs/codama/devnet/programs/index.js.map +0 -1
- package/dist/cjs/codama/devnet/programs/srsly.js +0 -77
- package/dist/cjs/codama/devnet/programs/srsly.js.map +0 -1
- package/dist/cjs/codama/devnet/shared/index.js.map +0 -1
- package/dist/cjs/codama/devnet/types/clockData.js.map +0 -1
- package/dist/cjs/codama/devnet/types/equality.js.map +0 -1
- package/dist/cjs/codama/devnet/types/execContext.js.map +0 -1
- package/dist/cjs/codama/devnet/types/index.js.map +0 -1
- package/dist/cjs/codama/devnet/types/paymentFrequency.js.map +0 -1
- package/dist/cjs/codama/devnet/types/serializableAccount.js.map +0 -1
- package/dist/cjs/codama/devnet/types/serializableInstruction.js.map +0 -1
- package/dist/cjs/codama/devnet/types/threadResponse.js.map +0 -1
- package/dist/cjs/codama/devnet/types/trigger.js.map +0 -1
- package/dist/cjs/codama/devnet/types/triggerContext.js.map +0 -1
- package/dist/cjs/codama/mainnet/accounts/contractState.js +0 -92
- package/dist/cjs/codama/mainnet/accounts/contractState.js.map +0 -1
- package/dist/cjs/codama/mainnet/accounts/fleet.js +0 -77
- package/dist/cjs/codama/mainnet/accounts/fleet.js.map +0 -1
- package/dist/cjs/codama/mainnet/accounts/index.js +0 -28
- package/dist/cjs/codama/mainnet/accounts/index.js.map +0 -1
- package/dist/cjs/codama/mainnet/accounts/rentalState.js +0 -85
- package/dist/cjs/codama/mainnet/accounts/rentalState.js.map +0 -1
- package/dist/cjs/codama/mainnet/accounts/thread.js +0 -89
- package/dist/cjs/codama/mainnet/accounts/thread.js.map +0 -1
- package/dist/cjs/codama/mainnet/errors/index.js +0 -25
- package/dist/cjs/codama/mainnet/errors/index.js.map +0 -1
- package/dist/cjs/codama/mainnet/errors/srsly.js +0 -71
- package/dist/cjs/codama/mainnet/errors/srsly.js.map +0 -1
- package/dist/cjs/codama/mainnet/index.js +0 -29
- package/dist/cjs/codama/mainnet/index.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/acceptRental.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/cancelRental.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/closeContract.js +0 -219
- package/dist/cjs/codama/mainnet/instructions/closeContract.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/closeRental.js +0 -233
- package/dist/cjs/codama/mainnet/instructions/closeRental.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/createContract.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/index.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/normalizeAdmin.js +0 -152
- package/dist/cjs/codama/mainnet/instructions/normalizeAdmin.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/payRental.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/resetRental.js.map +0 -1
- package/dist/cjs/codama/mainnet/programs/index.js +0 -25
- package/dist/cjs/codama/mainnet/programs/index.js.map +0 -1
- package/dist/cjs/codama/mainnet/programs/srsly.js.map +0 -1
- package/dist/cjs/codama/mainnet/shared/index.js +0 -95
- package/dist/cjs/codama/mainnet/shared/index.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/clockData.js +0 -31
- package/dist/cjs/codama/mainnet/types/clockData.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/equality.js +0 -30
- package/dist/cjs/codama/mainnet/types/equality.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/execContext.js +0 -38
- package/dist/cjs/codama/mainnet/types/execContext.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/index.js +0 -33
- package/dist/cjs/codama/mainnet/types/index.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/paymentFrequency.js +0 -32
- package/dist/cjs/codama/mainnet/types/paymentFrequency.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/serializableAccount.js +0 -31
- package/dist/cjs/codama/mainnet/types/serializableAccount.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/serializableInstruction.js +0 -32
- package/dist/cjs/codama/mainnet/types/serializableInstruction.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/threadResponse.js +0 -38
- package/dist/cjs/codama/mainnet/types/threadResponse.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/trigger.js +0 -90
- package/dist/cjs/codama/mainnet/types/trigger.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/triggerContext.js +0 -49
- package/dist/cjs/codama/mainnet/types/triggerContext.js.map +0 -1
- package/dist/cjs/network.js +0 -107
- package/dist/cjs/network.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/contractState.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/fleet.js +0 -64
- package/dist/esm/codama/devnet/accounts/fleet.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/index.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/rentalState.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/thread.js.map +0 -1
- package/dist/esm/codama/devnet/errors/index.js.map +0 -1
- package/dist/esm/codama/devnet/errors/srsly.js.map +0 -1
- package/dist/esm/codama/devnet/index.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/acceptRental.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/cancelRental.js +0 -215
- package/dist/esm/codama/devnet/instructions/cancelRental.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/closeContract.js +0 -209
- package/dist/esm/codama/devnet/instructions/closeContract.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/closeRental.js +0 -223
- package/dist/esm/codama/devnet/instructions/closeRental.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/createContract.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/index.js +0 -16
- package/dist/esm/codama/devnet/instructions/index.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/normalizeAdmin.js +0 -142
- package/dist/esm/codama/devnet/instructions/normalizeAdmin.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/payRental.js +0 -226
- package/dist/esm/codama/devnet/instructions/payRental.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/resetRental.js.map +0 -1
- package/dist/esm/codama/devnet/programs/index.js.map +0 -1
- package/dist/esm/codama/devnet/programs/srsly.js.map +0 -1
- package/dist/esm/codama/devnet/shared/index.js.map +0 -1
- package/dist/esm/codama/devnet/types/clockData.js.map +0 -1
- package/dist/esm/codama/devnet/types/equality.js.map +0 -1
- package/dist/esm/codama/devnet/types/execContext.js.map +0 -1
- package/dist/esm/codama/devnet/types/index.js.map +0 -1
- package/dist/esm/codama/devnet/types/paymentFrequency.js +0 -28
- package/dist/esm/codama/devnet/types/paymentFrequency.js.map +0 -1
- package/dist/esm/codama/devnet/types/serializableAccount.js.map +0 -1
- package/dist/esm/codama/devnet/types/serializableInstruction.js.map +0 -1
- package/dist/esm/codama/devnet/types/threadResponse.js.map +0 -1
- package/dist/esm/codama/devnet/types/trigger.js.map +0 -1
- package/dist/esm/codama/devnet/types/triggerContext.js.map +0 -1
- package/dist/esm/codama/mainnet/accounts/contractState.js +0 -79
- package/dist/esm/codama/mainnet/accounts/contractState.js.map +0 -1
- package/dist/esm/codama/mainnet/accounts/fleet.js +0 -64
- package/dist/esm/codama/mainnet/accounts/fleet.js.map +0 -1
- package/dist/esm/codama/mainnet/accounts/index.js +0 -12
- package/dist/esm/codama/mainnet/accounts/index.js.map +0 -1
- package/dist/esm/codama/mainnet/accounts/rentalState.js +0 -72
- package/dist/esm/codama/mainnet/accounts/rentalState.js.map +0 -1
- package/dist/esm/codama/mainnet/accounts/thread.js +0 -77
- package/dist/esm/codama/mainnet/accounts/thread.js.map +0 -1
- package/dist/esm/codama/mainnet/errors/index.js +0 -9
- package/dist/esm/codama/mainnet/errors/index.js.map +0 -1
- package/dist/esm/codama/mainnet/errors/srsly.js +0 -66
- package/dist/esm/codama/mainnet/errors/srsly.js.map +0 -1
- package/dist/esm/codama/mainnet/index.js +0 -13
- package/dist/esm/codama/mainnet/index.js.map +0 -1
- package/dist/esm/codama/mainnet/instructions/acceptRental.js.map +0 -1
- package/dist/esm/codama/mainnet/instructions/cancelRental.js.map +0 -1
- package/dist/esm/codama/mainnet/instructions/closeContract.js +0 -209
- package/dist/esm/codama/mainnet/instructions/closeContract.js.map +0 -1
- package/dist/esm/codama/mainnet/instructions/closeRental.js +0 -223
- package/dist/esm/codama/mainnet/instructions/closeRental.js.map +0 -1
- package/dist/esm/codama/mainnet/instructions/createContract.js +0 -251
- package/dist/esm/codama/mainnet/instructions/createContract.js.map +0 -1
- package/dist/esm/codama/mainnet/instructions/index.js.map +0 -1
- package/dist/esm/codama/mainnet/instructions/normalizeAdmin.js +0 -142
- package/dist/esm/codama/mainnet/instructions/normalizeAdmin.js.map +0 -1
- package/dist/esm/codama/mainnet/instructions/payRental.js.map +0 -1
- package/dist/esm/codama/mainnet/instructions/resetRental.js.map +0 -1
- package/dist/esm/codama/mainnet/programs/index.js +0 -9
- package/dist/esm/codama/mainnet/programs/index.js.map +0 -1
- package/dist/esm/codama/mainnet/programs/srsly.js +0 -72
- package/dist/esm/codama/mainnet/programs/srsly.js.map +0 -1
- package/dist/esm/codama/mainnet/shared/index.js +0 -87
- package/dist/esm/codama/mainnet/shared/index.js.map +0 -1
- package/dist/esm/codama/mainnet/types/clockData.js +0 -26
- package/dist/esm/codama/mainnet/types/clockData.js.map +0 -1
- package/dist/esm/codama/mainnet/types/equality.js +0 -24
- package/dist/esm/codama/mainnet/types/equality.js.map +0 -1
- package/dist/esm/codama/mainnet/types/execContext.js +0 -33
- package/dist/esm/codama/mainnet/types/execContext.js.map +0 -1
- package/dist/esm/codama/mainnet/types/index.js +0 -17
- package/dist/esm/codama/mainnet/types/index.js.map +0 -1
- package/dist/esm/codama/mainnet/types/paymentFrequency.js +0 -26
- package/dist/esm/codama/mainnet/types/paymentFrequency.js.map +0 -1
- package/dist/esm/codama/mainnet/types/serializableAccount.js +0 -26
- package/dist/esm/codama/mainnet/types/serializableAccount.js.map +0 -1
- package/dist/esm/codama/mainnet/types/serializableInstruction.js +0 -27
- package/dist/esm/codama/mainnet/types/serializableInstruction.js.map +0 -1
- package/dist/esm/codama/mainnet/types/threadResponse.js +0 -33
- package/dist/esm/codama/mainnet/types/threadResponse.js.map +0 -1
- package/dist/esm/codama/mainnet/types/trigger.js +0 -83
- package/dist/esm/codama/mainnet/types/trigger.js.map +0 -1
- package/dist/esm/codama/mainnet/types/triggerContext.js +0 -42
- package/dist/esm/codama/mainnet/types/triggerContext.js.map +0 -1
- package/dist/esm/network.js +0 -67
- package/dist/esm/network.js.map +0 -1
- package/dist/types/codama/devnet/accounts/contractState.d.ts.map +0 -1
- package/dist/types/codama/devnet/accounts/fleet.d.ts +0 -38
- package/dist/types/codama/devnet/accounts/fleet.d.ts.map +0 -1
- package/dist/types/codama/devnet/accounts/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/accounts/rentalState.d.ts +0 -46
- package/dist/types/codama/devnet/accounts/rentalState.d.ts.map +0 -1
- package/dist/types/codama/devnet/accounts/thread.d.ts.map +0 -1
- package/dist/types/codama/devnet/errors/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/errors/srsly.d.ts +0 -48
- package/dist/types/codama/devnet/errors/srsly.d.ts.map +0 -1
- package/dist/types/codama/devnet/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/acceptRental.d.ts +0 -128
- package/dist/types/codama/devnet/instructions/acceptRental.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/cancelRental.d.ts +0 -71
- package/dist/types/codama/devnet/instructions/cancelRental.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/closeContract.d.ts +0 -96
- package/dist/types/codama/devnet/instructions/closeContract.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/closeRental.d.ts +0 -79
- package/dist/types/codama/devnet/instructions/closeRental.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/createContract.d.ts +0 -108
- package/dist/types/codama/devnet/instructions/createContract.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/normalizeAdmin.d.ts +0 -67
- package/dist/types/codama/devnet/instructions/normalizeAdmin.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/payRental.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/resetRental.d.ts +0 -71
- package/dist/types/codama/devnet/instructions/resetRental.d.ts.map +0 -1
- package/dist/types/codama/devnet/programs/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/programs/srsly.d.ts +0 -50
- package/dist/types/codama/devnet/programs/srsly.d.ts.map +0 -1
- package/dist/types/codama/devnet/shared/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/clockData.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/equality.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/execContext.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/paymentFrequency.d.ts +0 -22
- package/dist/types/codama/devnet/types/paymentFrequency.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/serializableAccount.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/serializableInstruction.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/threadResponse.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/trigger.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/triggerContext.d.ts.map +0 -1
- package/dist/types/codama/mainnet/accounts/contractState.d.ts +0 -53
- package/dist/types/codama/mainnet/accounts/contractState.d.ts.map +0 -1
- package/dist/types/codama/mainnet/accounts/fleet.d.ts +0 -38
- package/dist/types/codama/mainnet/accounts/fleet.d.ts.map +0 -1
- package/dist/types/codama/mainnet/accounts/index.d.ts +0 -12
- package/dist/types/codama/mainnet/accounts/index.d.ts.map +0 -1
- package/dist/types/codama/mainnet/accounts/rentalState.d.ts.map +0 -1
- package/dist/types/codama/mainnet/accounts/thread.d.ts +0 -74
- package/dist/types/codama/mainnet/accounts/thread.d.ts.map +0 -1
- package/dist/types/codama/mainnet/errors/index.d.ts +0 -9
- package/dist/types/codama/mainnet/errors/index.d.ts.map +0 -1
- package/dist/types/codama/mainnet/errors/srsly.d.ts +0 -48
- package/dist/types/codama/mainnet/errors/srsly.d.ts.map +0 -1
- package/dist/types/codama/mainnet/index.d.ts +0 -13
- package/dist/types/codama/mainnet/index.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/acceptRental.d.ts +0 -128
- package/dist/types/codama/mainnet/instructions/acceptRental.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/cancelRental.d.ts +0 -71
- package/dist/types/codama/mainnet/instructions/cancelRental.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/closeContract.d.ts +0 -96
- package/dist/types/codama/mainnet/instructions/closeContract.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/closeRental.d.ts +0 -79
- package/dist/types/codama/mainnet/instructions/closeRental.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/createContract.d.ts +0 -108
- package/dist/types/codama/mainnet/instructions/createContract.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/index.d.ts +0 -16
- package/dist/types/codama/mainnet/instructions/index.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/normalizeAdmin.d.ts +0 -67
- package/dist/types/codama/mainnet/instructions/normalizeAdmin.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/payRental.d.ts +0 -99
- package/dist/types/codama/mainnet/instructions/payRental.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/resetRental.d.ts +0 -71
- package/dist/types/codama/mainnet/instructions/resetRental.d.ts.map +0 -1
- package/dist/types/codama/mainnet/programs/index.d.ts +0 -9
- package/dist/types/codama/mainnet/programs/index.d.ts.map +0 -1
- package/dist/types/codama/mainnet/programs/srsly.d.ts.map +0 -1
- package/dist/types/codama/mainnet/shared/index.d.ts +0 -50
- package/dist/types/codama/mainnet/shared/index.d.ts.map +0 -1
- package/dist/types/codama/mainnet/types/clockData.d.ts +0 -29
- package/dist/types/codama/mainnet/types/clockData.d.ts.map +0 -1
- package/dist/types/codama/mainnet/types/equality.d.ts +0 -18
- package/dist/types/codama/mainnet/types/equality.d.ts.map +0 -1
- package/dist/types/codama/mainnet/types/execContext.d.ts +0 -48
- package/dist/types/codama/mainnet/types/execContext.d.ts.map +0 -1
- package/dist/types/codama/mainnet/types/index.d.ts +0 -17
- package/dist/types/codama/mainnet/types/index.d.ts.map +0 -1
- package/dist/types/codama/mainnet/types/paymentFrequency.d.ts +0 -20
- package/dist/types/codama/mainnet/types/paymentFrequency.d.ts.map +0 -1
- package/dist/types/codama/mainnet/types/serializableAccount.d.ts +0 -22
- package/dist/types/codama/mainnet/types/serializableAccount.d.ts.map +0 -1
- package/dist/types/codama/mainnet/types/serializableInstruction.d.ts +0 -30
- package/dist/types/codama/mainnet/types/serializableInstruction.d.ts.map +0 -1
- package/dist/types/codama/mainnet/types/threadResponse.d.ts +0 -42
- package/dist/types/codama/mainnet/types/threadResponse.d.ts.map +0 -1
- package/dist/types/codama/mainnet/types/trigger.d.ts +0 -98
- package/dist/types/codama/mainnet/types/trigger.d.ts.map +0 -1
- package/dist/types/codama/mainnet/types/triggerContext.d.ts +0 -75
- package/dist/types/codama/mainnet/types/triggerContext.d.ts.map +0 -1
- package/dist/types/network.d.ts +0 -58
- package/dist/types/network.d.ts.map +0 -1
- package/target/idl/srsly-mainnet.json +0 -3011
- package/target/types/srsly-mainnet.ts +0 -1
- /package/dist/cjs/codama/{devnet/accounts → accounts}/rentalState.js +0 -0
- /package/dist/cjs/codama/{devnet/accounts → accounts}/thread.js +0 -0
- /package/dist/cjs/codama/{devnet/errors → errors}/index.js +0 -0
- /package/dist/cjs/codama/{devnet/index.js → index.js} +0 -0
- /package/dist/cjs/codama/{devnet/programs → programs}/index.js +0 -0
- /package/dist/cjs/codama/{devnet/shared → shared}/index.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/clockData.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/equality.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/execContext.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/index.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/serializableAccount.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/serializableInstruction.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/threadResponse.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/trigger.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/triggerContext.js +0 -0
- /package/dist/esm/codama/{devnet/accounts → accounts}/rentalState.js +0 -0
- /package/dist/esm/codama/{devnet/accounts → accounts}/thread.js +0 -0
- /package/dist/esm/codama/{devnet/errors → errors}/index.js +0 -0
- /package/dist/esm/codama/{devnet/index.js → index.js} +0 -0
- /package/dist/esm/codama/{devnet/programs → programs}/index.js +0 -0
- /package/dist/esm/codama/{devnet/shared → shared}/index.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/clockData.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/equality.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/execContext.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/index.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/serializableAccount.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/serializableInstruction.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/threadResponse.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/trigger.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/triggerContext.js +0 -0
- /package/dist/types/codama/{devnet/accounts → accounts}/thread.d.ts +0 -0
- /package/dist/types/codama/{devnet/errors → errors}/index.d.ts +0 -0
- /package/dist/types/codama/{devnet/index.d.ts → index.d.ts} +0 -0
- /package/dist/types/codama/{devnet/programs → programs}/index.d.ts +0 -0
- /package/dist/types/codama/{devnet/shared → shared}/index.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/clockData.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/equality.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/execContext.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/index.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/serializableAccount.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/serializableInstruction.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/threadResponse.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/trigger.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/triggerContext.d.ts +0 -0
- /package/target/types/{srsly-devnet.ts → srsly.ts} +0 -0
|
@@ -1,70 +1,165 @@
|
|
|
1
|
-
import { Address, TransactionSigner } from '@solana/kit';
|
|
2
|
-
import { type NetworkSelector } from '../network';
|
|
3
|
-
type CreateContractInstruction = any;
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
2
|
+
* # Contract Creation Module
|
|
3
|
+
*
|
|
4
|
+
* This module provides functionality for creating rental contracts on the SRSLY program.
|
|
5
|
+
* It offers a unified API that works with both @solana/kit and @solana/web3.js libraries,
|
|
6
|
+
* using strings for all addresses to eliminate library-specific type complexity.
|
|
7
|
+
*
|
|
8
|
+
* ## Features
|
|
9
|
+
*
|
|
10
|
+
* - **Universal Compatibility**: Works with both major Solana libraries
|
|
11
|
+
* - **Fluent API**: Chainable configuration and format conversion
|
|
12
|
+
* - **Validation**: Built-in parameter validation and duration alignment checking
|
|
13
|
+
* - **Network Agnostic**: Supports mainnet, devnet, and custom configurations
|
|
14
|
+
*
|
|
15
|
+
* @module Contract/Create
|
|
16
|
+
*/
|
|
17
|
+
import { PaymentFrequencyString } from '../types/paymentFrequency';
|
|
18
|
+
import { type FluentInstruction, type SmartFluentConfigSelector } from '../utils/instruction-converter';
|
|
19
|
+
type UniversalAddress = string;
|
|
20
|
+
type UniversalSigner = any;
|
|
21
|
+
/**
|
|
22
|
+
* Parameters for creating a rental contract.
|
|
23
|
+
*
|
|
24
|
+
* This interface defines all the required and optional parameters needed to create
|
|
25
|
+
* a new rental contract on the SRSLY program. All addresses are strings to ensure
|
|
26
|
+
* compatibility with both @solana/kit and @solana/web3.js libraries.
|
|
27
|
+
*
|
|
28
|
+
* @interface CreateContractParams
|
|
6
29
|
*/
|
|
7
30
|
export interface CreateContractParams {
|
|
8
31
|
/**
|
|
9
|
-
* The owner
|
|
32
|
+
* The fleet owner (can be a signer object or string address).
|
|
33
|
+
* This account will receive rental payments and has control over the contract.
|
|
10
34
|
*/
|
|
11
|
-
owner:
|
|
35
|
+
owner: UniversalSigner | UniversalAddress;
|
|
12
36
|
/**
|
|
13
|
-
*
|
|
37
|
+
* String address of the fleet to be rented out.
|
|
38
|
+
* Must be a valid fleet registered in the Star Atlas SAGE ecosystem.
|
|
14
39
|
*/
|
|
15
|
-
fleet:
|
|
40
|
+
fleet: UniversalAddress;
|
|
16
41
|
/**
|
|
17
|
-
*
|
|
42
|
+
* String address of the owner's profile in the Star Atlas game.
|
|
43
|
+
* Used for SAGE integration and fleet ownership validation.
|
|
18
44
|
*/
|
|
19
|
-
ownerProfile:
|
|
45
|
+
ownerProfile: UniversalAddress;
|
|
20
46
|
/**
|
|
21
|
-
*
|
|
47
|
+
* Rental rate per payment period in ATLAS tokens.
|
|
48
|
+
* This rate is multiplied by the payment frequency to determine total cost.
|
|
49
|
+
* @example 1000 // 1000 ATLAS per payment period
|
|
22
50
|
*/
|
|
23
|
-
rate: number
|
|
51
|
+
rate: number;
|
|
24
52
|
/**
|
|
25
|
-
*
|
|
53
|
+
* Minimum rental duration in seconds.
|
|
54
|
+
* Borrowers must rent for at least this duration.
|
|
55
|
+
* Must be a multiple of the payment frequency interval.
|
|
56
|
+
* If not provided, defaults to 1 payment frequency period.
|
|
57
|
+
* @example hours(10) // 10 hours minimum rental for hourly frequency
|
|
26
58
|
*/
|
|
27
|
-
durationMin
|
|
59
|
+
durationMin?: number;
|
|
28
60
|
/**
|
|
29
|
-
*
|
|
61
|
+
* Maximum rental duration in seconds.
|
|
62
|
+
* Borrowers cannot rent for longer than this duration.
|
|
63
|
+
* Must be a multiple of the payment frequency interval.
|
|
64
|
+
* @example days(30) // 30 days maximum rental
|
|
30
65
|
*/
|
|
31
|
-
durationMax: number
|
|
66
|
+
durationMax: number;
|
|
32
67
|
/**
|
|
33
|
-
*
|
|
68
|
+
* Payment frequency for automated payments.
|
|
69
|
+
* Determines how often rental payments are processed.
|
|
70
|
+
* @example 'daily' // Payments processed every 24 hours
|
|
34
71
|
*/
|
|
35
|
-
paymentsFreq:
|
|
72
|
+
paymentsFreq: PaymentFrequencyString;
|
|
36
73
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
74
|
+
* Optional index of the owner's key in the SAGE system.
|
|
75
|
+
* Used for fleet validation and ownership verification.
|
|
76
|
+
* @default 0
|
|
39
77
|
*/
|
|
40
78
|
ownerKeyIndex?: number;
|
|
41
|
-
/**
|
|
42
|
-
* The game ID account address
|
|
43
|
-
* Defaults to 'GAMEzqJehF8yAnKiTARUuhZMvLvkZVAsCVri5vSfemLr' if not provided
|
|
44
|
-
*/
|
|
45
|
-
gameId?: Address<string>;
|
|
46
79
|
}
|
|
47
80
|
/**
|
|
48
|
-
* Creates an instruction to create a rental contract with fluent
|
|
81
|
+
* Creates an instruction to create a rental contract with fluent configuration.
|
|
82
|
+
*
|
|
83
|
+
* This is the main function for creating rental contracts on the SRSLY program.
|
|
84
|
+
* It provides a unified API that works with both @solana/kit and @solana/web3.js
|
|
85
|
+
* libraries, using strings for all addresses to eliminate compatibility issues.
|
|
86
|
+
*
|
|
87
|
+
* ## Features
|
|
88
|
+
*
|
|
89
|
+
* - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
|
|
90
|
+
* - **Fluent Configuration**: Chain configuration options with `.set()`
|
|
91
|
+
* - **Format Conversion**: Convert between library formats with `.web3js()`
|
|
92
|
+
* - **Validation**: Built-in parameter validation and duration alignment
|
|
93
|
+
* - **Network Support**: Configurable for different Solana networks
|
|
94
|
+
*
|
|
95
|
+
* ## Validation
|
|
96
|
+
*
|
|
97
|
+
* The function automatically validates:
|
|
98
|
+
* - Payment frequency is supported
|
|
99
|
+
* - Duration alignment with payment frequency
|
|
100
|
+
* - Required parameters are provided
|
|
101
|
+
*
|
|
102
|
+
* ## Process
|
|
103
|
+
*
|
|
104
|
+
* 1. **Validate Parameters**: Checks payment frequency and duration alignment
|
|
105
|
+
* 2. **Resolve Addresses**: Gets network-specific program and mint addresses
|
|
106
|
+
* 3. **Generate Instruction**: Creates the contract creation instruction
|
|
107
|
+
* 4. **Return Fluent Object**: Allows for configuration and format conversion
|
|
49
108
|
*
|
|
50
109
|
* @example
|
|
51
110
|
* ```typescript
|
|
52
|
-
*
|
|
53
|
-
*
|
|
111
|
+
* import { createContract, days, hours } from '@srsly/sdk';
|
|
112
|
+
*
|
|
113
|
+
* // Basic usage - returns @solana/kit format by default
|
|
114
|
+
* const instruction = await createContract({
|
|
115
|
+
* owner: wallet, // Can be signer object or string
|
|
116
|
+
* fleet: "FleetAddress123...", // String address
|
|
117
|
+
* ownerProfile: "ProfileAddr...", // String address
|
|
118
|
+
* rate: 1000, // 1000 ATLAS per payment period
|
|
119
|
+
* durationMax: days(7), // 7 days maximum rental
|
|
120
|
+
* paymentsFreq: 'daily' // Daily payments
|
|
121
|
+
* });
|
|
54
122
|
*
|
|
55
|
-
* //
|
|
56
|
-
* const
|
|
57
|
-
*
|
|
58
|
-
*
|
|
123
|
+
* // With custom minimum duration
|
|
124
|
+
* const customMinInstruction = await createContract({
|
|
125
|
+
* owner: wallet,
|
|
126
|
+
* fleet: "FleetAddress123...",
|
|
127
|
+
* ownerProfile: "ProfileAddr...",
|
|
128
|
+
* rate: 100, // 100 ATLAS per hour
|
|
129
|
+
* durationMin: hours(10), // 10 hours minimum rental
|
|
130
|
+
* durationMax: hours(24), // 24 hours maximum rental
|
|
131
|
+
* paymentsFreq: 'hourly' // Hourly payments
|
|
132
|
+
* });
|
|
133
|
+
*
|
|
134
|
+
* // Convert to @solana/web3.js format
|
|
135
|
+
* const web3jsInstruction = await createContract({
|
|
136
|
+
* owner: wallet,
|
|
137
|
+
* fleet: "FleetAddress123...",
|
|
138
|
+
* ownerProfile: "ProfileAddr...",
|
|
139
|
+
* rate: 1000,
|
|
140
|
+
* durationMax: days(7),
|
|
141
|
+
* paymentsFreq: 'daily'
|
|
142
|
+
* }).web3js();
|
|
143
|
+
*
|
|
144
|
+
* // Configure network and convert format
|
|
145
|
+
* const mainnetInstruction = await createContract({
|
|
146
|
+
* owner: wallet,
|
|
147
|
+
* fleet: "FleetAddress123...",
|
|
148
|
+
* ownerProfile: "ProfileAddr...",
|
|
149
|
+
* rate: 1000,
|
|
150
|
+
* durationMax: days(7),
|
|
151
|
+
* paymentsFreq: 'daily'
|
|
152
|
+
* }).set({ programs: 'mainnet' }).web3js();
|
|
153
|
+
*
|
|
154
|
+
* // Use with your preferred Solana library
|
|
155
|
+
* const transaction = new Transaction().add(web3jsInstruction);
|
|
156
|
+
* await sendAndConfirmTransaction(connection, transaction, [wallet]);
|
|
59
157
|
* ```
|
|
60
158
|
*
|
|
61
|
-
* @param params The
|
|
62
|
-
* @returns A
|
|
63
|
-
|
|
64
|
-
export declare function createContract(params: CreateContractParams): NetworkSelector<CreateContractInstruction>;
|
|
65
|
-
/**
|
|
66
|
-
* Export network selector for getCreateContractInstructionAsync
|
|
159
|
+
* @param params - The contract creation parameters including owner, fleet, rate, and duration
|
|
160
|
+
* @returns A FluentConfigSelector that can be configured with .set() or awaited directly
|
|
161
|
+
* @throws Error when payment frequency is invalid or duration alignment fails
|
|
67
162
|
*/
|
|
68
|
-
export declare function
|
|
163
|
+
export declare function createContract(params: CreateContractParams): SmartFluentConfigSelector<FluentInstruction>;
|
|
69
164
|
export {};
|
|
70
165
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAE,sBAAsB,EAA2B,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAA4D,KAAK,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAGlK,KAAK,gBAAgB,GAAG,MAAM,CAAC;AAC/B,KAAK,eAAe,GAAG,GAAG,CAAC;AAE3B;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAAC;IAE1C;;;OAGG;IACH,KAAK,EAAE,gBAAgB,CAAC;IAExB;;;OAGG;IACH,YAAY,EAAE,gBAAgB,CAAC;IAE/B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,YAAY,EAAE,sBAAsB,CAAC;IAErC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA6ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,yBAAyB,CAAC,iBAAiB,CAAC,CAGzG"}
|
|
@@ -1,3 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # Contract Management Module
|
|
3
|
+
*
|
|
4
|
+
* This module provides comprehensive functionality for managing rental contracts
|
|
5
|
+
* on the SRSLY program. It includes functions for creating and closing contracts,
|
|
6
|
+
* with full support for both @solana/kit and @solana/web3.js libraries.
|
|
7
|
+
*
|
|
8
|
+
* ## Available Functions
|
|
9
|
+
*
|
|
10
|
+
* - **createContract**: Create a new rental contract for a fleet
|
|
11
|
+
* - **closeContract**: Permanently close an existing rental contract
|
|
12
|
+
*
|
|
13
|
+
* ## Features
|
|
14
|
+
*
|
|
15
|
+
* - **Universal Library Support**: Works with both major Solana libraries
|
|
16
|
+
* - **String-Based Addresses**: Eliminates library-specific type conflicts
|
|
17
|
+
* - **Fluent API**: Chainable configuration and format conversion
|
|
18
|
+
* - **Network Agnostic**: Supports different Solana networks
|
|
19
|
+
* - **Validation**: Built-in parameter validation and error checking
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* import { createContract, closeContract, days } from '@srsly/sdk';
|
|
24
|
+
*
|
|
25
|
+
* // Create a rental contract
|
|
26
|
+
* const createInstruction = await createContract({
|
|
27
|
+
* owner: wallet,
|
|
28
|
+
* fleet: "FleetAddress123...",
|
|
29
|
+
* ownerProfile: "ProfileAddr...",
|
|
30
|
+
* rate: 1000,
|
|
31
|
+
* durationMax: days(30),
|
|
32
|
+
* paymentsFreq: 'daily'
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* // Close the contract later
|
|
36
|
+
* const closeInstruction = await closeContract({
|
|
37
|
+
* owner: wallet,
|
|
38
|
+
* fleet: "FleetAddress123...",
|
|
39
|
+
* contract: "ContractAddr...",
|
|
40
|
+
* faction: 'mud'
|
|
41
|
+
* });
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @module Contract
|
|
45
|
+
*/
|
|
1
46
|
export * from "./close";
|
|
2
47
|
export * from "./create";
|
|
3
48
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contract/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,120 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* # SRSLY SDK - Solana Rental System Library
|
|
3
|
+
*
|
|
4
|
+
* A comprehensive TypeScript SDK for interacting with the SRSLY Solana program,
|
|
5
|
+
* which facilitates fleet rentals in the Star Atlas ecosystem. This SDK provides
|
|
6
|
+
* a fluent, developer-friendly interface that works with both @solana/kit and
|
|
7
|
+
* @solana/web3.js libraries.
|
|
8
|
+
*
|
|
9
|
+
* ## Features
|
|
10
|
+
*
|
|
11
|
+
* - **Universal Compatibility**: Works with both @solana/kit and @solana/web3.js
|
|
12
|
+
* - **Fluent API**: Chainable methods for intuitive development experience
|
|
13
|
+
* - **String-Based Addresses**: Uses strings for all addresses to eliminate library conflicts
|
|
14
|
+
* - **Network Agnostic**: Supports mainnet, devnet, and custom RPC endpoints
|
|
15
|
+
* - **Type Safety**: Full TypeScript support with comprehensive type definitions
|
|
16
|
+
* - **Auto-Generated Types**: Types generated from Solana program IDL for accuracy
|
|
17
|
+
*
|
|
18
|
+
* ## Quick Start
|
|
19
|
+
*
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { createContract, acceptRental, days } from '@srsly/sdk';
|
|
22
|
+
*
|
|
23
|
+
* // Create a rental contract
|
|
24
|
+
* const instruction = await createContract({
|
|
25
|
+
* owner: wallet,
|
|
26
|
+
* fleet: "FleetAddress123...",
|
|
27
|
+
* ownerProfile: "ProfileAddr...",
|
|
28
|
+
* rate: 1000,
|
|
29
|
+
* durationMax: days(7),
|
|
30
|
+
* paymentsFreq: 'daily'
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* // Accept a rental
|
|
34
|
+
* const rentalInstruction = await acceptRental({
|
|
35
|
+
* borrower: borrowerWallet,
|
|
36
|
+
* contract: contractAddress,
|
|
37
|
+
* amount: 7000,
|
|
38
|
+
* duration: days(7)
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* ## Architecture
|
|
43
|
+
*
|
|
44
|
+
* The SDK is organized into several main modules:
|
|
45
|
+
* - **Contract**: Functions for creating and managing rental contracts
|
|
46
|
+
* - **Rental**: Functions for rental operations (accept, cancel, close)
|
|
47
|
+
* - **Utils**: Helper functions for duration, payment frequency, and account management
|
|
48
|
+
* - **Types**: TypeScript type definitions and interfaces
|
|
49
|
+
*
|
|
50
|
+
* @packageDocumentation
|
|
51
|
+
*/
|
|
2
52
|
export * from "./contract";
|
|
3
53
|
export * from "./rental";
|
|
4
54
|
export * from "./utils";
|
|
5
|
-
export type {
|
|
55
|
+
export type { KitInstruction, FluentInstruction } from "./utils/instruction-converter";
|
|
56
|
+
export type { ContractState, RentalState, CreateContractInstruction, AcceptRentalInstruction, CancelRentalInstruction, CloseRentalInstruction, CloseContractInstruction, ResetRentalInstruction, ClockData, ThreadResponse } from "./codama";
|
|
57
|
+
/**
|
|
58
|
+
* Account fetch functions that work with any RPC endpoint.
|
|
59
|
+
*
|
|
60
|
+
* These functions accept RPC URL strings and return account data,
|
|
61
|
+
* making it easy to fetch program state from any network.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const contract = await fetchContractState(
|
|
66
|
+
* "https://api.mainnet-beta.solana.com",
|
|
67
|
+
* contractAddress
|
|
68
|
+
* );
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export { fetchContractState, fetchRentalState, fetchMultipleContractStates, fetchMultipleRentalStates } from "./utils/fetch-accounts";
|
|
72
|
+
/**
|
|
73
|
+
* Payment frequency enum generated from the Rust program.
|
|
74
|
+
*
|
|
75
|
+
* This enum mirrors the Rust PaymentFrequency type and provides
|
|
76
|
+
* type-safe payment frequency values for contract creation.
|
|
77
|
+
*/
|
|
78
|
+
export { PaymentFrequency } from "./codama/types/paymentFrequency";
|
|
79
|
+
/**
|
|
80
|
+
* Payment frequency types and validation utilities.
|
|
81
|
+
*
|
|
82
|
+
* These exports provide string-based payment frequency handling,
|
|
83
|
+
* validation functions, and mapping between different representations.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* if (isValidPaymentFrequency('daily')) {
|
|
88
|
+
* const frequency = getPaymentFrequencyFromString('daily');
|
|
89
|
+
* }
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export { PaymentFrequencyString, VALID_PAYMENT_FREQUENCIES, PAYMENT_FREQUENCY_MAP, PAYMENT_FREQUENCY_CONSTANTS, getPaymentFrequencyFromString, isValidPaymentFrequency } from "./types/paymentFrequency";
|
|
93
|
+
/**
|
|
94
|
+
* Payment frequency utilities that mirror the Rust program implementation.
|
|
95
|
+
*
|
|
96
|
+
* These functions provide conversion between payment frequencies and time durations,
|
|
97
|
+
* ensuring consistency with the on-chain program logic.
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const seconds = paymentFrequencyStringToSeconds('weekly');
|
|
102
|
+
* validateDurationAlignment(duration, 'daily');
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export { paymentFrequencyToSeconds, paymentFrequencyStringToSeconds, validateDurationAlignment } from "./utils/paymentFrequency";
|
|
106
|
+
/**
|
|
107
|
+
* Duration helper functions for convenient time unit conversion.
|
|
108
|
+
*
|
|
109
|
+
* These functions make it easy to specify durations in human-readable terms
|
|
110
|
+
* and convert them to the seconds required by the program.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const rentalDuration = days(7); // 7 days in seconds
|
|
115
|
+
* const paymentPeriod = hours(6); // 6 hours in seconds
|
|
116
|
+
* const longRental = duration(2, 'weeks'); // 2 weeks in seconds
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export { minutes, hours, days, weeks, months, duration } from "./utils/duration";
|
|
6
120
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAGH,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIvF,YAAY,EAEV,aAAa,EACb,WAAW,EAGX,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EAGtB,SAAS,EACT,cAAc,EACf,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACT,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,46 +1,162 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type
|
|
3
|
-
type
|
|
1
|
+
import { type ConfigSelector } from '../utils/config';
|
|
2
|
+
import { type FluentInstruction, type SmartFluentConfigSelector } from '../utils/instruction-converter';
|
|
3
|
+
type UniversalAddress = string;
|
|
4
|
+
type UniversalSigner = any;
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
+
* Parameters for accepting a rental contract.
|
|
7
|
+
*
|
|
8
|
+
* This interface defines the required parameters for a borrower to accept an existing
|
|
9
|
+
* rental contract. The SDK automatically fetches contract details and calculates the
|
|
10
|
+
* required payment amount based on the contract's rate and payment frequency.
|
|
11
|
+
*
|
|
12
|
+
* @interface AcceptRentalParams
|
|
6
13
|
*/
|
|
7
14
|
export interface AcceptRentalParams {
|
|
8
15
|
/**
|
|
9
|
-
* The borrower
|
|
16
|
+
* The borrower who will rent the fleet (must be a signer object).
|
|
17
|
+
* This account will control the fleet during the rental period and make payments.
|
|
10
18
|
*/
|
|
11
|
-
borrower:
|
|
19
|
+
borrower: UniversalSigner;
|
|
12
20
|
/**
|
|
13
|
-
*
|
|
21
|
+
* String address of the borrower's profile in the Star Atlas game.
|
|
22
|
+
* Used for SAGE integration to transfer fleet control to the borrower.
|
|
14
23
|
*/
|
|
15
|
-
borrowerProfile:
|
|
24
|
+
borrowerProfile: UniversalAddress;
|
|
16
25
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
26
|
+
* Faction identifier for the borrower in Star Atlas.
|
|
27
|
+
* Can be provided as a number (1 = MUD, 2 = ONI, 3 = Ustur) or string ('mud', 'oni', 'ustur').
|
|
28
|
+
* Used for deriving faction-specific game accounts required by SAGE.
|
|
29
|
+
* @example 'mud' // or 1
|
|
19
30
|
*/
|
|
20
31
|
borrowerFaction: number | string;
|
|
21
32
|
/**
|
|
22
|
-
*
|
|
33
|
+
* String address of the rental contract to accept.
|
|
34
|
+
* The SDK will automatically fetch the contract state to retrieve:
|
|
35
|
+
* - Fleet address and ownership details
|
|
36
|
+
* - Rental rate per payment period
|
|
37
|
+
* - Payment frequency (hourly, daily, weekly, monthly)
|
|
38
|
+
* - Duration constraints (minimum and maximum)
|
|
39
|
+
* - Owner information for payment routing
|
|
23
40
|
*/
|
|
24
|
-
|
|
41
|
+
contract: UniversalAddress;
|
|
25
42
|
/**
|
|
26
|
-
*
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
* The game ID account address
|
|
31
|
-
* Defaults to 'GAMEzqJehF8yAnKiTARUuhZMvLvkZVAsCVri5vSfemLr' if not provided
|
|
32
|
-
*/
|
|
33
|
-
gameId?: Address<string>;
|
|
34
|
-
/**
|
|
35
|
-
* The rental amount (in ATLAS tokens)
|
|
36
|
-
*/
|
|
37
|
-
amount: number | bigint;
|
|
38
|
-
/**
|
|
39
|
-
* The rental duration (in seconds)
|
|
43
|
+
* Rental duration in seconds.
|
|
44
|
+
* Must be within the contract's minimum and maximum duration limits.
|
|
45
|
+
* Must also be a multiple of the payment frequency interval.
|
|
46
|
+
* @example 604800 // 7 days in seconds
|
|
40
47
|
*/
|
|
41
48
|
duration: number | bigint;
|
|
42
49
|
}
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Creates an instruction to accept a rental contract with fluent configuration.
|
|
52
|
+
*
|
|
53
|
+
* This function allows a borrower to accept an existing rental contract, automatically
|
|
54
|
+
* calculating the required payment amount based on the contract's rate and payment frequency.
|
|
55
|
+
* The SDK fetches contract details, validates duration constraints, and derives all
|
|
56
|
+
* necessary accounts for the rental operation.
|
|
57
|
+
*
|
|
58
|
+
* ## Features
|
|
59
|
+
*
|
|
60
|
+
* - **Automatic Payment Calculation**: Fetches contract state and calculates exact payment amount
|
|
61
|
+
* - **Duration Validation**: Ensures rental duration meets contract constraints
|
|
62
|
+
* - **Account Derivation**: Automatically derives all required game accounts
|
|
63
|
+
* - **SAGE Integration**: Sets up fleet ownership transfer in the Star Atlas ecosystem
|
|
64
|
+
* - **Clockwork Integration**: Configures automated payment scheduling
|
|
65
|
+
* - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
|
|
66
|
+
*
|
|
67
|
+
* ## Process
|
|
68
|
+
*
|
|
69
|
+
* 1. **Fetch Contract**: Retrieves contract state from the blockchain
|
|
70
|
+
* 2. **Validate Duration**: Checks that rental duration meets contract constraints
|
|
71
|
+
* 3. **Calculate Payment**: Computes payment amount using contract rate and payment frequency
|
|
72
|
+
* 4. **Derive Accounts**: Generates required game accounts (starbase, faction, etc.)
|
|
73
|
+
* 5. **Create Instruction**: Builds the rental acceptance instruction
|
|
74
|
+
* 6. **Setup Threading**: Configures automated payment processing
|
|
75
|
+
*
|
|
76
|
+
* ## Payment Calculation
|
|
77
|
+
*
|
|
78
|
+
* The payment amount is calculated using the formula:
|
|
79
|
+
* ```text
|
|
80
|
+
* payment = rate × payment_periods × stardust_to_atlas_conversion
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* Where:
|
|
84
|
+
* - `rate`: Contract's rental rate per payment period
|
|
85
|
+
* - `payment_periods`: Duration divided by payment frequency interval
|
|
86
|
+
* - `stardust_to_atlas_conversion`: Network-specific conversion factor
|
|
87
|
+
*
|
|
88
|
+
* ## Requirements
|
|
89
|
+
*
|
|
90
|
+
* - Contract must exist and be active
|
|
91
|
+
* - Duration must be within contract's min/max limits
|
|
92
|
+
* - Duration must be multiple of payment frequency
|
|
93
|
+
* - Borrower must have sufficient ATLAS tokens for payment
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* import { acceptRental, days } from '@srsly/sdk';
|
|
98
|
+
*
|
|
99
|
+
* // Basic rental acceptance
|
|
100
|
+
* const instruction = await acceptRental({
|
|
101
|
+
* borrower: wallet, // Borrower's wallet
|
|
102
|
+
* borrowerProfile: "ProfileAddr...", // Borrower's Star Atlas profile
|
|
103
|
+
* borrowerFaction: 'mud', // Faction: 'mud', 'oni', or 'ustur'
|
|
104
|
+
* contract: "ContractAddr...", // Contract to accept
|
|
105
|
+
* duration: days(7) // 7 days rental duration
|
|
106
|
+
* });
|
|
107
|
+
*
|
|
108
|
+
* // Configure for mainnet
|
|
109
|
+
* const mainnetInstruction = await acceptRental({
|
|
110
|
+
* borrower: wallet,
|
|
111
|
+
* borrowerProfile: "ProfileAddr...",
|
|
112
|
+
* borrowerFaction: 1, // Can use numbers: 1=mud, 2=oni, 3=ustur
|
|
113
|
+
* contract: "ContractAddr...",
|
|
114
|
+
* duration: days(7)
|
|
115
|
+
* }).set({ programs: 'mainnet' });
|
|
116
|
+
*
|
|
117
|
+
* // Override specific game configuration
|
|
118
|
+
* const customInstruction = await acceptRental({
|
|
119
|
+
* borrower: wallet,
|
|
120
|
+
* borrowerProfile: "ProfileAddr...",
|
|
121
|
+
* borrowerFaction: 'mud',
|
|
122
|
+
* contract: "ContractAddr...",
|
|
123
|
+
* duration: days(7)
|
|
124
|
+
* }).set({
|
|
125
|
+
* programs: 'mainnet',
|
|
126
|
+
* gameId: 'custom-game-id...'
|
|
127
|
+
* });
|
|
128
|
+
*
|
|
129
|
+
* // Convert to @solana/web3.js format
|
|
130
|
+
* const web3jsInstruction = await acceptRental({
|
|
131
|
+
* borrower: wallet,
|
|
132
|
+
* borrowerProfile: "ProfileAddr...",
|
|
133
|
+
* borrowerFaction: 'mud',
|
|
134
|
+
* contract: "ContractAddr...",
|
|
135
|
+
* duration: days(7)
|
|
136
|
+
* }).web3js();
|
|
137
|
+
*
|
|
138
|
+
* // Use with your preferred Solana library
|
|
139
|
+
* const transaction = new Transaction().add(web3jsInstruction);
|
|
140
|
+
* await sendAndConfirmTransaction(connection, transaction, [wallet]);
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* @param params - The rental acceptance parameters including borrower, contract, and duration
|
|
144
|
+
* @returns A FluentConfigSelector that can be configured with .set() or awaited directly
|
|
145
|
+
* @throws Error when contract is not found, duration constraints are violated, or payment calculation fails
|
|
146
|
+
*/
|
|
147
|
+
export declare function acceptRental(params: AcceptRentalParams): SmartFluentConfigSelector<FluentInstruction>;
|
|
148
|
+
/**
|
|
149
|
+
* Low-level function to create a rental acceptance instruction with raw input parameters.
|
|
150
|
+
*
|
|
151
|
+
* This function provides direct access to the underlying codama-generated instruction
|
|
152
|
+
* builder. It's primarily used internally by the SDK but can be used for advanced
|
|
153
|
+
* use cases where full control over instruction parameters is needed.
|
|
154
|
+
*
|
|
155
|
+
* @internal
|
|
156
|
+
* @param input - Raw instruction input parameters as expected by codama
|
|
157
|
+
* @param options - Optional instruction options including program address
|
|
158
|
+
* @returns A ConfigSelector for the raw instruction
|
|
159
|
+
*/
|
|
160
|
+
export declare function getAcceptRentalInstructionAsync(input: any, options?: any): ConfigSelector<any>;
|
|
45
161
|
export {};
|
|
46
162
|
//# sourceMappingURL=accept.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuE,KAAK,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAG/I,OAAO,EAA4D,KAAK,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAOlK,KAAK,gBAAgB,GAAG,MAAM,CAAC;AAC/B,KAAK,eAAe,GAAG,GAAG,CAAC;AAG3B;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,EAAE,eAAe,CAAC;IAE1B;;;OAGG;IACH,eAAe,EAAE,gBAAgB,CAAC;IAElC;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjC;;;;;;;;OAQG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAuID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,GACzB,yBAAyB,CAAC,iBAAiB,CAAC,CAG9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAK9F"}
|