@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
|
@@ -2,63 +2,216 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.acceptRental = acceptRental;
|
|
4
4
|
exports.getAcceptRentalInstructionAsync = getAcceptRentalInstructionAsync;
|
|
5
|
-
const
|
|
5
|
+
const config_1 = require("../utils/config");
|
|
6
|
+
const constants_1 = require("../utils/constants");
|
|
6
7
|
const utils_1 = require("../utils");
|
|
8
|
+
const instruction_converter_1 = require("../utils/instruction-converter");
|
|
9
|
+
const accounts_1 = require("../codama/accounts");
|
|
10
|
+
const kit_1 = require("@solana/kit");
|
|
11
|
+
const paymentFrequency_1 = require("../utils/paymentFrequency");
|
|
12
|
+
const pda_1 = require("../utils/pda");
|
|
7
13
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
14
|
+
* Internal function to accept a rental instruction with configuration options.
|
|
15
|
+
*
|
|
16
|
+
* This function handles the core logic of creating a rental acceptance instruction,
|
|
17
|
+
* including contract state fetching, payment calculation, account derivation, and
|
|
18
|
+
* instruction generation. It automatically validates contract constraints and
|
|
19
|
+
* calculates the required payment amount.
|
|
20
|
+
*
|
|
21
|
+
* @internal
|
|
22
|
+
* @param params - The rental acceptance parameters
|
|
23
|
+
* @param config - Optional configuration for network and program settings
|
|
24
|
+
* @returns Promise resolving to a fluent instruction object
|
|
25
|
+
* @throws Error when contract is not found, duration constraints are violated, or account derivation fails
|
|
26
|
+
*/
|
|
27
|
+
async function _acceptRental(params, config) {
|
|
28
|
+
const { borrower, borrowerProfile, borrowerFaction, contract, duration, } = params;
|
|
29
|
+
// Get the resolved addresses from config (including network-specific addresses)
|
|
30
|
+
// Use global config as fallback, same pattern as constants.ts
|
|
31
|
+
const globalConfig = (0, config_1.getConfig)();
|
|
32
|
+
const effectiveConfig = { ...globalConfig, ...config };
|
|
33
|
+
const resolvedAddresses = await (0, config_1.resolveProgramAddresses)(effectiveConfig);
|
|
34
|
+
// Fetch contract state to get payment frequency and validate parameters
|
|
35
|
+
let contractState;
|
|
36
|
+
try {
|
|
37
|
+
// Create RPC from resolved addresses
|
|
38
|
+
const rpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
39
|
+
contractState = await (0, accounts_1.fetchMaybeContractState)(rpc, (0, constants_1.toAddress)(contract));
|
|
40
|
+
if (!contractState.exists) {
|
|
41
|
+
throw new Error(`Contract not found: ${contract}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
throw new Error(`Failed to fetch contract state: ${error}`);
|
|
46
|
+
}
|
|
47
|
+
// Extract data from contract state
|
|
48
|
+
const rate = Number(contractState.data.rate);
|
|
49
|
+
const fleet = contractState.data.fleet;
|
|
50
|
+
// Validate duration constraints
|
|
51
|
+
const durationMin = Number(contractState.data.durationMin);
|
|
52
|
+
const durationMax = Number(contractState.data.durationMax);
|
|
53
|
+
const durationNumber = Number(duration);
|
|
54
|
+
if (durationNumber < durationMin || durationNumber > durationMax) {
|
|
55
|
+
throw new Error(`Duration ${durationNumber} seconds is outside contract constraints (${durationMin}-${durationMax} seconds)`);
|
|
56
|
+
}
|
|
57
|
+
// Calculate amount based on payment frequency and periods (matching program logic)
|
|
58
|
+
const paymentFrequencySeconds = (0, paymentFrequency_1.paymentFrequencyStringToSeconds)(contractState.data.paymentsFeq);
|
|
59
|
+
const paymentPeriods = Math.floor(durationNumber / paymentFrequencySeconds);
|
|
60
|
+
// Use the config's stardust_to_atlas conversion factor (defaulting to ATLAS_TO_STARDUST for now)
|
|
61
|
+
const stardustToAtlas = constants_1.ATLAS_TO_STARDUST; // TODO: Get from config account
|
|
62
|
+
const amount = BigInt(rate) * BigInt(paymentPeriods) * BigInt(stardustToAtlas);
|
|
63
|
+
// Manually derive ALL game accounts - they all use different program addresses than main SAGE program
|
|
64
|
+
const { profileFaction, starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)((0, constants_1.toAddress)(borrowerProfile), borrowerFaction, resolvedAddresses.gameId, 0, // starbaseSeqId
|
|
65
|
+
config);
|
|
66
|
+
// Manually derive PDAs with correct program IDs
|
|
67
|
+
const rentalStatePda = await (0, pda_1.deriveRentalState)((0, constants_1.toAddress)(contract), borrower.address, // Extract address from signer
|
|
68
|
+
resolvedAddresses.srslyProgramAddress);
|
|
69
|
+
const rentalAuthorityPda = await (0, pda_1.deriveRentalAuthority)(resolvedAddresses.srslyProgramAddress);
|
|
70
|
+
// 🔧 FIX: Derive rental thread PDA using Antegen program ID
|
|
71
|
+
const rentalThreadPda = await (0, pda_1.deriveRentalThread)(rentalAuthorityPda, rentalStatePda, resolvedAddresses.antegenProgramAddress);
|
|
72
|
+
// Create input with ALL manually derived game accounts - they use different program addresses
|
|
73
|
+
const input = {
|
|
74
|
+
borrower: borrower, // Pass signer directly to Codama
|
|
75
|
+
borrowerProfile: (0, constants_1.toAddress)(borrowerProfile), // Ensure string
|
|
76
|
+
borrowerProfileFaction: (0, constants_1.toAddress)(profileFaction), // Manually derived (Profile program)
|
|
77
|
+
fleet: (0, constants_1.toAddress)(fleet), // Ensure string
|
|
78
|
+
contract: (0, constants_1.toAddress)(contract), // Ensure string
|
|
79
|
+
gameId: resolvedAddresses.gameId, // Already Address from resolveProgramAddresses
|
|
80
|
+
starbase: (0, constants_1.toAddress)(starbase), // Manually derived (SAGE program but different derivation)
|
|
81
|
+
starbasePlayer: (0, constants_1.toAddress)(starbasePlayer), // Manually derived (SAGE program but different derivation)
|
|
82
|
+
mint: resolvedAddresses.atlasMint, // ATLAS mint from config
|
|
83
|
+
sageProgram: resolvedAddresses.sageProgramAddress, // SAGE program from config
|
|
84
|
+
antegenProgram: resolvedAddresses.antegenProgramAddress, // Antegen program from config
|
|
85
|
+
// Override PDAs with correctly derived addresses
|
|
86
|
+
rentalState: rentalStatePda,
|
|
87
|
+
rentalAuthority: rentalAuthorityPda,
|
|
88
|
+
rentalThread: rentalThreadPda, // Uses Antegen program ID!
|
|
89
|
+
amount, // BigInt value
|
|
90
|
+
duration, // BigInt value
|
|
91
|
+
};
|
|
92
|
+
// Get network-specific codama functions from centralized config
|
|
93
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
94
|
+
const { getAcceptRentalInstructionAsync } = instructionsModule;
|
|
95
|
+
const rawInstruction = await getAcceptRentalInstructionAsync(input, { programAddress: resolvedAddresses.srslyProgramAddress });
|
|
96
|
+
return (0, instruction_converter_1.createFluentInstruction)(rawInstruction);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Creates an instruction to accept a rental contract with fluent configuration.
|
|
100
|
+
*
|
|
101
|
+
* This function allows a borrower to accept an existing rental contract, automatically
|
|
102
|
+
* calculating the required payment amount based on the contract's rate and payment frequency.
|
|
103
|
+
* The SDK fetches contract details, validates duration constraints, and derives all
|
|
104
|
+
* necessary accounts for the rental operation.
|
|
105
|
+
*
|
|
106
|
+
* ## Features
|
|
107
|
+
*
|
|
108
|
+
* - **Automatic Payment Calculation**: Fetches contract state and calculates exact payment amount
|
|
109
|
+
* - **Duration Validation**: Ensures rental duration meets contract constraints
|
|
110
|
+
* - **Account Derivation**: Automatically derives all required game accounts
|
|
111
|
+
* - **SAGE Integration**: Sets up fleet ownership transfer in the Star Atlas ecosystem
|
|
112
|
+
* - **Clockwork Integration**: Configures automated payment scheduling
|
|
113
|
+
* - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
|
|
114
|
+
*
|
|
115
|
+
* ## Process
|
|
116
|
+
*
|
|
117
|
+
* 1. **Fetch Contract**: Retrieves contract state from the blockchain
|
|
118
|
+
* 2. **Validate Duration**: Checks that rental duration meets contract constraints
|
|
119
|
+
* 3. **Calculate Payment**: Computes payment amount using contract rate and payment frequency
|
|
120
|
+
* 4. **Derive Accounts**: Generates required game accounts (starbase, faction, etc.)
|
|
121
|
+
* 5. **Create Instruction**: Builds the rental acceptance instruction
|
|
122
|
+
* 6. **Setup Threading**: Configures automated payment processing
|
|
123
|
+
*
|
|
124
|
+
* ## Payment Calculation
|
|
125
|
+
*
|
|
126
|
+
* The payment amount is calculated using the formula:
|
|
127
|
+
* ```text
|
|
128
|
+
* payment = rate × payment_periods × stardust_to_atlas_conversion
|
|
129
|
+
* ```
|
|
130
|
+
*
|
|
131
|
+
* Where:
|
|
132
|
+
* - `rate`: Contract's rental rate per payment period
|
|
133
|
+
* - `payment_periods`: Duration divided by payment frequency interval
|
|
134
|
+
* - `stardust_to_atlas_conversion`: Network-specific conversion factor
|
|
135
|
+
*
|
|
136
|
+
* ## Requirements
|
|
137
|
+
*
|
|
138
|
+
* - Contract must exist and be active
|
|
139
|
+
* - Duration must be within contract's min/max limits
|
|
140
|
+
* - Duration must be multiple of payment frequency
|
|
141
|
+
* - Borrower must have sufficient ATLAS tokens for payment
|
|
10
142
|
*
|
|
11
143
|
* @example
|
|
12
144
|
* ```typescript
|
|
13
|
-
*
|
|
14
|
-
*
|
|
145
|
+
* import { acceptRental, days } from '@srsly/sdk';
|
|
146
|
+
*
|
|
147
|
+
* // Basic rental acceptance
|
|
148
|
+
* const instruction = await acceptRental({
|
|
149
|
+
* borrower: wallet, // Borrower's wallet
|
|
150
|
+
* borrowerProfile: "ProfileAddr...", // Borrower's Star Atlas profile
|
|
151
|
+
* borrowerFaction: 'mud', // Faction: 'mud', 'oni', or 'ustur'
|
|
152
|
+
* contract: "ContractAddr...", // Contract to accept
|
|
153
|
+
* duration: days(7) // 7 days rental duration
|
|
154
|
+
* });
|
|
155
|
+
*
|
|
156
|
+
* // Configure for mainnet
|
|
157
|
+
* const mainnetInstruction = await acceptRental({
|
|
158
|
+
* borrower: wallet,
|
|
159
|
+
* borrowerProfile: "ProfileAddr...",
|
|
160
|
+
* borrowerFaction: 1, // Can use numbers: 1=mud, 2=oni, 3=ustur
|
|
161
|
+
* contract: "ContractAddr...",
|
|
162
|
+
* duration: days(7)
|
|
163
|
+
* }).set({ programs: 'mainnet' });
|
|
164
|
+
*
|
|
165
|
+
* // Override specific game configuration
|
|
166
|
+
* const customInstruction = await acceptRental({
|
|
15
167
|
* borrower: wallet,
|
|
16
|
-
* borrowerProfile:
|
|
17
|
-
* borrowerFaction:
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
168
|
+
* borrowerProfile: "ProfileAddr...",
|
|
169
|
+
* borrowerFaction: 'mud',
|
|
170
|
+
* contract: "ContractAddr...",
|
|
171
|
+
* duration: days(7)
|
|
172
|
+
* }).set({
|
|
173
|
+
* programs: 'mainnet',
|
|
174
|
+
* gameId: 'custom-game-id...'
|
|
23
175
|
* });
|
|
24
176
|
*
|
|
25
|
-
* //
|
|
26
|
-
* const
|
|
27
|
-
*
|
|
177
|
+
* // Convert to @solana/web3.js format
|
|
178
|
+
* const web3jsInstruction = await acceptRental({
|
|
179
|
+
* borrower: wallet,
|
|
180
|
+
* borrowerProfile: "ProfileAddr...",
|
|
181
|
+
* borrowerFaction: 'mud',
|
|
182
|
+
* contract: "ContractAddr...",
|
|
183
|
+
* duration: days(7)
|
|
184
|
+
* }).web3js();
|
|
185
|
+
*
|
|
186
|
+
* // Use with your preferred Solana library
|
|
187
|
+
* const transaction = new Transaction().add(web3jsInstruction);
|
|
188
|
+
* await sendAndConfirmTransaction(connection, transaction, [wallet]);
|
|
28
189
|
* ```
|
|
29
190
|
*
|
|
30
|
-
* @param params The
|
|
31
|
-
* @returns A
|
|
191
|
+
* @param params - The rental acceptance parameters including borrower, contract, and duration
|
|
192
|
+
* @returns A FluentConfigSelector that can be configured with .set() or awaited directly
|
|
193
|
+
* @throws Error when contract is not found, duration constraints are violated, or payment calculation fails
|
|
32
194
|
*/
|
|
33
|
-
async function _acceptRental(params, network) {
|
|
34
|
-
const { borrower, borrowerProfile, borrowerFaction, fleet, contract, gameId = utils_1.DEFAULT_GAME_ID, amount, duration, } = params;
|
|
35
|
-
// Derive the three accounts we need
|
|
36
|
-
const { profileFaction, starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)(borrowerProfile, borrowerFaction, gameId);
|
|
37
|
-
// Let codama derive the rest (rentalThread, rentalState, rentalAuthority, etc.)
|
|
38
|
-
const input = {
|
|
39
|
-
borrower,
|
|
40
|
-
borrowerProfile,
|
|
41
|
-
borrowerProfileFaction: profileFaction,
|
|
42
|
-
fleet,
|
|
43
|
-
contract,
|
|
44
|
-
gameId,
|
|
45
|
-
starbase,
|
|
46
|
-
starbasePlayer,
|
|
47
|
-
amount,
|
|
48
|
-
duration,
|
|
49
|
-
};
|
|
50
|
-
// Dynamically import network-specific codama functions
|
|
51
|
-
const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions');
|
|
52
|
-
const { getAcceptRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
|
|
53
|
-
return getAcceptRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
54
|
-
}
|
|
55
195
|
function acceptRental(params) {
|
|
56
|
-
|
|
196
|
+
const baseSelector = (0, config_1.createConfigSelector)((config) => _acceptRental(params, config));
|
|
197
|
+
return (0, instruction_converter_1.createSmartFluentConfigSelector)(baseSelector);
|
|
57
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* Low-level function to create a rental acceptance instruction with raw input parameters.
|
|
201
|
+
*
|
|
202
|
+
* This function provides direct access to the underlying codama-generated instruction
|
|
203
|
+
* builder. It's primarily used internally by the SDK but can be used for advanced
|
|
204
|
+
* use cases where full control over instruction parameters is needed.
|
|
205
|
+
*
|
|
206
|
+
* @internal
|
|
207
|
+
* @param input - Raw instruction input parameters as expected by codama
|
|
208
|
+
* @param options - Optional instruction options including program address
|
|
209
|
+
* @returns A ConfigSelector for the raw instruction
|
|
210
|
+
*/
|
|
58
211
|
function getAcceptRentalInstructionAsync(input, options) {
|
|
59
|
-
return (0,
|
|
60
|
-
const
|
|
61
|
-
return
|
|
212
|
+
return (0, config_1.createConfigSelector)(async () => {
|
|
213
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
214
|
+
return instructionsModule.getAcceptRentalInstructionAsync(input, options);
|
|
62
215
|
});
|
|
63
216
|
}
|
|
64
217
|
//# sourceMappingURL=accept.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,47 +2,126 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.cancelRental = cancelRental;
|
|
4
4
|
exports.getCancelRentalInstructionAsync = getCancelRentalInstructionAsync;
|
|
5
|
-
const
|
|
5
|
+
const config_1 = require("../utils/config");
|
|
6
|
+
const constants_1 = require("../utils/constants");
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
-
* Derives rentalState, rentalThread, borrowerTokenAccount, rentalTokenAccount and
|
|
9
|
-
* rentalAuthority automatically if not provided.
|
|
8
|
+
* Internal function to cancel a rental instruction with configuration options.
|
|
10
9
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* const ix = await cancelRental({
|
|
15
|
-
* borrower: wallet,
|
|
16
|
-
* contract: contractAddress
|
|
17
|
-
* });
|
|
10
|
+
* This function handles the core logic of creating a rental cancellation instruction,
|
|
11
|
+
* including address resolution and instruction generation. The cancellation stops
|
|
12
|
+
* automated payments and may incur penalty fees.
|
|
18
13
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* @param params The simplified parameters for canceling a rental
|
|
25
|
-
* @returns A promise that resolves to the instruction to cancel a rental
|
|
14
|
+
* @internal
|
|
15
|
+
* @param params - The rental cancellation parameters
|
|
16
|
+
* @param config - Optional configuration for network and program settings
|
|
17
|
+
* @returns Promise resolving to a cancellation instruction
|
|
18
|
+
* @throws Error when instruction generation fails or required parameters are missing
|
|
26
19
|
*/
|
|
27
|
-
async function _cancelRental(params,
|
|
20
|
+
async function _cancelRental(params, config) {
|
|
28
21
|
const { borrower, contract, } = params;
|
|
22
|
+
// Get the resolved addresses from config (including network-specific addresses)
|
|
23
|
+
// Note: resolvedAddresses not currently needed for this instruction but kept for consistency
|
|
24
|
+
// const resolvedAddresses = resolveProgramAddresses(config || {});
|
|
29
25
|
// Let codama derive all the optional accounts
|
|
30
26
|
const input = {
|
|
31
|
-
borrower,
|
|
32
|
-
contract,
|
|
27
|
+
borrower, // Pass signer directly to Codama
|
|
28
|
+
contract: (0, constants_1.toAddress)(contract), // Ensure string
|
|
33
29
|
};
|
|
34
|
-
//
|
|
35
|
-
const
|
|
36
|
-
const
|
|
30
|
+
// Get network-specific codama functions from centralized config
|
|
31
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
32
|
+
const programsModule = (0, config_1.getModule)('programs');
|
|
33
|
+
const { getCancelRentalInstructionAsync } = instructionsModule;
|
|
34
|
+
const { SRSLY_PROGRAM_ADDRESS } = programsModule;
|
|
37
35
|
return getCancelRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
38
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Creates an instruction to cancel a rental with fluent configuration.
|
|
39
|
+
*
|
|
40
|
+
* This function allows a borrower to cancel their active rental before the
|
|
41
|
+
* rental period expires. Canceling a rental stops automated payments but
|
|
42
|
+
* may incur penalty fees as defined in the contract terms. The fleet ownership
|
|
43
|
+
* is immediately returned to the original owner.
|
|
44
|
+
*
|
|
45
|
+
* ## Features
|
|
46
|
+
*
|
|
47
|
+
* - **Immediate Cancellation**: Stops the rental and automated payments immediately
|
|
48
|
+
* - **Fleet Transfer**: Returns fleet control to the original owner
|
|
49
|
+
* - **Thread Cleanup**: Cancels the automated payment thread
|
|
50
|
+
* - **Penalty Processing**: Handles any cancellation fees as defined in the contract
|
|
51
|
+
* - **Universal Library Support**: Works with both @solana/kit and @solana/web3.js
|
|
52
|
+
*
|
|
53
|
+
* ## Process
|
|
54
|
+
*
|
|
55
|
+
* 1. **Validate Authority**: Ensures only the borrower can cancel their rental
|
|
56
|
+
* 2. **Calculate Penalties**: Computes any cancellation fees owed
|
|
57
|
+
* 3. **Transfer Fleet**: Returns fleet ownership to the original owner
|
|
58
|
+
* 4. **Cancel Thread**: Stops automated payment processing
|
|
59
|
+
* 5. **Update State**: Marks rental as canceled in the rental state account
|
|
60
|
+
*
|
|
61
|
+
* ## Requirements
|
|
62
|
+
*
|
|
63
|
+
* - Rental must be active (not already canceled or completed)
|
|
64
|
+
* - Caller must be the original borrower
|
|
65
|
+
* - Borrower must have sufficient funds for any cancellation penalties
|
|
66
|
+
*
|
|
67
|
+
* ## Cancellation Effects
|
|
68
|
+
*
|
|
69
|
+
* - **Fleet Control**: Immediately returned to owner
|
|
70
|
+
* - **Automated Payments**: Stopped permanently
|
|
71
|
+
* - **Rental State**: Marked as canceled
|
|
72
|
+
* - **Thread Account**: Cleaned up and closed
|
|
73
|
+
* - **Penalties**: Charged according to contract terms
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* import { cancelRental } from '@srsly/sdk';
|
|
78
|
+
*
|
|
79
|
+
* // Basic rental cancellation
|
|
80
|
+
* const instruction = await cancelRental({
|
|
81
|
+
* borrower: wallet, // Borrower's wallet (must be original borrower)
|
|
82
|
+
* contract: "ContractAddr..." // Contract address for the active rental
|
|
83
|
+
* });
|
|
84
|
+
*
|
|
85
|
+
* // Configure for mainnet
|
|
86
|
+
* const mainnetInstruction = await cancelRental({
|
|
87
|
+
* borrower: wallet,
|
|
88
|
+
* contract: "ContractAddr..."
|
|
89
|
+
* }).set({ programs: 'mainnet' });
|
|
90
|
+
*
|
|
91
|
+
* // Convert to @solana/web3.js format
|
|
92
|
+
* const web3jsInstruction = await cancelRental({
|
|
93
|
+
* borrower: wallet,
|
|
94
|
+
* contract: "ContractAddr..."
|
|
95
|
+
* }).web3js();
|
|
96
|
+
*
|
|
97
|
+
* // Use with your preferred Solana library
|
|
98
|
+
* const transaction = new Transaction().add(web3jsInstruction);
|
|
99
|
+
* await sendAndConfirmTransaction(connection, transaction, [wallet]);
|
|
100
|
+
* ```
|
|
101
|
+
*
|
|
102
|
+
* @param params - The rental cancellation parameters including borrower and contract
|
|
103
|
+
* @returns A ConfigSelector that can be configured with .set() or awaited directly
|
|
104
|
+
* @throws Error when rental is not active, caller is not the borrower, or instruction generation fails
|
|
105
|
+
*/
|
|
39
106
|
function cancelRental(params) {
|
|
40
|
-
return (0,
|
|
107
|
+
return (0, config_1.createConfigSelector)((config) => _cancelRental(params, config));
|
|
41
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Low-level function to create a rental cancellation instruction with raw input parameters.
|
|
111
|
+
*
|
|
112
|
+
* This function provides direct access to the underlying codama-generated instruction
|
|
113
|
+
* builder. It's primarily used internally by the SDK but can be used for advanced
|
|
114
|
+
* use cases where full control over instruction parameters is needed.
|
|
115
|
+
*
|
|
116
|
+
* @internal
|
|
117
|
+
* @param input - Raw instruction input parameters as expected by codama
|
|
118
|
+
* @param options - Optional instruction options including program address
|
|
119
|
+
* @returns A ConfigSelector for the raw instruction
|
|
120
|
+
*/
|
|
42
121
|
function getCancelRentalInstructionAsync(input, options) {
|
|
43
|
-
return (0,
|
|
44
|
-
const
|
|
45
|
-
return
|
|
122
|
+
return (0, config_1.createConfigSelector)(async () => {
|
|
123
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
124
|
+
return instructionsModule.getCancelRentalInstructionAsync(input, options);
|
|
46
125
|
});
|
|
47
126
|
}
|
|
48
127
|
//# sourceMappingURL=cancel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":";;AAiJA,oCAIC;AAcD,0EAKC;AAxKD,4CAAoI;AACpI,kDAA+C;AA+B/C;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,MAAsB;IAEtB,MAAM,EACJ,QAAQ,EACR,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,gFAAgF;IAChF,6FAA6F;IAC7F,mEAAmE;IAEnE,8CAA8C;IAC9C,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAqB,iCAAiC;QAC9D,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAE,gBAAgB;KAChD,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,+BAA+B,EAAE,GAAG,kBAAkB,CAAC;IAC/D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,OAAO,+BAA+B,CACpC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,SAAgB,YAAY,CAC1B,MAA0B;IAE1B,OAAO,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,IAAA,6BAAoB,EAAC,KAAK,IAAI,EAAE;QACrC,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC"}
|