@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
package/dist/cjs/rental/close.js
CHANGED
|
@@ -2,49 +2,187 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.closeRental = closeRental;
|
|
4
4
|
exports.getCloseRentalInstructionAsync = getCloseRentalInstructionAsync;
|
|
5
|
-
const
|
|
5
|
+
const config_1 = require("../utils/config");
|
|
6
|
+
const constants_1 = require("../utils/constants");
|
|
7
|
+
const instruction_converter_1 = require("../utils/instruction-converter");
|
|
8
|
+
const accounts_1 = require("../codama/accounts");
|
|
9
|
+
const kit_1 = require("@solana/kit");
|
|
10
|
+
const pda_1 = require("../utils/pda");
|
|
6
11
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
12
|
+
* Internal function to close a rental instruction with configuration options.
|
|
13
|
+
*
|
|
14
|
+
* This function handles the core logic of creating a rental closure instruction,
|
|
15
|
+
* including address resolution and instruction generation. The closure finalizes
|
|
16
|
+
* the rental period and transfers any remaining funds to the owner.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
* @param params - The rental closure parameters
|
|
20
|
+
* @param config - Optional configuration for network and program settings
|
|
21
|
+
* @returns Promise resolving to a closure instruction
|
|
22
|
+
* @throws Error when instruction generation fails or required parameters are missing
|
|
23
|
+
*/
|
|
24
|
+
async function _closeRental(params, config) {
|
|
25
|
+
const { payer, rentalStateAddress, } = params;
|
|
26
|
+
// Get the resolved addresses from config (including network-specific addresses)
|
|
27
|
+
const resolvedAddresses = await (0, config_1.resolveProgramAddresses)(config || {});
|
|
28
|
+
// Create RPC from resolved addresses
|
|
29
|
+
const rpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
30
|
+
// Fetch rental state to get contract and borrower
|
|
31
|
+
let rentalState;
|
|
32
|
+
try {
|
|
33
|
+
if (!rentalStateAddress) {
|
|
34
|
+
throw new Error(`rentalStateAddress is ${rentalStateAddress}, cannot proceed`);
|
|
35
|
+
}
|
|
36
|
+
rentalState = await (0, accounts_1.fetchMaybeRentalState)(rpc, (0, constants_1.toAddress)(rentalStateAddress));
|
|
37
|
+
if (!rentalState.exists) {
|
|
38
|
+
throw new Error(`Rental state not found: ${rentalStateAddress}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
throw new Error(`Failed to fetch rental state: ${error}`);
|
|
43
|
+
}
|
|
44
|
+
// Extract required addresses from rental state
|
|
45
|
+
const contractAddress = rentalState.data.contract;
|
|
46
|
+
const borrower = rentalState.data.borrower;
|
|
47
|
+
// Derive PDAs similar to accept.ts
|
|
48
|
+
const rentalAuthorityPda = await (0, pda_1.deriveRentalAuthority)(resolvedAddresses.srslyProgramAddress.toString());
|
|
49
|
+
// 🔧 FIX: Derive rental thread PDA using Antegen program ID and the passed-in rental state address
|
|
50
|
+
const rentalThreadPda = await (0, pda_1.deriveRentalThread)(rentalAuthorityPda, (0, constants_1.toAddress)(rentalStateAddress), // Use the passed-in rental state address
|
|
51
|
+
resolvedAddresses.antegenProgramAddress);
|
|
52
|
+
// Fetch contract state to get owner
|
|
53
|
+
let contractState;
|
|
54
|
+
try {
|
|
55
|
+
contractState = await (0, accounts_1.fetchMaybeContractState)(rpc, (0, constants_1.toAddress)(contractAddress));
|
|
56
|
+
if (!contractState.exists) {
|
|
57
|
+
throw new Error(`Contract not found: ${contractAddress}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
throw new Error(`Failed to fetch contract state: ${error}`);
|
|
62
|
+
}
|
|
63
|
+
// Fetch config state to get the authority (we already have mint from resolved addresses)
|
|
64
|
+
const [configPda] = await (0, kit_1.getProgramDerivedAddress)({
|
|
65
|
+
programAddress: resolvedAddresses.srslyProgramAddress,
|
|
66
|
+
seeds: [
|
|
67
|
+
(0, kit_1.getBytesEncoder)().encode(new Uint8Array([99, 111, 110, 102, 105, 103])), // "config"
|
|
68
|
+
],
|
|
69
|
+
});
|
|
70
|
+
let configState;
|
|
71
|
+
try {
|
|
72
|
+
configState = await (0, accounts_1.fetchMaybeConfig)(rpc, configPda);
|
|
73
|
+
if (!configState.exists) {
|
|
74
|
+
throw new Error(`Config not found: ${configPda}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
throw new Error(`Failed to fetch config state: ${error}`);
|
|
79
|
+
}
|
|
80
|
+
// Only provide required fields - let Codama auto-generate the rest except rental_thread
|
|
81
|
+
const input = {
|
|
82
|
+
payer: payer, // Pass the signer directly to Codama
|
|
83
|
+
mint: resolvedAddresses.atlasMint, // Use resolved ATLAS mint from config
|
|
84
|
+
authority: (0, constants_1.toAddress)(configState.data.authority), // Config authority for fee collection
|
|
85
|
+
borrower: (0, constants_1.toAddress)(borrower),
|
|
86
|
+
owner: (0, constants_1.toAddress)(contractState.data.owner),
|
|
87
|
+
contract: (0, constants_1.toAddress)(contractAddress),
|
|
88
|
+
// Only override rental_thread since Codama can't auto-generate this one
|
|
89
|
+
rentalThread: rentalThreadPda, // Uses Antegen program ID!
|
|
90
|
+
};
|
|
91
|
+
// Get network-specific codama functions from centralized config
|
|
92
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
93
|
+
const { getCloseRentalInstructionAsync } = instructionsModule;
|
|
94
|
+
const rawInstruction = await getCloseRentalInstructionAsync(input, { programAddress: resolvedAddresses.srslyProgramAddress });
|
|
95
|
+
return (0, instruction_converter_1.createFluentInstruction)(rawInstruction);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Creates an instruction to close a completed rental with fluent configuration.
|
|
99
|
+
*
|
|
100
|
+
* This function finalizes a rental that has reached its expiration or been fully paid.
|
|
101
|
+
* It transfers any remaining funds to the owner, returns fleet control, and cleans up
|
|
102
|
+
* the rental state account. This instruction can be called by anyone once the rental
|
|
103
|
+
* period has ended.
|
|
104
|
+
*
|
|
105
|
+
* ## Features
|
|
106
|
+
*
|
|
107
|
+
* - **Rental Finalization**: Properly closes completed or expired rentals
|
|
108
|
+
* - **Fund Transfer**: Moves any remaining payments or deposits to the owner
|
|
109
|
+
* - **Fleet Return**: Ensures fleet ownership is returned to the original owner
|
|
110
|
+
* - **State Cleanup**: Closes rental state account and returns lamports
|
|
111
|
+
* - **Thread Cleanup**: Cleans up automated payment threads
|
|
112
|
+
* - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
|
|
113
|
+
*
|
|
114
|
+
* ## Process
|
|
115
|
+
*
|
|
116
|
+
* 1. **Validate Completion**: Ensures rental period has ended or been fully paid
|
|
117
|
+
* 2. **Transfer Funds**: Moves any remaining ATLAS tokens to owner's account
|
|
118
|
+
* 3. **Return Fleet**: Transfers fleet ownership back to original owner
|
|
119
|
+
* 4. **Clean State**: Closes rental state account and returns SOL to payer
|
|
120
|
+
* 5. **Cancel Thread**: Cleans up any remaining automated payment threads
|
|
121
|
+
*
|
|
122
|
+
* ## Requirements
|
|
123
|
+
*
|
|
124
|
+
* - Rental must be completed or expired
|
|
125
|
+
* - Owner token account must be valid ATLAS token account
|
|
126
|
+
* - Rental state account must exist and be properly initialized
|
|
127
|
+
*
|
|
128
|
+
* ## When to Use
|
|
129
|
+
*
|
|
130
|
+
* - **Natural Expiration**: When rental period has ended
|
|
131
|
+
* - **Full Payment**: When all required payments have been made
|
|
132
|
+
* - **Account Cleanup**: To close expired rental accounts and recover SOL
|
|
133
|
+
* - **Fleet Recovery**: When fleet needs to be returned to owner
|
|
10
134
|
*
|
|
11
135
|
* @example
|
|
12
136
|
* ```typescript
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
137
|
+
* import { closeRental } from '@srsly/sdk';
|
|
138
|
+
*
|
|
139
|
+
* // Close a completed rental
|
|
140
|
+
* const instruction = await closeRental({
|
|
141
|
+
* payer: wallet, // Transaction payer
|
|
142
|
+
* rentalStateAddress: "RentalState..." // Rental state address
|
|
18
143
|
* });
|
|
19
144
|
*
|
|
20
|
-
* //
|
|
21
|
-
* const
|
|
22
|
-
*
|
|
145
|
+
* // Configure for mainnet
|
|
146
|
+
* const mainnetInstruction = await closeRental({
|
|
147
|
+
* payer: wallet,
|
|
148
|
+
* rentalStateAddress: "RentalState..."
|
|
149
|
+
* }).set({ programs: 'mainnet' });
|
|
150
|
+
*
|
|
151
|
+
* // Convert to @solana/web3.js format
|
|
152
|
+
* const web3jsInstruction = await closeRental({
|
|
153
|
+
* payer: wallet,
|
|
154
|
+
* rentalStateAddress: "RentalState..."
|
|
155
|
+
* }).web3js();
|
|
156
|
+
*
|
|
157
|
+
* // Use with your preferred Solana library
|
|
158
|
+
* const transaction = new Transaction().add(web3jsInstruction);
|
|
159
|
+
* await sendAndConfirmTransaction(connection, transaction, [wallet]);
|
|
23
160
|
* ```
|
|
24
161
|
*
|
|
25
|
-
* @param params The
|
|
26
|
-
* @returns A
|
|
162
|
+
* @param params - The rental closure parameters including payer and rental state address
|
|
163
|
+
* @returns A FluentConfigSelector that can be configured with .set() or awaited directly
|
|
164
|
+
* @throws Error when rental is not ready for closure or instruction generation fails
|
|
27
165
|
*/
|
|
28
|
-
async function _closeRental(params, network) {
|
|
29
|
-
const { borrower, ownerTokenAccount, contract, } = params;
|
|
30
|
-
// Let codama derive the optional accounts
|
|
31
|
-
const input = {
|
|
32
|
-
borrower,
|
|
33
|
-
ownerTokenAccount,
|
|
34
|
-
contract,
|
|
35
|
-
};
|
|
36
|
-
// Dynamically import network-specific codama functions
|
|
37
|
-
const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions');
|
|
38
|
-
const { getCloseRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
|
|
39
|
-
return getCloseRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
40
|
-
}
|
|
41
166
|
function closeRental(params) {
|
|
42
|
-
|
|
167
|
+
const baseSelector = (0, config_1.createConfigSelector)((config) => _closeRental(params, config));
|
|
168
|
+
return (0, instruction_converter_1.createSmartFluentConfigSelector)(baseSelector);
|
|
43
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Low-level function to create a rental closure instruction with raw input parameters.
|
|
172
|
+
*
|
|
173
|
+
* This function provides direct access to the underlying codama-generated instruction
|
|
174
|
+
* builder. It's primarily used internally by the SDK but can be used for advanced
|
|
175
|
+
* use cases where full control over instruction parameters is needed.
|
|
176
|
+
*
|
|
177
|
+
* @internal
|
|
178
|
+
* @param input - Raw instruction input parameters as expected by codama
|
|
179
|
+
* @param options - Optional instruction options including program address
|
|
180
|
+
* @returns A ConfigSelector for the raw instruction
|
|
181
|
+
*/
|
|
44
182
|
function getCloseRentalInstructionAsync(input, options) {
|
|
45
|
-
return (0,
|
|
46
|
-
const
|
|
47
|
-
return
|
|
183
|
+
return (0, config_1.createConfigSelector)(async () => {
|
|
184
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
185
|
+
return instructionsModule.getCloseRentalInstructionAsync(input, options);
|
|
48
186
|
});
|
|
49
187
|
}
|
|
50
188
|
//# sourceMappingURL=close.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/rental/index.js
CHANGED
|
@@ -1,4 +1,88 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* # Rental Operations Module
|
|
4
|
+
*
|
|
5
|
+
* This module provides comprehensive functionality for managing rental operations
|
|
6
|
+
* on the SRSLY program. It includes functions for accepting, canceling, closing,
|
|
7
|
+
* and resetting rentals, with full support for both @solana/kit and @solana/web3.js libraries.
|
|
8
|
+
*
|
|
9
|
+
* ## Available Functions
|
|
10
|
+
*
|
|
11
|
+
* - **acceptRental**: Accept an existing rental contract as a borrower
|
|
12
|
+
* - **cancelRental**: Cancel an active rental before completion
|
|
13
|
+
* - **closeRental**: Close a completed or expired rental
|
|
14
|
+
* - **resetRental**: Reset a canceled rental to make the contract available again
|
|
15
|
+
*
|
|
16
|
+
* ## Rental Lifecycle
|
|
17
|
+
*
|
|
18
|
+
* ```text
|
|
19
|
+
* Contract Created → Accept → [Active Rental] → Close (Complete)
|
|
20
|
+
* ↓ ↓
|
|
21
|
+
* [Payment] Cancel → Reset → [Available Again]
|
|
22
|
+
* ↑ ↓
|
|
23
|
+
* [Automated] [Cleanup]
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* ## Features
|
|
27
|
+
*
|
|
28
|
+
* - **Universal Library Support**: Works with both major Solana libraries
|
|
29
|
+
* - **String-Based Addresses**: Eliminates library-specific type conflicts
|
|
30
|
+
* - **Fluent API**: Chainable configuration and format conversion
|
|
31
|
+
* - **Network Agnostic**: Supports different Solana networks
|
|
32
|
+
* - **Automated Payments**: Integration with Clockwork for scheduled payments
|
|
33
|
+
* - **SAGE Integration**: Fleet ownership management in Star Atlas ecosystem
|
|
34
|
+
*
|
|
35
|
+
* ## Common Patterns
|
|
36
|
+
*
|
|
37
|
+
* ### Accept a Rental
|
|
38
|
+
* ```typescript
|
|
39
|
+
* import { acceptRental, days } from '@srsly/sdk';
|
|
40
|
+
*
|
|
41
|
+
* const instruction = await acceptRental({
|
|
42
|
+
* borrower: wallet,
|
|
43
|
+
* borrowerProfile: "ProfileAddr...",
|
|
44
|
+
* borrowerFaction: 'mud',
|
|
45
|
+
* contract: "ContractAddr...",
|
|
46
|
+
* duration: days(7)
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* ### Cancel Active Rental
|
|
51
|
+
* ```typescript
|
|
52
|
+
* import { cancelRental } from '@srsly/sdk';
|
|
53
|
+
*
|
|
54
|
+
* const instruction = await cancelRental({
|
|
55
|
+
* borrower: wallet,
|
|
56
|
+
* contract: "ContractAddr..."
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* ### Close Completed Rental
|
|
61
|
+
* ```typescript
|
|
62
|
+
* import { closeRental } from '@srsly/sdk';
|
|
63
|
+
*
|
|
64
|
+
* const instruction = await closeRental({
|
|
65
|
+
* borrower: "BorrowerAddr...",
|
|
66
|
+
* ownerTokenAccount: "TokenAcct...",
|
|
67
|
+
* contract: "ContractAddr..."
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* ### Reset Canceled Rental
|
|
72
|
+
* ```typescript
|
|
73
|
+
* import { resetRental } from '@srsly/sdk';
|
|
74
|
+
*
|
|
75
|
+
* const instruction = await resetRental({
|
|
76
|
+
* fleet: "FleetAddr...",
|
|
77
|
+
* contract: "ContractAddr...",
|
|
78
|
+
* rentalState: "RentalStateAddr...",
|
|
79
|
+
* faction: 'mud',
|
|
80
|
+
* ownerProfile: "OwnerProfileAddr..."
|
|
81
|
+
* });
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
84
|
+
* @module Rental
|
|
85
|
+
*/
|
|
2
86
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
87
|
if (k2 === undefined) k2 = k;
|
|
4
88
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -18,4 +102,5 @@ __exportStar(require("./accept"), exports);
|
|
|
18
102
|
__exportStar(require("./cancel"), exports);
|
|
19
103
|
__exportStar(require("./close"), exports);
|
|
20
104
|
__exportStar(require("./reset"), exports);
|
|
105
|
+
__exportStar(require("./reset-contract-temp"), exports);
|
|
21
106
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rental/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rental/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,wDAAsC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resetContractTemp = resetContractTemp;
|
|
4
|
+
const config_1 = require("../utils/config");
|
|
5
|
+
const constants_1 = require("../utils/constants");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const instruction_converter_1 = require("../utils/instruction-converter");
|
|
8
|
+
const accounts_1 = require("../codama/accounts");
|
|
9
|
+
const kit_1 = require("@solana/kit");
|
|
10
|
+
/**
|
|
11
|
+
* Internal function to create a contract reset temp instruction with configuration options.
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
* @param params - The contract reset parameters
|
|
15
|
+
* @param config - Optional configuration for network and program settings
|
|
16
|
+
* @returns Promise resolving to a fluent instruction object
|
|
17
|
+
* @throws Error when contract is not found or account derivation fails
|
|
18
|
+
*/
|
|
19
|
+
async function _resetContractTemp(params, config) {
|
|
20
|
+
const { signer, contract, faction, ownerProfile, } = params;
|
|
21
|
+
// Get the resolved addresses from config (including network-specific addresses)
|
|
22
|
+
const globalConfig = (0, config_1.getConfig)();
|
|
23
|
+
const effectiveConfig = { ...globalConfig, ...config };
|
|
24
|
+
const resolvedAddresses = await (0, config_1.resolveProgramAddresses)(effectiveConfig);
|
|
25
|
+
// Fetch contract state to get fleet and owner details
|
|
26
|
+
let contractState;
|
|
27
|
+
try {
|
|
28
|
+
const rpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
29
|
+
contractState = await (0, accounts_1.fetchMaybeContractState)(rpc, (0, constants_1.toAddress)(contract));
|
|
30
|
+
if (!contractState.exists) {
|
|
31
|
+
throw new Error(`Contract not found: ${contract}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
throw new Error(`Failed to fetch contract state: ${error}`);
|
|
36
|
+
}
|
|
37
|
+
// Extract fleet from contract state
|
|
38
|
+
const fleet = contractState.data.fleet;
|
|
39
|
+
// Manually derive ALL game accounts - they all use different program addresses
|
|
40
|
+
const { starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)((0, constants_1.toAddress)(ownerProfile), faction, resolvedAddresses.gameId, 0, // starbaseSeqId
|
|
41
|
+
config);
|
|
42
|
+
// Create input for the instruction
|
|
43
|
+
const input = {
|
|
44
|
+
signer: signer, // Pass signer directly to Codama
|
|
45
|
+
contract: (0, constants_1.toAddress)(contract), // Contract to reset
|
|
46
|
+
fleet: (0, constants_1.toAddress)(fleet), // Fleet from contract
|
|
47
|
+
gameId: resolvedAddresses.gameId, // Game ID from config
|
|
48
|
+
starbase: (0, constants_1.toAddress)(starbase), // Derived starbase
|
|
49
|
+
starbasePlayer: (0, constants_1.toAddress)(starbasePlayer), // Derived starbase player
|
|
50
|
+
sageProgram: resolvedAddresses.sageProgramAddress, // SAGE program from config
|
|
51
|
+
};
|
|
52
|
+
// Get network-specific codama functions from centralized config
|
|
53
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
54
|
+
const { getResetContractTempInstructionAsync } = instructionsModule;
|
|
55
|
+
const rawInstruction = await getResetContractTempInstructionAsync(input, { programAddress: resolvedAddresses.srslyProgramAddress });
|
|
56
|
+
return (0, instruction_converter_1.createFluentInstruction)(rawInstruction);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Creates a temporary instruction to reset a contract's fleet in SAGE (devnet testing).
|
|
60
|
+
*
|
|
61
|
+
* This function properly resets a contract by:
|
|
62
|
+
* 1. Resetting the fleet in SAGE via CPI call to invalidate_rental(context, false)
|
|
63
|
+
* 2. Setting the contract's current_rental_state to system_program::ID
|
|
64
|
+
* 3. Making the contract available for new rentals
|
|
65
|
+
*
|
|
66
|
+
* ## Features
|
|
67
|
+
*
|
|
68
|
+
* - **Fleet Reset**: Properly resets fleet in SAGE ecosystem
|
|
69
|
+
* - **Contract Reset**: Updates contract state to be available for new rentals
|
|
70
|
+
* - **Account Derivation**: Automatically derives all required SAGE accounts
|
|
71
|
+
* - **Network Support**: Works across mainnet, atlasnet, and holosim
|
|
72
|
+
* - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* import { resetContractTemp } from '@wuwei-labs/srsly';
|
|
77
|
+
*
|
|
78
|
+
* // Reset a contract for testing
|
|
79
|
+
* const instruction = await resetContractTemp({
|
|
80
|
+
* signer: wallet,
|
|
81
|
+
* contract: "5YqtCEiGPLH3FqoTCkWXFCLtNFC7StnUydgaYfLSPHWv",
|
|
82
|
+
* faction: 'mud',
|
|
83
|
+
* ownerProfile: "OwnerProfileAddr..."
|
|
84
|
+
* });
|
|
85
|
+
*
|
|
86
|
+
* // Configure for specific network
|
|
87
|
+
* const instruction = await resetContractTemp({
|
|
88
|
+
* signer: wallet,
|
|
89
|
+
* contract: "ContractAddr...",
|
|
90
|
+
* faction: 2,
|
|
91
|
+
* ownerProfile: "OwnerProfileAddr..."
|
|
92
|
+
* }).set({ programs: 'holosim' });
|
|
93
|
+
* ```
|
|
94
|
+
*
|
|
95
|
+
* @param params - The contract reset parameters
|
|
96
|
+
* @returns A FluentConfigSelector that can be configured with .set() or awaited directly
|
|
97
|
+
* @throws Error when contract is not found or account derivation fails
|
|
98
|
+
*/
|
|
99
|
+
function resetContractTemp(params) {
|
|
100
|
+
const baseSelector = (0, config_1.createConfigSelector)((config) => _resetContractTemp(params, config));
|
|
101
|
+
return (0, instruction_converter_1.createSmartFluentConfigSelector)(baseSelector);
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=reset-contract-temp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset-contract-temp.js","sourceRoot":"","sources":["../../../src/rental/reset-contract-temp.ts"],"names":[],"mappings":";;AAkKA,8CAKC;AAvKD,4CAA+I;AAC/I,kDAA+C;AAC/C,oCAA8C;AAC9C,0EAAkK;AAClK,iDAA6D;AAC7D,qCAA8C;AAwC9C;;;;;;;;GAQG;AACH,KAAK,UAAU,kBAAkB,CAC/B,MAA+B,EAC/B,MAAsB;IAEtB,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,OAAO,EACP,YAAY,GACb,GAAG,MAAM,CAAC;IAEX,gFAAgF;IAChF,MAAM,YAAY,GAAG,IAAA,kBAAS,GAAE,CAAC;IACjC,MAAM,eAAe,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;IACvD,MAAM,iBAAiB,GAAG,MAAM,IAAA,gCAAuB,EAAC,eAAe,CAAC,CAAC;IAEzE,sDAAsD;IACtD,IAAI,aAAa,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACtD,aAAa,GAAG,MAAM,IAAA,kCAAuB,EAAC,GAAG,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC,CAAC;QAExE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,oCAAoC;IACpC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;IAEvC,+EAA+E;IAC/E,MAAM,EACJ,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,IAAA,0BAAkB,EAC1B,IAAA,qBAAS,EAAC,YAAY,CAAC,EACvB,OAAO,EACP,iBAAiB,CAAC,MAAM,EACxB,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,mCAAmC;IACnC,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,MAAM,EAA6B,iCAAiC;QAC5E,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAe,oBAAoB;QAChE,KAAK,EAAE,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAqB,sBAAsB;QAClE,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAY,sBAAsB;QAClE,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAe,mBAAmB;QAC/D,cAAc,EAAE,IAAA,qBAAS,EAAC,cAAc,CAAC,EAAG,0BAA0B;QACtE,WAAW,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,2BAA2B;KAC/E,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,EAAE,oCAAoC,EAAE,GAAG,kBAAkB,CAAC;IAEpE,MAAM,cAAc,GAAG,MAAM,oCAAoC,CAC/D,KAAY,EACZ,EAAE,cAAc,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,CAC1D,CAAC;IAEF,OAAO,IAAA,+CAAuB,EAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,SAAgB,iBAAiB,CAC/B,MAA+B;IAE/B,MAAM,YAAY,GAAG,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1F,OAAO,IAAA,uDAA+B,EAAC,YAAY,CAAC,CAAC;AACvD,CAAC"}
|
package/dist/cjs/rental/reset.js
CHANGED
|
@@ -2,66 +2,155 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resetRental = resetRental;
|
|
4
4
|
exports.getResetRentalInstructionAsync = getResetRentalInstructionAsync;
|
|
5
|
-
const
|
|
5
|
+
const config_1 = require("../utils/config");
|
|
6
|
+
const constants_1 = require("../utils/constants");
|
|
6
7
|
const utils_1 = require("../utils");
|
|
7
8
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Internal function to reset a rental instruction with configuration options.
|
|
10
|
+
*
|
|
11
|
+
* This function handles the core logic of creating a rental reset instruction,
|
|
12
|
+
* including account derivation, address resolution, and instruction generation.
|
|
13
|
+
* The reset clears canceled rental state and prepares the contract for new rentals.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
* @param params - The rental reset parameters
|
|
17
|
+
* @param config - Optional configuration for network and program settings
|
|
18
|
+
* @returns Promise resolving to a reset instruction
|
|
19
|
+
* @throws Error when account derivation fails or required parameters are missing
|
|
20
|
+
*/
|
|
21
|
+
async function _resetRental(params, config) {
|
|
22
|
+
const { payer, fleet, contract, rentalState, faction, ownerProfile, } = params;
|
|
23
|
+
// Get the resolved addresses from config (including network-specific addresses)
|
|
24
|
+
const resolvedAddresses = await (0, config_1.resolveProgramAddresses)(config || {});
|
|
25
|
+
// Derive the three accounts we need
|
|
26
|
+
const { starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)((0, constants_1.toAddress)(ownerProfile), faction, resolvedAddresses.gameId, 0, // starbaseSeqId
|
|
27
|
+
config);
|
|
28
|
+
// Get network-specific codama functions from centralized config
|
|
29
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
30
|
+
const programsModule = (0, config_1.getModule)('programs');
|
|
31
|
+
const { getResetRentalInstructionAsync } = instructionsModule;
|
|
32
|
+
const { SRSLY_PROGRAM_ADDRESS } = programsModule;
|
|
33
|
+
// Let codama derive the rest (rentalAuthority)
|
|
34
|
+
const input = {
|
|
35
|
+
signer: payer, // Pass signer directly to Codama (maps to 'signer' in Rust)
|
|
36
|
+
fleet: (0, constants_1.toAddress)(fleet), // Ensure string
|
|
37
|
+
contract: (0, constants_1.toAddress)(contract), // Ensure string
|
|
38
|
+
rentalState: (0, constants_1.toAddress)(rentalState), // Ensure string
|
|
39
|
+
gameId: resolvedAddresses.gameId, // Already Address from resolveProgramAddresses
|
|
40
|
+
starbase, // Already string from deriveGameAccounts
|
|
41
|
+
starbasePlayer, // Already string from deriveGameAccounts
|
|
42
|
+
};
|
|
43
|
+
return getResetRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Creates an instruction to reset a rental contract after cancellation with fluent configuration.
|
|
47
|
+
*
|
|
48
|
+
* This function clears the rental state from a canceled rental, making the contract
|
|
49
|
+
* available for new rentals. It's typically called after a rental has been canceled
|
|
50
|
+
* to clean up the state and allow the fleet to be rented out again.
|
|
51
|
+
*
|
|
52
|
+
* ## Features
|
|
53
|
+
*
|
|
54
|
+
* - **State Cleanup**: Clears canceled rental state from accounts
|
|
55
|
+
* - **Contract Reactivation**: Makes the contract available for new rentals
|
|
56
|
+
* - **Fleet Preparation**: Ensures fleet is ready for future rental operations
|
|
57
|
+
* - **SAGE Integration**: Updates fleet status in the Star Atlas ecosystem
|
|
58
|
+
* - **Account Derivation**: Automatically derives required game accounts
|
|
59
|
+
* - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
|
|
60
|
+
*
|
|
61
|
+
* ## Process
|
|
62
|
+
*
|
|
63
|
+
* 1. **Validate State**: Ensures rental was properly canceled before reset
|
|
64
|
+
* 2. **Derive Accounts**: Generates required game accounts (starbase, etc.)
|
|
65
|
+
* 3. **Clear State**: Removes canceled rental data from accounts
|
|
66
|
+
* 4. **Update SAGE**: Resets fleet status in the Star Atlas ecosystem
|
|
67
|
+
* 5. **Reactivate Contract**: Makes contract available for new rentals
|
|
68
|
+
*
|
|
69
|
+
* ## Requirements
|
|
70
|
+
*
|
|
71
|
+
* - Rental must be in canceled state (not active or completed)
|
|
72
|
+
* - Caller must have authority to reset the rental
|
|
73
|
+
* - All accounts must be properly initialized
|
|
74
|
+
* - Fleet must be under owner control
|
|
75
|
+
*
|
|
76
|
+
* ## When to Use
|
|
77
|
+
*
|
|
78
|
+
* - **After Cancellation**: When a rental has been canceled and needs cleanup
|
|
79
|
+
* - **Contract Reuse**: To make a contract available for new rentals
|
|
80
|
+
* - **State Recovery**: When rental state needs to be cleared
|
|
81
|
+
* - **Fleet Management**: To prepare fleet for future rental operations
|
|
11
82
|
*
|
|
12
83
|
* @example
|
|
13
84
|
* ```typescript
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
85
|
+
* import { resetRental } from '@srsly/sdk';
|
|
86
|
+
*
|
|
87
|
+
* // Reset a canceled rental
|
|
88
|
+
* const instruction = await resetRental({
|
|
89
|
+
* fleet: "FleetAddress123...", // Fleet to reset
|
|
90
|
+
* contract: "ContractAddr...", // Contract to reactivate
|
|
91
|
+
* rentalState: "RentalStateAddr...", // Canceled rental state
|
|
92
|
+
* faction: 'mud', // Owner's faction
|
|
93
|
+
* ownerProfile: "OwnerProfileAddr..." // Owner's Star Atlas profile
|
|
21
94
|
* });
|
|
22
95
|
*
|
|
23
|
-
* //
|
|
24
|
-
* const
|
|
25
|
-
* fleet:
|
|
26
|
-
* contract:
|
|
27
|
-
* rentalState:
|
|
28
|
-
*
|
|
29
|
-
*
|
|
96
|
+
* // Configure for mainnet
|
|
97
|
+
* const mainnetInstruction = await resetRental({
|
|
98
|
+
* fleet: "FleetAddress123...",
|
|
99
|
+
* contract: "ContractAddr...",
|
|
100
|
+
* rentalState: "RentalStateAddr...",
|
|
101
|
+
* faction: 1, // Can use numbers: 1=mud, 2=oni, 3=ustur
|
|
102
|
+
* ownerProfile: "OwnerProfileAddr..."
|
|
103
|
+
* }).set({ programs: 'mainnet' });
|
|
104
|
+
*
|
|
105
|
+
* // Override specific game configuration
|
|
106
|
+
* const customInstruction = await resetRental({
|
|
107
|
+
* fleet: "FleetAddress123...",
|
|
108
|
+
* contract: "ContractAddr...",
|
|
109
|
+
* rentalState: "RentalStateAddr...",
|
|
110
|
+
* faction: 'mud',
|
|
111
|
+
* ownerProfile: "OwnerProfileAddr..."
|
|
112
|
+
* }).set({
|
|
113
|
+
* programs: 'mainnet',
|
|
114
|
+
* gameId: 'custom-game-id...'
|
|
30
115
|
* });
|
|
31
116
|
*
|
|
32
|
-
* //
|
|
33
|
-
* const
|
|
34
|
-
*
|
|
117
|
+
* // Convert to @solana/web3.js format
|
|
118
|
+
* const web3jsInstruction = await resetRental({
|
|
119
|
+
* fleet: "FleetAddress123...",
|
|
120
|
+
* contract: "ContractAddr...",
|
|
121
|
+
* rentalState: "RentalStateAddr...",
|
|
122
|
+
* faction: 'mud',
|
|
123
|
+
* ownerProfile: "OwnerProfileAddr..."
|
|
124
|
+
* }).web3js();
|
|
125
|
+
*
|
|
126
|
+
* // Use with your preferred Solana library
|
|
127
|
+
* const transaction = new Transaction().add(web3jsInstruction);
|
|
128
|
+
* await sendAndConfirmTransaction(connection, transaction, [wallet]);
|
|
35
129
|
* ```
|
|
36
130
|
*
|
|
37
|
-
* @param params The
|
|
38
|
-
* @returns A
|
|
131
|
+
* @param params - The rental reset parameters including fleet, contract, rental state, and owner details
|
|
132
|
+
* @returns A ConfigSelector that can be configured with .set() or awaited directly
|
|
133
|
+
* @throws Error when rental is not in canceled state or instruction generation fails
|
|
39
134
|
*/
|
|
40
|
-
async function _resetRental(params, network) {
|
|
41
|
-
const { fleet, contract, rentalState, gameId = utils_1.DEFAULT_GAME_ID, faction, ownerProfile, } = params;
|
|
42
|
-
// Derive the three accounts we need
|
|
43
|
-
const { starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)(ownerProfile, faction, gameId);
|
|
44
|
-
// Dynamically import network-specific codama functions
|
|
45
|
-
const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions');
|
|
46
|
-
const { getResetRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
|
|
47
|
-
// Let codama derive the rest (rentalAuthority)
|
|
48
|
-
const input = {
|
|
49
|
-
fleet,
|
|
50
|
-
contract,
|
|
51
|
-
rentalState,
|
|
52
|
-
gameId,
|
|
53
|
-
starbase,
|
|
54
|
-
starbasePlayer,
|
|
55
|
-
};
|
|
56
|
-
return getResetRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
57
|
-
}
|
|
58
135
|
function resetRental(params) {
|
|
59
|
-
return (0,
|
|
136
|
+
return (0, config_1.createConfigSelector)((config) => _resetRental(params, config));
|
|
60
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Low-level function to create a rental reset instruction with raw input parameters.
|
|
140
|
+
*
|
|
141
|
+
* This function provides direct access to the underlying codama-generated instruction
|
|
142
|
+
* builder. It's primarily used internally by the SDK but can be used for advanced
|
|
143
|
+
* use cases where full control over instruction parameters is needed.
|
|
144
|
+
*
|
|
145
|
+
* @internal
|
|
146
|
+
* @param input - Raw instruction input parameters as expected by codama
|
|
147
|
+
* @param options - Optional instruction options including program address
|
|
148
|
+
* @returns A ConfigSelector for the raw instruction
|
|
149
|
+
*/
|
|
61
150
|
function getResetRentalInstructionAsync(input, options) {
|
|
62
|
-
return (0,
|
|
63
|
-
const
|
|
64
|
-
return
|
|
151
|
+
return (0, config_1.createConfigSelector)(async (config) => {
|
|
152
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
153
|
+
return instructionsModule.getResetRentalInstructionAsync(input, options);
|
|
65
154
|
});
|
|
66
155
|
}
|
|
67
156
|
//# sourceMappingURL=reset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/rental/reset.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/rental/reset.ts"],"names":[],"mappings":";;AAqNA,kCAIC;AAcD,wEAKC;AA5OD,4CAAoI;AACpI,kDAA+C;AAC/C,oCAA8C;AAyD9C;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,YAAY,CACzB,MAAyB,EACzB,MAAsB;IAEtB,MAAM,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,EACX,OAAO,EACP,YAAY,GACb,GAAG,MAAM,CAAC;IAEX,gFAAgF;IAChF,MAAM,iBAAiB,GAAG,MAAM,IAAA,gCAAuB,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAEtE,oCAAoC;IACpC,MAAM,EACJ,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,IAAA,0BAAkB,EAC1B,IAAA,qBAAS,EAAC,YAAY,CAAC,EACvB,OAAO,EACP,iBAAiB,CAAC,MAAM,EACxB,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,8BAA8B,EAAE,GAAG,kBAAkB,CAAC;IAC9D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,iDAAiD;IACjD,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,KAAK,EAAoB,4DAA4D;QAC7F,KAAK,EAAE,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAW,gBAAgB;QAClD,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAK,gBAAgB;QAClD,WAAW,EAAE,IAAA,qBAAS,EAAC,WAAW,CAAC,EAAE,gBAAgB;QACrD,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,+CAA+C;QACjF,QAAQ,EAAyB,yCAAyC;QAC1E,cAAc,EAAmB,yCAAyC;KAC3E,CAAC;IAEF,OAAO,8BAA8B,CACnC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,SAAgB,WAAW,CACzB,MAAyB;IAEzB,OAAO,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,8BAA8B,CAAC,KAAU,EAAE,OAAa;IACtE,OAAO,IAAA,6BAAoB,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC"}
|