@wuwei-labs/srsly 2.0.0-beta.4 → 2.0.0-beta.42
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 +138 -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 +244 -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 +139 -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 +201 -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
package/README.md
CHANGED
|
@@ -4,295 +4,463 @@
|
|
|
4
4
|
[](https://www.typescriptlang.org/)
|
|
5
5
|
[](https://solana.com/)
|
|
6
6
|
|
|
7
|
-
A TypeScript SDK for
|
|
7
|
+
A TypeScript SDK for building Solana instructions to interact with the SRSLY (Space Rental from SLY) program - a decentralized rental system for Star Atlas fleets.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## What This SDK Does
|
|
10
|
+
|
|
11
|
+
The SRSLY SDK is a focused instruction builder that helps you create Solana instructions for fleet rentals. It provides:
|
|
12
|
+
|
|
13
|
+
- ✅ **Instruction Building** - Creates properly formatted Solana instructions using @solana/kit
|
|
14
|
+
- ✅ **Account derivation and validation** - Automatically derives required accounts
|
|
15
|
+
- ✅ **Instruction data encoding** - Handles all the complex encoding for you
|
|
16
|
+
- ✅ **Type-safe parameter handling** - Full TypeScript support with validation
|
|
17
|
+
- ✅ **Duration helper functions** - `days()`, `weeks()`, `months()` for time calculations
|
|
18
|
+
- ✅ **Default Star Atlas Programs** - Support for mainnet, atlasnet, and holosim
|
|
19
|
+
|
|
20
|
+
**Current Status**: Instruction-only SDK using @solana/kit. Users handle transaction assembly and sending.
|
|
10
21
|
|
|
11
|
-
|
|
22
|
+
## Installation
|
|
12
23
|
|
|
13
24
|
```bash
|
|
25
|
+
# Install the SDK (includes @solana/kit as a dependency)
|
|
14
26
|
npm install @wuwei-labs/srsly
|
|
15
27
|
```
|
|
16
28
|
|
|
17
|
-
|
|
29
|
+
The SDK uses @solana/kit internally and provides seamless conversion to @solana/web3.js format for browser wallet compatibility.
|
|
18
30
|
|
|
19
|
-
|
|
20
|
-
|
|
31
|
+
## Quick Start
|
|
32
|
+
|
|
33
|
+
### Using with @solana/kit (Default)
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
import { createContract, setConfig, days } from '@wuwei-labs/srsly';
|
|
37
|
+
|
|
38
|
+
// 1. Configure SDK for your network
|
|
39
|
+
setConfig({
|
|
40
|
+
programs: 'atlasnet' // or 'mainnet', 'holosim'
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// 2. Create an instruction (returns @solana/kit format by default)
|
|
44
|
+
const instruction = await createContract({
|
|
45
|
+
owner: signer, // Can be a signer object or string address
|
|
46
|
+
fleet: "FleetAddress123...", // String address
|
|
47
|
+
ownerProfile: "ProfileAddr...", // String address
|
|
48
|
+
rate: 1000000, // ATLAS tokens per payment period
|
|
49
|
+
durationMax: days(7), // 7 days using helper function
|
|
50
|
+
paymentsFreq: 'daily' // Payment frequency
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// 3. Add instruction to your transaction and send
|
|
54
|
+
// (Use your preferred transaction building and sending method)
|
|
21
55
|
```
|
|
22
56
|
|
|
23
|
-
###
|
|
57
|
+
### Using with @solana/web3.js (wallet-adapter)
|
|
24
58
|
|
|
25
|
-
```
|
|
26
|
-
|
|
59
|
+
```typescript
|
|
60
|
+
import { createContract, setConfig, days } from '@wuwei-labs/srsly';
|
|
61
|
+
import { Transaction, PublicKey } from '@solana/web3.js';
|
|
62
|
+
|
|
63
|
+
// 1. Configure SDK for your network
|
|
64
|
+
setConfig({ programs: 'atlasnet' });
|
|
65
|
+
|
|
66
|
+
// 2. Create and convert to web3.js format
|
|
67
|
+
const web3jsInstruction = await createContract({
|
|
68
|
+
owner: wallet.publicKey.toString(), // String address
|
|
69
|
+
fleet: "FleetAddress123...", // String address
|
|
70
|
+
ownerProfile: "ProfileAddr...", // String address
|
|
71
|
+
rate: 1000000,
|
|
72
|
+
durationMax: days(7),
|
|
73
|
+
paymentsFreq: 'daily'
|
|
74
|
+
}).web3js(PublicKey); // Convert to web3.js format with PublicKey instances
|
|
75
|
+
|
|
76
|
+
// 3. Add to transaction and send
|
|
77
|
+
const transaction = new Transaction().add(web3jsInstruction);
|
|
78
|
+
const signature = await wallet.sendTransaction(transaction, connection);
|
|
27
79
|
```
|
|
28
80
|
|
|
29
|
-
##
|
|
81
|
+
## Core Features
|
|
82
|
+
|
|
83
|
+
### Instruction Building & Format Conversion
|
|
84
|
+
|
|
85
|
+
The SDK creates @solana/kit compatible instructions with seamless web3.js conversion:
|
|
86
|
+
|
|
87
|
+
- **📦 Instruction-Only**: Focus on instruction building, users handle transaction assembly/sending
|
|
88
|
+
- **🔄 Format Conversion**: Built-in `.web3js(PublicKey)` method for wallet compatibility
|
|
89
|
+
- **🎯 String Addresses**: Simple string-based addressing for all inputs
|
|
90
|
+
- **⚡ Lightweight**: Uses @solana/kit internally with optional web3.js conversion
|
|
91
|
+
|
|
92
|
+
### Web3.js Format Conversion
|
|
93
|
+
|
|
94
|
+
The SDK accepts string addresses as input and provides seamless conversion to @solana/web3.js format for browser wallet compatibility:
|
|
30
95
|
|
|
31
96
|
```typescript
|
|
32
|
-
import {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
97
|
+
import { createContract } from '@wuwei-labs/srsly';
|
|
98
|
+
import { Transaction, PublicKey } from '@solana/web3.js';
|
|
99
|
+
|
|
100
|
+
// Web3.js format with PublicKey instances
|
|
101
|
+
const web3jsInstruction = await createContract({
|
|
102
|
+
owner: "OwnerAddress123...", // String address input
|
|
103
|
+
fleet: "FleetAddress123...", // String address input
|
|
104
|
+
ownerProfile: "ProfileAddr...", // String address input
|
|
105
|
+
rate: 1000000,
|
|
106
|
+
durationMax: days(7),
|
|
107
|
+
paymentsFreq: 'daily'
|
|
108
|
+
}).web3js(PublicKey);
|
|
109
|
+
|
|
110
|
+
// Chain configuration with conversion
|
|
111
|
+
const configuredInstruction = await createContract({
|
|
112
|
+
owner: "OwnerAddress123...",
|
|
113
|
+
fleet: "FleetAddress123...",
|
|
114
|
+
ownerProfile: "ProfileAddr...",
|
|
115
|
+
rate: 1000000,
|
|
116
|
+
durationMax: days(7),
|
|
117
|
+
paymentsFreq: 'daily'
|
|
118
|
+
}).set({ programs: 'mainnet' })
|
|
119
|
+
.web3js(PublicKey);
|
|
120
|
+
|
|
121
|
+
// Use in transactions
|
|
122
|
+
const transaction = new Transaction().add(web3jsInstruction);
|
|
123
|
+
```
|
|
37
124
|
|
|
38
|
-
|
|
39
|
-
setNetwork('mainnet');
|
|
125
|
+
**Key points:**
|
|
40
126
|
|
|
41
|
-
|
|
42
|
-
|
|
127
|
+
- SDK inputs are always **string addresses**
|
|
128
|
+
- `.web3js(PublicKey)` converts output to web3.js format with PublicKey instances
|
|
129
|
+
- Use when working with browser wallets (Phantom, Solflare, etc.)
|
|
130
|
+
|
|
131
|
+
### Duration Helper Functions
|
|
132
|
+
|
|
133
|
+
The SDK provides convenient helper functions for converting time units to seconds:
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
import { days, weeks, months, hours, minutes, duration } from '@wuwei-labs/srsly';
|
|
137
|
+
|
|
138
|
+
// Individual helper functions
|
|
139
|
+
const sevenDays = days(7); // 604800 seconds
|
|
140
|
+
const twoWeeks = weeks(2); // 1209600 seconds
|
|
141
|
+
const oneMonth = months(1); // 2678400 seconds (31 days)
|
|
142
|
+
const sixHours = hours(6); // 21600 seconds
|
|
143
|
+
const thirtyMinutes = minutes(30); // 1800 seconds
|
|
144
|
+
|
|
145
|
+
// Using in contract creation
|
|
146
|
+
const contract = await createContract({
|
|
43
147
|
owner: wallet,
|
|
44
148
|
fleet: fleetAddress,
|
|
45
149
|
ownerProfile: profileAddress,
|
|
46
|
-
rate: 1000000,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
paymentsFreq: 'daily',
|
|
50
|
-
ownerKeyIndex: 0
|
|
150
|
+
rate: 1000000,
|
|
151
|
+
durationMax: weeks(2), // 2 weeks maximum
|
|
152
|
+
paymentsFreq: 'daily'
|
|
51
153
|
});
|
|
52
154
|
|
|
53
|
-
//
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
155
|
+
// Alternative: use the duration object
|
|
156
|
+
const anotherContract = await createContract({
|
|
157
|
+
owner: wallet,
|
|
158
|
+
fleet: fleetAddress,
|
|
159
|
+
ownerProfile: profileAddress,
|
|
160
|
+
rate: 500000,
|
|
161
|
+
durationMax: duration.months(3), // 3 months maximum
|
|
162
|
+
paymentsFreq: 'weekly'
|
|
163
|
+
});
|
|
57
164
|
|
|
58
|
-
|
|
165
|
+
// You can still use raw seconds if preferred
|
|
166
|
+
const rawContract = await createContract({
|
|
167
|
+
owner: wallet,
|
|
168
|
+
fleet: fleetAddress,
|
|
169
|
+
ownerProfile: profileAddress,
|
|
170
|
+
rate: 750000,
|
|
171
|
+
durationMax: 86400, // Raw 86400 seconds (1 day)
|
|
172
|
+
paymentsFreq: 'daily'
|
|
173
|
+
});
|
|
174
|
+
```
|
|
59
175
|
|
|
60
176
|
### Contract Management
|
|
61
177
|
|
|
62
|
-
Create and manage rental contracts for Star Atlas:
|
|
63
|
-
|
|
64
178
|
```typescript
|
|
65
|
-
import { createContract, closeContract } from '@wuwei-labs/srsly';
|
|
179
|
+
import { createContract, closeContract, days, months } from '@wuwei-labs/srsly';
|
|
66
180
|
|
|
67
|
-
// Create
|
|
181
|
+
// Create rental contract instruction
|
|
68
182
|
const createIx = await createContract({
|
|
69
183
|
owner: wallet,
|
|
70
184
|
fleet: fleetAddress,
|
|
71
185
|
ownerProfile: profileAddress,
|
|
72
|
-
rate: 5000000,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
// Close an existing contract using global network setting (direct await)
|
|
186
|
+
rate: 5000000,
|
|
187
|
+
durationMax: months(1), // 30 days using helper function
|
|
188
|
+
paymentsFreq: 'daily'
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
// Close contract instruction
|
|
80
192
|
const closeIx = await closeContract({
|
|
81
193
|
owner: wallet,
|
|
82
194
|
fleet: fleetAddress,
|
|
83
195
|
contract: contractAddress,
|
|
84
|
-
faction: 'mud',
|
|
85
|
-
ownerProfile: profileAddress
|
|
196
|
+
faction: 'mud' // or 1, 2, 3
|
|
86
197
|
});
|
|
87
198
|
```
|
|
88
199
|
|
|
89
|
-
|
|
200
|
+
#### Important Contract Close Behavior
|
|
90
201
|
|
|
91
|
-
|
|
202
|
+
**Contract closure behavior depends on the rental state:**
|
|
92
203
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
resetRental
|
|
99
|
-
} from '@wuwei-labs/srsly';
|
|
204
|
+
- **No Active Rental**: If `current_rental_state` is not set (equals system program ID), the contract closes immediately
|
|
205
|
+
- **Active Rental**: If there's an active rental (`current_rental_state` is set), the contract is only flagged for closure (`to_close = true`)
|
|
206
|
+
- **Two-Step Closure Process**: When a contract has an active rental, you must:
|
|
207
|
+
1. Use `closeRental()` to close the rental (when expired)
|
|
208
|
+
2. Then use `closeContract()` to close the flagged contract
|
|
100
209
|
|
|
101
|
-
|
|
102
|
-
|
|
210
|
+
```typescript
|
|
211
|
+
// Step 1: Close the expired rental
|
|
212
|
+
const closeRentalIx = await closeRental({
|
|
103
213
|
borrower: borrowerWallet,
|
|
104
|
-
borrowerProfile: borrowerProfileAddress,
|
|
105
214
|
contract: contractAddress,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
215
|
+
rentalState: rentalStateAddress,
|
|
216
|
+
ownerTokenAccount: ownerTokenAccountAddress
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
// Step 2: Close the flagged contract (must be done by contract owner)
|
|
220
|
+
const closeContractIx = await closeContract({
|
|
221
|
+
owner: wallet,
|
|
222
|
+
fleet: fleetAddress,
|
|
223
|
+
contract: contractAddress,
|
|
224
|
+
faction: 'mud'
|
|
225
|
+
});
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**Thread-based Payment Processing**: The SRSLY program uses automated thread-based payment processing. In most cases, expired rentals are automatically closed by the system and contracts are closed if flagged. Manual intervention is only needed when the automated system doesn't process the closure successfully.
|
|
110
229
|
|
|
111
|
-
|
|
230
|
+
### Rental Operations
|
|
231
|
+
|
|
232
|
+
```typescript
|
|
233
|
+
import { acceptRental, cancelRental, closeRental, resetRental } from '@wuwei-labs/srsly';
|
|
234
|
+
import { Transaction, PublicKey } from '@solana/web3.js';
|
|
235
|
+
|
|
236
|
+
// Accept rental offer instruction (all addresses are strings)
|
|
237
|
+
const acceptIx = await acceptRental({
|
|
238
|
+
borrower: borrowerWallet, // signer object or string address
|
|
239
|
+
borrowerProfile: borrowerProfileAddress, // string address
|
|
240
|
+
borrowerFaction: 'mud', // or 1, 2, 3
|
|
241
|
+
fleet: fleetAddress, // string address
|
|
242
|
+
contract: contractAddress, // string address
|
|
243
|
+
rate: 100, // ATLAS per payment period (based on contract's payment frequency)
|
|
244
|
+
duration: 86400 // Duration in seconds (must be between contract's min/max)
|
|
245
|
+
});
|
|
246
|
+
|
|
247
|
+
// Cancel active rental instruction
|
|
112
248
|
const cancelIx = await cancelRental({
|
|
113
249
|
borrower: borrowerWallet,
|
|
114
|
-
|
|
250
|
+
contract: contractAddress,
|
|
251
|
+
rentalState: rentalStateAddress
|
|
115
252
|
});
|
|
116
253
|
|
|
117
|
-
// Close
|
|
254
|
+
// Close completed rental instruction
|
|
118
255
|
const closeIx = await closeRental({
|
|
119
256
|
borrower: borrowerWallet,
|
|
120
|
-
|
|
121
|
-
|
|
257
|
+
contract: contractAddress,
|
|
258
|
+
rentalState: rentalStateAddress,
|
|
259
|
+
ownerTokenAccount: ownerTokenAccountAddress
|
|
260
|
+
});
|
|
122
261
|
|
|
123
|
-
// Reset rental
|
|
262
|
+
// Reset rental instruction
|
|
124
263
|
const resetIx = await resetRental({
|
|
125
|
-
|
|
264
|
+
borrower: borrowerWallet,
|
|
126
265
|
contract: contractAddress,
|
|
127
|
-
rentalState: rentalStateAddress
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
266
|
+
rentalState: rentalStateAddress
|
|
267
|
+
});
|
|
268
|
+
|
|
269
|
+
// Convert any instruction to web3.js format for wallet compatibility
|
|
270
|
+
const web3jsAcceptIx = await acceptRental(params).web3js(PublicKey);
|
|
271
|
+
const web3jsCancelIx = await cancelRental(params).web3js(PublicKey);
|
|
272
|
+
|
|
273
|
+
// Use in web3.js transactions
|
|
274
|
+
const transaction = new Transaction()
|
|
275
|
+
.add(web3jsAcceptIx)
|
|
276
|
+
.add(web3jsCancelIx);
|
|
131
277
|
```
|
|
132
278
|
|
|
133
|
-
|
|
279
|
+
## Configuration
|
|
134
280
|
|
|
135
|
-
|
|
281
|
+
The SDK provides simple configuration for different networks:
|
|
136
282
|
|
|
137
283
|
```typescript
|
|
138
|
-
import {
|
|
139
|
-
|
|
140
|
-
// Set
|
|
141
|
-
|
|
284
|
+
import { setConfig, getConfig, clearConfig } from '@wuwei-labs/srsly';
|
|
285
|
+
|
|
286
|
+
// Set network configuration
|
|
287
|
+
setConfig({
|
|
288
|
+
programs: 'atlasnet', // 'mainnet' | 'atlasnet' | 'holosim'
|
|
289
|
+
srslyProgramAddress: 'custom-program-address...', // Optional override
|
|
290
|
+
profileFactionProgramAddress: 'custom-profile-program...', // Optional override
|
|
291
|
+
gameId: 'custom-game-id...', // Optional override
|
|
292
|
+
atlasMint: 'custom-atlas-mint...' // Optional override
|
|
293
|
+
});
|
|
142
294
|
|
|
143
|
-
//
|
|
144
|
-
|
|
145
|
-
|
|
295
|
+
// Simple network configurations
|
|
296
|
+
setConfig({ programs: 'mainnet' });
|
|
297
|
+
setConfig({ programs: 'atlasnet' });
|
|
298
|
+
setConfig({ programs: 'holosim' });
|
|
146
299
|
|
|
147
|
-
//
|
|
148
|
-
|
|
149
|
-
console.log('Contract rate:', contractState.rate.toString());
|
|
150
|
-
console.log('Duration range:', contractState.durationMin.toString(), '-', contractState.durationMax.toString());
|
|
300
|
+
// Check current configuration
|
|
301
|
+
console.log(getConfig());
|
|
151
302
|
|
|
152
|
-
//
|
|
153
|
-
|
|
154
|
-
console.log('Rental status:', rentalState.status);
|
|
155
|
-
console.log('Start time:', new Date(rentalState.startTime.toNumber() * 1000));
|
|
303
|
+
// Reset to defaults
|
|
304
|
+
clearConfig();
|
|
156
305
|
```
|
|
157
306
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
- **Program ID**: `SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT`
|
|
161
|
-
- **Network**: Solana Mainnet or Atlasnet
|
|
162
|
-
- **Built with**: Anchor Framework
|
|
307
|
+
### Configuration Options
|
|
163
308
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
## Error Handling
|
|
309
|
+
| Option | Type | Description | Default |
|
|
310
|
+
|--------|------|-------------|---------|
|
|
311
|
+
| `programs` | `'mainnet' \| 'atlasnet' \| 'holosim'` | Predefined program address set | `'atlasnet'` |
|
|
312
|
+
| `srslyProgramAddress` | `string` | SRSLY program address override | From program set |
|
|
313
|
+
| `profileFactionProgramAddress` | `string` | Profile Faction program override | From program set |
|
|
314
|
+
| `gameId` | `string` | SAGE game ID override | From program set |
|
|
315
|
+
| `atlasMint` | `string` | ATLAS token mint override | From program set |
|
|
173
316
|
|
|
174
|
-
|
|
317
|
+
## Duration and Payment Frequency
|
|
175
318
|
|
|
176
|
-
|
|
177
|
-
import { SrslyError } from '@wuwei-labs/srsly';
|
|
319
|
+
**Important**: All durations must be aligned with the payment frequency to ensure proper payment calculations.
|
|
178
320
|
|
|
179
|
-
|
|
180
|
-
const instruction = await createContract({...});
|
|
181
|
-
} catch (error) {
|
|
182
|
-
if (error instanceof SrslyError) {
|
|
183
|
-
console.error('SRSLY Error:', error.message);
|
|
184
|
-
console.error('Error code:', error.code);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
```
|
|
321
|
+
### Duration Rules
|
|
188
322
|
|
|
189
|
-
|
|
323
|
+
1. **Duration Units**: All durations are specified in seconds
|
|
324
|
+
2. **Alignment Requirement**: Durations must be multiples of the payment frequency interval
|
|
325
|
+
3. **Validation**: The SDK automatically validates duration alignment and throws an error if invalid
|
|
190
326
|
|
|
191
|
-
|
|
327
|
+
### Payment Frequency Intervals
|
|
192
328
|
|
|
193
|
-
|
|
329
|
+
| Frequency | Interval | Example Valid Durations |
|
|
330
|
+
|-----------|----------|------------------------|
|
|
331
|
+
| `hourly` | 3,600 seconds (1 hour) | 3,600 (1h), 7,200 (2h), 86,400 (24h) |
|
|
332
|
+
| `daily` | 86,400 seconds (1 day) | 86,400 (1d), 172,800 (2d), 604,800 (7d) |
|
|
333
|
+
| `weekly` | 604,800 seconds (1 week) | 604,800 (1w), 1,209,600 (2w), 2,419,200 (4w) |
|
|
334
|
+
| `monthly` | 2,678,400 seconds (31 days) | 2,678,400 (1m), 5,356,800 (2m) |
|
|
194
335
|
|
|
195
|
-
|
|
336
|
+
### Examples
|
|
196
337
|
|
|
197
338
|
```typescript
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
//
|
|
201
|
-
|
|
339
|
+
// ✅ Valid: 7 day max duration with daily payments
|
|
340
|
+
await createContract({
|
|
341
|
+
durationMax: 604800, // 7 days (604800 % 86400 = 0) ✓
|
|
342
|
+
paymentsFreq: 'daily' // Min duration automatically set to 1 day
|
|
343
|
+
});
|
|
202
344
|
|
|
203
|
-
//
|
|
204
|
-
|
|
345
|
+
// ❌ Invalid: 3.5 day max duration with daily payments
|
|
346
|
+
await createContract({
|
|
347
|
+
durationMax: 302400, // 3.5 days (302400 % 86400 = 43200) ✗
|
|
348
|
+
paymentsFreq: 'daily'
|
|
349
|
+
});
|
|
350
|
+
// Error: Duration (302400 seconds) must be a multiple of daily frequency (86400 seconds)
|
|
205
351
|
|
|
206
|
-
//
|
|
207
|
-
|
|
352
|
+
// ✅ Valid: Hourly payments with hour-aligned max duration
|
|
353
|
+
await createContract({
|
|
354
|
+
durationMax: 172800, // 48 hours (172800 % 3600 = 0) ✓
|
|
355
|
+
paymentsFreq: 'hourly' // Min duration automatically set to 1 hour
|
|
356
|
+
});
|
|
208
357
|
```
|
|
209
358
|
|
|
210
|
-
###
|
|
359
|
+
### Rate Calculation
|
|
211
360
|
|
|
212
|
-
|
|
361
|
+
The `rate` parameter in contracts represents ATLAS tokens per payment period:
|
|
362
|
+
- For `daily` frequency: rate is ATLAS per day
|
|
363
|
+
- For `weekly` frequency: rate is ATLAS per week
|
|
364
|
+
- For `hourly` frequency: rate is ATLAS per hour
|
|
213
365
|
|
|
214
|
-
|
|
215
|
-
import { createContract } from '@wuwei-labs/srsly';
|
|
366
|
+
## Payment System
|
|
216
367
|
|
|
217
|
-
|
|
218
|
-
const mainnetIx = await createContract(params).mainnet();
|
|
368
|
+
SRSLY implements an escrow-based payment system:
|
|
219
369
|
|
|
220
|
-
|
|
221
|
-
|
|
370
|
+
1. **Escrow**: Borrower deposits full rental amount upfront
|
|
371
|
+
2. **Periodic Payments**: Automated payments based on frequency (daily/weekly/monthly)
|
|
372
|
+
3. **Fees**: 10% platform fee, optional 10% referral sharing
|
|
373
|
+
4. **Refunds**: Pro-rata refunds for early cancellation (24-hour minimum)
|
|
222
374
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const
|
|
375
|
+
```typescript
|
|
376
|
+
// Payment calculation example
|
|
377
|
+
const rate = 1000; // ATLAS per payment period
|
|
378
|
+
const paymentFrequency = 'daily'; // Payment every 86400 seconds
|
|
379
|
+
const duration = days(7); // 7 days using helper function
|
|
380
|
+
const paymentPeriods = duration / days(1); // 7 periods
|
|
381
|
+
const totalAmount = rate * paymentPeriods * ATLAS_TO_STARDUST; // Total in stardust
|
|
228
382
|
```
|
|
229
383
|
|
|
230
|
-
|
|
384
|
+
## Program Sets Reference
|
|
231
385
|
|
|
232
|
-
|
|
386
|
+
The SDK includes predefined program address sets for different networks:
|
|
233
387
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
388
|
+
| Network | SAGE Program | Game ID | ATLAS Mint |
|
|
389
|
+
|---------|--------------|---------|------------|
|
|
390
|
+
| `mainnet` | `SAGE2HAwep459SNq61LHvjxPk4pLPEJLoMETef7f7EE` | `GAMEzqJehF8yAnKiTARUuhZMvLvkZVAsCVri5vSfemLr` | `ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx` |
|
|
391
|
+
| `atlasnet` | `SAgeTraQfBMdvGVDJYoEvjnbq5szW7RJPi6obDTDQUF` | `GAMEC7U7cqmFFaRow33j1LwuV8u4YhAS1mJ5Dqjnar2k` | `ATLA5nAaVRfH6BNwD4SAyWp96EdQaAh6bBmGeTx956sx` |
|
|
392
|
+
| `holosim` | `SAgeTraQfBMdvGVDJYoEvjnbq5szW7RJPi6obDTDQUF` | `GAMEC7U7cqmFFaRow33j1LwuV8u4YhAS1mJ5Dqjnar2k` | `ATLA5nAaVRfH6BNwD4SAyWp96EdQaAh6bBmGeTx956sx` |
|
|
239
393
|
|
|
240
|
-
|
|
241
|
-
- `.mainnet()` - Build with mainnet configuration
|
|
242
|
-
- `.devnet()` - Build with devnet configuration
|
|
243
|
-
- `.network(network)` - Build with specified network
|
|
244
|
-
- `.build()` - Build with current global network setting (explicit)
|
|
394
|
+
## Types and Constants
|
|
245
395
|
|
|
246
396
|
```typescript
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
397
|
+
import type {
|
|
398
|
+
ContractState,
|
|
399
|
+
RentalState,
|
|
400
|
+
ConfigOptions,
|
|
401
|
+
PaymentFrequency
|
|
402
|
+
} from '@wuwei-labs/srsly';
|
|
253
403
|
|
|
254
|
-
|
|
404
|
+
import {
|
|
405
|
+
ATLAS_TO_STARDUST,
|
|
406
|
+
FACTION_MAPPING,
|
|
407
|
+
days,
|
|
408
|
+
weeks,
|
|
409
|
+
months,
|
|
410
|
+
duration
|
|
411
|
+
} from '@wuwei-labs/srsly';
|
|
255
412
|
|
|
256
|
-
|
|
413
|
+
// Conversion rate: 1 ATLAS = 100,000,000 stardust
|
|
414
|
+
console.log(ATLAS_TO_STARDUST); // 100_000_000
|
|
257
415
|
|
|
258
|
-
|
|
416
|
+
// Faction mappings
|
|
417
|
+
console.log(FACTION_MAPPING[1]); // 'mud'
|
|
418
|
+
console.log(FACTION_MAPPING[2]); // 'oni'
|
|
419
|
+
console.log(FACTION_MAPPING[3]); // 'ustur'
|
|
259
420
|
|
|
260
|
-
|
|
261
|
-
//
|
|
262
|
-
|
|
421
|
+
// Duration helper functions
|
|
422
|
+
console.log(days(7)); // 604800 (7 days in seconds)
|
|
423
|
+
console.log(weeks(2)); // 1209600 (2 weeks in seconds)
|
|
424
|
+
console.log(months(1)); // 2678400 (1 month in seconds)
|
|
425
|
+
console.log(duration.hours(12)); // 43200 (12 hours in seconds)
|
|
426
|
+
```
|
|
263
427
|
|
|
264
|
-
|
|
265
|
-
import devnetIdl from '@wuwei-labs/srsly/idl/devnet';
|
|
428
|
+
## IDL and Program Information
|
|
266
429
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
430
|
+
```typescript
|
|
431
|
+
// Access program IDL
|
|
432
|
+
import idl from '@wuwei-labs/srsly/idl';
|
|
270
433
|
```
|
|
271
434
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
Import TypeScript types that match your target network:
|
|
435
|
+
## Error Handling
|
|
275
436
|
|
|
276
437
|
```typescript
|
|
277
|
-
import
|
|
278
|
-
ContractState,
|
|
279
|
-
RentalState,
|
|
280
|
-
PaymentFrequency,
|
|
281
|
-
ClockData,
|
|
282
|
-
ThreadResponse
|
|
283
|
-
} from '@wuwei-labs/srsly';
|
|
438
|
+
import { SrslyError } from '@wuwei-labs/srsly';
|
|
284
439
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
440
|
+
try {
|
|
441
|
+
const instruction = await createContract(params);
|
|
442
|
+
// Add to transaction and send...
|
|
443
|
+
} catch (error) {
|
|
444
|
+
if (error instanceof SrslyError) {
|
|
445
|
+
console.error('SRSLY SDK Error:', error.message, error.code);
|
|
446
|
+
} else {
|
|
447
|
+
console.error('Other Error:', error);
|
|
448
|
+
}
|
|
449
|
+
}
|
|
288
450
|
```
|
|
289
451
|
|
|
290
|
-
##
|
|
452
|
+
## Package Structure
|
|
291
453
|
|
|
292
|
-
|
|
454
|
+
The SDK provides optimized builds for different environments:
|
|
455
|
+
|
|
456
|
+
- **CommonJS**: `./dist/cjs/` (Node.js, webpack)
|
|
457
|
+
- **ESM**: `./dist/esm/` (Modern ES modules)
|
|
458
|
+
- **Types**: `./dist/types/` (TypeScript definitions)
|
|
459
|
+
- **Codama**: `./dist/*/codama/` (Generated Solana program interfaces)
|
|
460
|
+
- **IDL**: `./target/idl/srsly.json` (Anchor IDL)
|
|
461
|
+
- **Types**: `./target/types/srsly.ts` (Generated types)
|
|
293
462
|
|
|
294
|
-
##
|
|
463
|
+
## Links
|
|
295
464
|
|
|
296
|
-
- **
|
|
297
|
-
- **
|
|
298
|
-
- **Anchor**: The framework used to build the SRSLY program
|
|
465
|
+
- **NPM Package**: [@wuwei-labs/srsly](https://www.npmjs.com/package/@wuwei-labs/srsly)
|
|
466
|
+
- **TypeDoc Documentation**: [API Reference](https://wuwei-labs.github.io/srsly/)
|