@wuwei-labs/srsly 2.0.0-beta.7 → 2.3.3-canary.36.16828734028.0
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 +370 -505
- package/dist/cjs/config/index.js +12 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/config/initialize.js +95 -0
- package/dist/cjs/config/initialize.js.map +1 -0
- package/dist/cjs/config/update.js +163 -0
- package/dist/cjs/config/update.js.map +1 -0
- package/dist/cjs/contract/close.js +128 -67
- package/dist/cjs/contract/close.js.map +1 -1
- package/dist/cjs/contract/create.js +232 -43
- package/dist/cjs/contract/create.js.map +1 -1
- package/dist/cjs/contract/index.js +49 -0
- package/dist/cjs/contract/index.js.map +1 -1
- package/dist/cjs/demos.js +69 -0
- package/dist/cjs/demos.js.map +1 -0
- package/dist/cjs/generated/codama/accounts/configState.js +123 -0
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -0
- package/dist/cjs/{codama/devnet → generated/codama}/accounts/contractState.js +47 -9
- package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -0
- package/dist/cjs/{codama/devnet → generated/codama}/accounts/index.js +1 -1
- package/dist/cjs/generated/codama/accounts/index.js.map +1 -0
- package/dist/cjs/{codama/devnet → generated/codama}/accounts/rentalState.js +49 -11
- package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -0
- package/dist/cjs/{codama/mainnet → generated/codama}/accounts/thread.js +42 -5
- package/dist/cjs/generated/codama/accounts/thread.js.map +1 -0
- package/dist/cjs/generated/codama/errors/index.js.map +1 -0
- package/dist/cjs/generated/codama/errors/srsly.js +101 -0
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -0
- package/dist/cjs/generated/codama/index.js.map +1 -0
- package/dist/cjs/{codama/devnet → generated/codama}/instructions/acceptRental.js +18 -43
- package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -0
- package/dist/cjs/{codama/mainnet → generated/codama}/instructions/cancelRental.js +66 -34
- package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -0
- package/dist/cjs/{codama/devnet/instructions/resetRental.js → generated/codama/instructions/closeContract.js} +29 -38
- package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -0
- package/dist/cjs/{codama/mainnet → generated/codama}/instructions/closeRental.js +89 -44
- package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -0
- package/dist/cjs/{codama/devnet → generated/codama}/instructions/createContract.js +13 -16
- package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -0
- package/dist/cjs/{codama/mainnet → generated/codama}/instructions/index.js +2 -0
- package/dist/cjs/generated/codama/instructions/index.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/initializeConfig.js +139 -0
- package/dist/cjs/generated/codama/instructions/initializeConfig.js.map +1 -0
- package/dist/cjs/{codama/mainnet → generated/codama}/instructions/payRental.js +14 -71
- package/dist/cjs/generated/codama/instructions/payRental.js.map +1 -0
- package/dist/cjs/{codama/mainnet → generated/codama}/instructions/resetRental.js +11 -10
- package/dist/cjs/generated/codama/instructions/resetRental.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/updateConfig.js +143 -0
- package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -0
- package/dist/cjs/generated/codama/programs/index.js.map +1 -0
- package/dist/cjs/{codama/devnet → generated/codama}/programs/srsly.js +15 -7
- package/dist/cjs/generated/codama/programs/srsly.js.map +1 -0
- package/dist/cjs/{codama/devnet → generated/codama}/shared/index.js +1 -1
- package/dist/cjs/generated/codama/shared/index.js.map +1 -0
- package/dist/cjs/generated/codama/types/clockData.js +58 -0
- package/dist/cjs/generated/codama/types/clockData.js.map +1 -0
- package/dist/cjs/generated/codama/types/equality.js.map +1 -0
- package/dist/cjs/{codama/devnet → generated/codama}/types/execContext.js +31 -1
- package/dist/cjs/generated/codama/types/execContext.js.map +1 -0
- package/dist/cjs/{codama/devnet → generated/codama}/types/index.js +1 -0
- package/dist/cjs/generated/codama/types/index.js.map +1 -0
- package/dist/cjs/generated/codama/types/paymentFrequency.js +36 -0
- package/dist/cjs/generated/codama/types/paymentFrequency.js.map +1 -0
- package/dist/cjs/{codama/mainnet → generated/codama}/types/serializableAccount.js +28 -1
- package/dist/cjs/generated/codama/types/serializableAccount.js.map +1 -0
- package/dist/cjs/{codama/mainnet → generated/codama}/types/serializableInstruction.js +28 -1
- package/dist/cjs/generated/codama/types/serializableInstruction.js.map +1 -0
- package/dist/cjs/{codama/mainnet → generated/codama}/types/threadResponse.js +31 -1
- package/dist/cjs/generated/codama/types/threadResponse.js.map +1 -0
- package/dist/cjs/generated/codama/types/trigger.js.map +1 -0
- package/dist/cjs/generated/codama/types/triggerContext.js.map +1 -0
- package/dist/cjs/idl/index.js +27 -0
- package/dist/cjs/idl/index.js.map +1 -0
- package/dist/cjs/idl/srsly-data.js +3140 -0
- package/dist/cjs/idl/srsly-data.js.map +1 -0
- package/dist/cjs/idl/srsly.json +3104 -0
- package/dist/cjs/index.js +244 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +63 -0
- package/dist/cjs/rental/accept.js +228 -55
- package/dist/cjs/rental/accept.js.map +1 -1
- package/dist/cjs/rental/cancel.js +155 -25
- package/dist/cjs/rental/cancel.js.map +1 -1
- package/dist/cjs/rental/close.js +157 -29
- package/dist/cjs/rental/close.js.map +1 -1
- package/dist/cjs/rental/index.js +84 -0
- package/dist/cjs/rental/index.js.map +1 -1
- package/dist/cjs/rental/reset.js +159 -36
- package/dist/cjs/rental/reset.js.map +1 -1
- package/dist/cjs/types/payment-frequency.js +87 -0
- package/dist/cjs/types/payment-frequency.js.map +1 -0
- package/dist/cjs/types/srsly.js +3 -0
- package/dist/cjs/types/srsly.js.map +1 -0
- package/dist/cjs/utils/config.js +142 -100
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/constants.js +45 -81
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/cron.js +204 -0
- package/dist/cjs/utils/cron.js.map +1 -0
- package/dist/cjs/utils/derive-pda.js +415 -0
- package/dist/cjs/utils/derive-pda.js.map +1 -0
- package/dist/cjs/utils/fetch-accounts.js +241 -0
- package/dist/cjs/utils/fetch-accounts.js.map +1 -0
- package/dist/cjs/utils/index.js +14 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/instruction-converter.js +125 -0
- package/dist/cjs/utils/instruction-converter.js.map +1 -0
- package/dist/cjs/utils/param-converters.js +190 -0
- package/dist/cjs/utils/param-converters.js.map +1 -0
- package/dist/cjs/utils/payment-frequency.js +111 -0
- package/dist/cjs/utils/payment-frequency.js.map +1 -0
- package/dist/cjs/utils/schedule-builder.js +158 -0
- package/dist/cjs/utils/schedule-builder.js.map +1 -0
- package/dist/cjs/utils/schedule-validation.js +136 -0
- package/dist/cjs/utils/schedule-validation.js.map +1 -0
- package/dist/cjs/utils/signer.js +127 -0
- package/dist/cjs/utils/signer.js.map +1 -0
- package/dist/cjs/utils/smart-params.js +52 -0
- package/dist/cjs/utils/smart-params.js.map +1 -0
- package/dist/esm/config/index.js +7 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/config/initialize.js +92 -0
- package/dist/esm/config/initialize.js.map +1 -0
- package/dist/esm/config/update.js +159 -0
- package/dist/esm/config/update.js.map +1 -0
- package/dist/esm/contract/close.js +130 -70
- package/dist/esm/contract/close.js.map +1 -1
- package/dist/esm/contract/create.js +233 -44
- package/dist/esm/contract/create.js.map +1 -1
- package/dist/esm/contract/index.js +51 -2
- package/dist/esm/contract/index.js.map +1 -1
- package/dist/esm/demos.js +26 -0
- package/dist/esm/demos.js.map +1 -0
- package/dist/esm/generated/codama/accounts/configState.js +111 -0
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -0
- package/dist/esm/{codama/mainnet → generated/codama}/accounts/contractState.js +48 -10
- package/dist/esm/generated/codama/accounts/contractState.js.map +1 -0
- package/dist/esm/{codama/devnet → generated/codama}/accounts/index.js +1 -1
- package/dist/esm/generated/codama/accounts/index.js.map +1 -0
- package/dist/esm/generated/codama/accounts/rentalState.js +113 -0
- package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -0
- package/dist/esm/{codama/mainnet → generated/codama}/accounts/thread.js +43 -6
- package/dist/esm/generated/codama/accounts/thread.js.map +1 -0
- package/dist/esm/generated/codama/errors/index.js.map +1 -0
- package/dist/esm/generated/codama/errors/srsly.js +96 -0
- package/dist/esm/generated/codama/errors/srsly.js.map +1 -0
- package/dist/esm/generated/codama/index.js.map +1 -0
- package/dist/esm/{codama/devnet → generated/codama}/instructions/acceptRental.js +18 -43
- package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -0
- package/dist/esm/{codama/mainnet → generated/codama}/instructions/cancelRental.js +66 -34
- package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -0
- package/dist/esm/{codama/devnet/instructions/resetRental.js → generated/codama/instructions/closeContract.js} +21 -30
- package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -0
- package/dist/esm/{codama/devnet → generated/codama}/instructions/closeRental.js +89 -44
- package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -0
- package/dist/esm/{codama/mainnet → generated/codama}/instructions/createContract.js +13 -16
- package/dist/esm/generated/codama/instructions/createContract.js.map +1 -0
- package/dist/esm/{codama/mainnet → generated/codama}/instructions/index.js +2 -0
- package/dist/esm/generated/codama/instructions/index.js.map +1 -0
- package/dist/esm/generated/codama/instructions/initializeConfig.js +129 -0
- package/dist/esm/generated/codama/instructions/initializeConfig.js.map +1 -0
- package/dist/esm/{codama/mainnet → generated/codama}/instructions/payRental.js +16 -73
- package/dist/esm/generated/codama/instructions/payRental.js.map +1 -0
- package/dist/esm/{codama/mainnet → generated/codama}/instructions/resetRental.js +11 -10
- package/dist/esm/generated/codama/instructions/resetRental.js.map +1 -0
- package/dist/esm/generated/codama/instructions/updateConfig.js +133 -0
- package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -0
- package/dist/esm/generated/codama/programs/index.js.map +1 -0
- package/dist/esm/{codama/devnet → generated/codama}/programs/srsly.js +15 -7
- package/dist/esm/generated/codama/programs/srsly.js.map +1 -0
- package/dist/esm/{codama/devnet → generated/codama}/shared/index.js +1 -1
- package/dist/esm/generated/codama/shared/index.js.map +1 -0
- package/dist/esm/generated/codama/types/clockData.js +53 -0
- package/dist/esm/generated/codama/types/clockData.js.map +1 -0
- package/dist/esm/generated/codama/types/equality.js.map +1 -0
- package/dist/esm/generated/codama/types/execContext.js +63 -0
- package/dist/esm/generated/codama/types/execContext.js.map +1 -0
- package/dist/esm/{codama/devnet → generated/codama}/types/index.js +1 -0
- package/dist/esm/generated/codama/types/index.js.map +1 -0
- package/dist/esm/generated/codama/types/paymentFrequency.js +30 -0
- package/dist/esm/generated/codama/types/paymentFrequency.js.map +1 -0
- package/dist/esm/generated/codama/types/serializableAccount.js +53 -0
- package/dist/esm/generated/codama/types/serializableAccount.js.map +1 -0
- package/dist/esm/generated/codama/types/serializableInstruction.js +54 -0
- package/dist/esm/generated/codama/types/serializableInstruction.js.map +1 -0
- package/dist/esm/generated/codama/types/threadResponse.js +63 -0
- package/dist/esm/generated/codama/types/threadResponse.js.map +1 -0
- package/dist/esm/generated/codama/types/trigger.js.map +1 -0
- package/dist/esm/generated/codama/types/triggerContext.js.map +1 -0
- package/dist/esm/idl/index.js +21 -0
- package/dist/esm/idl/index.js.map +1 -0
- package/dist/esm/idl/srsly-data.js +3137 -0
- package/dist/esm/idl/srsly-data.js.map +1 -0
- package/dist/esm/idl/srsly.json +3104 -0
- package/dist/esm/index.js +213 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +63 -0
- package/dist/esm/rental/accept.js +230 -58
- package/dist/esm/rental/accept.js.map +1 -1
- package/dist/esm/rental/cancel.js +155 -26
- package/dist/esm/rental/cancel.js.map +1 -1
- package/dist/esm/rental/close.js +157 -30
- package/dist/esm/rental/close.js.map +1 -1
- package/dist/esm/rental/index.js +88 -4
- package/dist/esm/rental/index.js.map +1 -1
- package/dist/esm/rental/reset.js +161 -39
- package/dist/esm/rental/reset.js.map +1 -1
- package/dist/esm/types/payment-frequency.js +83 -0
- package/dist/esm/types/payment-frequency.js.map +1 -0
- package/dist/esm/types/srsly.js +2 -0
- package/dist/esm/types/srsly.js.map +1 -0
- package/dist/esm/utils/config.js +134 -92
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/constants.js +43 -77
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/cron.js +195 -0
- package/dist/esm/utils/cron.js.map +1 -0
- package/dist/esm/utils/derive-pda.js +402 -0
- package/dist/esm/utils/derive-pda.js.map +1 -0
- package/dist/esm/utils/fetch-accounts.js +233 -0
- package/dist/esm/utils/fetch-accounts.js.map +1 -0
- package/dist/esm/utils/index.js +16 -3
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/instruction-converter.js +120 -0
- package/dist/esm/utils/instruction-converter.js.map +1 -0
- package/dist/esm/utils/param-converters.js +182 -0
- package/dist/esm/utils/param-converters.js.map +1 -0
- package/dist/esm/utils/payment-frequency.js +104 -0
- package/dist/esm/utils/payment-frequency.js.map +1 -0
- package/dist/esm/utils/schedule-builder.js +153 -0
- package/dist/esm/utils/schedule-builder.js.map +1 -0
- package/dist/esm/utils/schedule-validation.js +132 -0
- package/dist/esm/utils/schedule-validation.js.map +1 -0
- package/dist/esm/utils/signer.js +119 -0
- package/dist/esm/utils/signer.js.map +1 -0
- package/dist/esm/utils/smart-params.js +49 -0
- package/dist/esm/utils/smart-params.js.map +1 -0
- package/dist/types/config/index.d.ts +7 -0
- package/dist/types/config/index.d.ts.map +1 -0
- package/dist/types/config/initialize.d.ts +66 -0
- package/dist/types/config/initialize.d.ts.map +1 -0
- package/dist/types/config/update.d.ts +143 -0
- package/dist/types/config/update.d.ts.map +1 -0
- package/dist/types/contract/close.d.ts +100 -28
- package/dist/types/contract/close.d.ts.map +1 -1
- package/dist/types/contract/create.d.ts +115 -45
- package/dist/types/contract/create.d.ts.map +1 -1
- package/dist/types/contract/index.d.ts +51 -2
- package/dist/types/contract/index.d.ts.map +1 -1
- package/dist/types/demos.d.ts +66 -0
- package/dist/types/demos.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/configState.d.ts +75 -0
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/contractState.d.ts +78 -0
- package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -0
- package/dist/types/{codama/devnet → generated/codama}/accounts/index.d.ts +1 -1
- package/dist/types/generated/codama/accounts/index.d.ts.map +1 -0
- package/dist/types/generated/codama/accounts/rentalState.d.ts +78 -0
- package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -0
- package/dist/types/{codama/mainnet → generated/codama}/accounts/thread.d.ts +8 -7
- package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -0
- package/dist/types/generated/codama/errors/index.d.ts.map +1 -0
- package/dist/types/generated/codama/errors/srsly.d.ts +68 -0
- package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -0
- package/dist/types/generated/codama/index.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/acceptRental.d.ts +132 -0
- package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/cancelRental.d.ts +87 -0
- package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeContract.d.ts +71 -0
- package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/closeRental.d.ts +119 -0
- package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/createContract.d.ts +112 -0
- package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -0
- package/dist/types/{codama/devnet → generated/codama}/instructions/index.d.ts +2 -0
- package/dist/types/generated/codama/instructions/index.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/initializeConfig.d.ts +60 -0
- package/dist/types/generated/codama/instructions/initializeConfig.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/payRental.d.ts +103 -0
- package/dist/types/generated/codama/instructions/payRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/resetRental.d.ts +79 -0
- package/dist/types/generated/codama/instructions/resetRental.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/updateConfig.d.ts +109 -0
- package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -0
- package/dist/types/generated/codama/programs/index.d.ts.map +1 -0
- package/dist/types/{codama/mainnet → generated/codama}/programs/srsly.d.ts +12 -6
- package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -0
- package/dist/types/{codama/devnet → generated/codama}/shared/index.d.ts +14 -3
- package/dist/types/generated/codama/shared/index.d.ts.map +1 -0
- package/dist/types/{codama/devnet → generated/codama}/types/clockData.d.ts +4 -3
- package/dist/types/generated/codama/types/clockData.d.ts.map +1 -0
- package/dist/types/{codama/devnet → generated/codama}/types/equality.d.ts +4 -4
- package/dist/types/generated/codama/types/equality.d.ts.map +1 -0
- package/dist/types/{codama/devnet → generated/codama}/types/execContext.d.ts +2 -1
- package/dist/types/generated/codama/types/execContext.d.ts.map +1 -0
- package/dist/types/{codama/devnet → generated/codama}/types/index.d.ts +1 -0
- package/dist/types/generated/codama/types/index.d.ts.map +1 -0
- package/dist/types/generated/codama/types/paymentFrequency.d.ts +24 -0
- package/dist/types/generated/codama/types/paymentFrequency.d.ts.map +1 -0
- package/dist/types/{codama/devnet → generated/codama}/types/serializableAccount.d.ts +4 -3
- package/dist/types/generated/codama/types/serializableAccount.d.ts.map +1 -0
- package/dist/types/{codama/mainnet → generated/codama}/types/serializableInstruction.d.ts +2 -1
- package/dist/types/generated/codama/types/serializableInstruction.d.ts.map +1 -0
- package/dist/types/{codama/devnet → generated/codama}/types/threadResponse.d.ts +2 -1
- package/dist/types/generated/codama/types/threadResponse.d.ts.map +1 -0
- package/dist/types/generated/codama/types/trigger.d.ts.map +1 -0
- package/dist/types/generated/codama/types/triggerContext.d.ts.map +1 -0
- package/dist/types/idl/index.d.ts +21 -0
- package/dist/types/idl/index.d.ts.map +1 -0
- package/dist/types/idl/srsly-data.d.ts +1458 -0
- package/dist/types/idl/srsly-data.d.ts.map +1 -0
- package/dist/types/index.d.ts +213 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/rental/accept.d.ts +165 -61
- package/dist/types/rental/accept.d.ts.map +1 -1
- package/dist/types/rental/cancel.d.ts +119 -22
- package/dist/types/rental/cancel.d.ts.map +1 -1
- package/dist/types/rental/close.d.ts +108 -27
- package/dist/types/rental/close.d.ts.map +1 -1
- package/dist/types/rental/index.d.ts +88 -4
- package/dist/types/rental/index.d.ts.map +1 -1
- package/dist/types/rental/reset.d.ts +137 -39
- package/dist/types/rental/reset.d.ts.map +1 -1
- package/dist/types/types/payment-frequency.d.ts +55 -0
- package/dist/types/types/payment-frequency.d.ts.map +1 -0
- package/dist/types/types/srsly.d.ts +3111 -0
- package/dist/types/types/srsly.d.ts.map +1 -0
- package/dist/types/utils/config.d.ts +78 -61
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/constants.d.ts +16 -22
- package/dist/types/utils/constants.d.ts.map +1 -1
- package/dist/types/utils/cron.d.ts +77 -0
- package/dist/types/utils/cron.d.ts.map +1 -0
- package/dist/types/utils/derive-pda.d.ts +213 -0
- package/dist/types/utils/derive-pda.d.ts.map +1 -0
- package/dist/types/utils/fetch-accounts.d.ts +158 -0
- package/dist/types/utils/fetch-accounts.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +16 -3
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/instruction-converter.d.ts +171 -0
- package/dist/types/utils/instruction-converter.d.ts.map +1 -0
- package/dist/types/utils/param-converters.d.ts +67 -0
- package/dist/types/utils/param-converters.d.ts.map +1 -0
- package/dist/types/utils/payment-frequency.d.ts +38 -0
- package/dist/types/utils/payment-frequency.d.ts.map +1 -0
- package/dist/types/utils/schedule-builder.d.ts +64 -0
- package/dist/types/utils/schedule-builder.d.ts.map +1 -0
- package/dist/types/utils/schedule-validation.d.ts +36 -0
- package/dist/types/utils/schedule-validation.d.ts.map +1 -0
- package/dist/types/utils/signer.d.ts +61 -0
- package/dist/types/utils/signer.d.ts.map +1 -0
- package/dist/types/utils/smart-params.d.ts +112 -0
- package/dist/types/utils/smart-params.d.ts.map +1 -0
- package/package.json +55 -34
- 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 +0 -89
- package/dist/cjs/codama/devnet/accounts/thread.js.map +0 -1
- package/dist/cjs/codama/devnet/constants.js +0 -32
- package/dist/cjs/codama/devnet/constants.js.map +0 -1
- package/dist/cjs/codama/devnet/errors/index.js.map +0 -1
- package/dist/cjs/codama/devnet/errors/srsly.js +0 -74
- 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 -246
- package/dist/cjs/codama/devnet/instructions/closeContract.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/closeRental.js +0 -260
- package/dist/cjs/codama/devnet/instructions/closeRental.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/createContract.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/index.js +0 -31
- package/dist/cjs/codama/devnet/instructions/index.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/payRental.js +0 -280
- 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.map +0 -1
- package/dist/cjs/codama/devnet/shared/index.js.map +0 -1
- package/dist/cjs/codama/devnet/types/clockData.js +0 -31
- 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/serializableAccount.js +0 -31
- package/dist/cjs/codama/devnet/types/serializableAccount.js.map +0 -1
- package/dist/cjs/codama/devnet/types/serializableInstruction.js +0 -32
- package/dist/cjs/codama/devnet/types/serializableInstruction.js.map +0 -1
- package/dist/cjs/codama/devnet/types/threadResponse.js +0 -38
- 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 -87
- 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 -87
- package/dist/cjs/codama/mainnet/accounts/rentalState.js.map +0 -1
- package/dist/cjs/codama/mainnet/accounts/thread.js.map +0 -1
- package/dist/cjs/codama/mainnet/constants.js +0 -32
- package/dist/cjs/codama/mainnet/constants.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 -74
- 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 +0 -357
- 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 -246
- package/dist/cjs/codama/mainnet/instructions/closeContract.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/closeRental.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/createContract.js +0 -261
- 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/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 +0 -73
- 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 -32
- package/dist/cjs/codama/mainnet/types/index.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/serializableAccount.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/serializableInstruction.js.map +0 -1
- 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/utils/profiles.js +0 -159
- package/dist/cjs/utils/profiles.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/contractState.js +0 -75
- 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 +0 -74
- package/dist/esm/codama/devnet/accounts/rentalState.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/thread.js +0 -77
- package/dist/esm/codama/devnet/accounts/thread.js.map +0 -1
- package/dist/esm/codama/devnet/constants.js +0 -29
- package/dist/esm/codama/devnet/constants.js.map +0 -1
- package/dist/esm/codama/devnet/errors/index.js.map +0 -1
- package/dist/esm/codama/devnet/errors/srsly.js +0 -69
- 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 -236
- package/dist/esm/codama/devnet/instructions/closeContract.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/closeRental.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/createContract.js +0 -251
- package/dist/esm/codama/devnet/instructions/createContract.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/index.js +0 -15
- package/dist/esm/codama/devnet/instructions/index.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/payRental.js +0 -270
- 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 +0 -26
- 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 +0 -33
- 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/serializableAccount.js +0 -26
- package/dist/esm/codama/devnet/types/serializableAccount.js.map +0 -1
- package/dist/esm/codama/devnet/types/serializableInstruction.js +0 -27
- package/dist/esm/codama/devnet/types/serializableInstruction.js.map +0 -1
- package/dist/esm/codama/devnet/types/threadResponse.js +0 -33
- 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.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 -74
- package/dist/esm/codama/mainnet/accounts/rentalState.js.map +0 -1
- package/dist/esm/codama/mainnet/accounts/thread.js.map +0 -1
- package/dist/esm/codama/mainnet/constants.js +0 -29
- package/dist/esm/codama/mainnet/constants.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 -69
- 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 +0 -347
- 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 -236
- package/dist/esm/codama/mainnet/instructions/closeContract.js.map +0 -1
- package/dist/esm/codama/mainnet/instructions/closeRental.js +0 -250
- package/dist/esm/codama/mainnet/instructions/closeRental.js.map +0 -1
- 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/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 -68
- 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 -16
- package/dist/esm/codama/mainnet/types/index.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/utils/profiles.js +0 -152
- package/dist/esm/utils/profiles.js.map +0 -1
- package/dist/types/codama/devnet/accounts/contractState.d.ts +0 -51
- 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 -48
- package/dist/types/codama/devnet/accounts/rentalState.d.ts.map +0 -1
- package/dist/types/codama/devnet/accounts/thread.d.ts +0 -74
- package/dist/types/codama/devnet/accounts/thread.d.ts.map +0 -1
- package/dist/types/codama/devnet/constants.d.ts +0 -33
- package/dist/types/codama/devnet/constants.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 -50
- 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 -131
- 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 -100
- package/dist/types/codama/devnet/instructions/closeContract.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/closeRental.d.ts +0 -83
- 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/payRental.d.ts +0 -110
- 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 -47
- 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/serializableAccount.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/serializableInstruction.d.ts +0 -30
- 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 -51
- 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 +0 -48
- package/dist/types/codama/mainnet/accounts/rentalState.d.ts.map +0 -1
- package/dist/types/codama/mainnet/accounts/thread.d.ts.map +0 -1
- package/dist/types/codama/mainnet/constants.d.ts +0 -33
- package/dist/types/codama/mainnet/constants.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 -50
- 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 -131
- 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 -100
- package/dist/types/codama/mainnet/instructions/closeContract.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/closeRental.d.ts +0 -83
- 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 -15
- package/dist/types/codama/mainnet/instructions/index.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/payRental.d.ts +0 -110
- 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 -16
- package/dist/types/codama/mainnet/types/index.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.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/utils/profiles.d.ts +0 -54
- package/dist/types/utils/profiles.d.ts.map +0 -1
- package/target/idl/srsly-devnet.json +0 -3275
- package/target/idl/srsly-mainnet.json +0 -3275
- package/target/types/srsly-devnet.ts +0 -1
- package/target/types/srsly-mainnet.ts +0 -1
- /package/dist/cjs/{codama/devnet → generated/codama}/errors/index.js +0 -0
- /package/dist/cjs/{codama/devnet → generated/codama}/index.js +0 -0
- /package/dist/cjs/{codama/devnet → generated/codama}/programs/index.js +0 -0
- /package/dist/cjs/{codama/devnet → generated/codama}/types/equality.js +0 -0
- /package/dist/cjs/{codama/devnet → generated/codama}/types/trigger.js +0 -0
- /package/dist/cjs/{codama/devnet → generated/codama}/types/triggerContext.js +0 -0
- /package/dist/esm/{codama/devnet → generated/codama}/errors/index.js +0 -0
- /package/dist/esm/{codama/devnet → generated/codama}/index.js +0 -0
- /package/dist/esm/{codama/devnet → generated/codama}/programs/index.js +0 -0
- /package/dist/esm/{codama/devnet → generated/codama}/types/equality.js +0 -0
- /package/dist/esm/{codama/devnet → generated/codama}/types/trigger.js +0 -0
- /package/dist/esm/{codama/devnet → generated/codama}/types/triggerContext.js +0 -0
- /package/dist/types/{codama/devnet → generated/codama}/errors/index.d.ts +0 -0
- /package/dist/types/{codama/devnet → generated/codama}/index.d.ts +0 -0
- /package/dist/types/{codama/devnet → generated/codama}/programs/index.d.ts +0 -0
- /package/dist/types/{codama/devnet → generated/codama}/types/trigger.d.ts +0 -0
- /package/dist/types/{codama/devnet → generated/codama}/types/triggerContext.d.ts +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Payment frequency conversion utilities mirroring Rust implementation
|
|
4
|
+
* @reviewed 2025-07-29
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.paymentFrequencyToSeconds = paymentFrequencyToSeconds;
|
|
8
|
+
exports.calculateDurationForPeriods = calculateDurationForPeriods;
|
|
9
|
+
exports.paymentFrequencyStringToSeconds = paymentFrequencyStringToSeconds;
|
|
10
|
+
exports.validateDurationAlignment = validateDurationAlignment;
|
|
11
|
+
exports.normalizePaymentSchedule = normalizePaymentSchedule;
|
|
12
|
+
const payment_frequency_1 = require("../types/payment-frequency");
|
|
13
|
+
const payment_frequency_2 = require("../types/payment-frequency");
|
|
14
|
+
const cron_1 = require("./cron");
|
|
15
|
+
/**
|
|
16
|
+
* Payment frequency conversion utilities
|
|
17
|
+
* Mirrors the Rust implementation in programs/srsly/src/utils.rs
|
|
18
|
+
* Uses auto-generated constants and mappings from Rust source
|
|
19
|
+
*/
|
|
20
|
+
// Auto-synced constants from Rust constants.rs
|
|
21
|
+
const { SECONDS_PER_DECASECOND, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK, SECONDS_PER_MONTH, } = payment_frequency_2.PAYMENT_FREQUENCY_CONSTANTS;
|
|
22
|
+
/**
|
|
23
|
+
* Converts a PaymentFrequency enum value to seconds
|
|
24
|
+
* @deprecated Use calculateDurationForPeriods with cron expressions instead
|
|
25
|
+
* Kept for backwards compatibility only
|
|
26
|
+
*/
|
|
27
|
+
function paymentFrequencyToSeconds(frequency) {
|
|
28
|
+
switch (frequency) {
|
|
29
|
+
case payment_frequency_1.PaymentFrequency.Decasecond:
|
|
30
|
+
return SECONDS_PER_DECASECOND;
|
|
31
|
+
case payment_frequency_1.PaymentFrequency.Minute:
|
|
32
|
+
return SECONDS_PER_MINUTE;
|
|
33
|
+
case payment_frequency_1.PaymentFrequency.Hourly:
|
|
34
|
+
return SECONDS_PER_HOUR;
|
|
35
|
+
case payment_frequency_1.PaymentFrequency.Daily:
|
|
36
|
+
case payment_frequency_1.PaymentFrequency.DailyOld:
|
|
37
|
+
return SECONDS_PER_DAY;
|
|
38
|
+
case payment_frequency_1.PaymentFrequency.Weekly:
|
|
39
|
+
return SECONDS_PER_WEEK;
|
|
40
|
+
case payment_frequency_1.PaymentFrequency.Monthly:
|
|
41
|
+
return SECONDS_PER_MONTH;
|
|
42
|
+
case payment_frequency_1.PaymentFrequency.Custom:
|
|
43
|
+
throw new Error('Custom payment frequency does not have a fixed interval. Use cron expression to calculate.');
|
|
44
|
+
default:
|
|
45
|
+
throw new Error(`Unknown payment frequency: ${frequency}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Calculate duration in seconds for a given number of payment periods
|
|
50
|
+
* Uses cron parsing for accurate calculation with any schedule
|
|
51
|
+
* Mirrors Rust's calculate_duration_for_periods function
|
|
52
|
+
*/
|
|
53
|
+
function calculateDurationForPeriods(schedule, periods, fromTimestamp = Math.floor(Date.now() / 1000)) {
|
|
54
|
+
if (!(0, cron_1.validateCronExpression)(schedule)) {
|
|
55
|
+
throw new Error(`Invalid payment schedule: ${schedule}`);
|
|
56
|
+
}
|
|
57
|
+
const { times } = (0, cron_1.calculatePaymentSchedule)(schedule, fromTimestamp, 365 * 24 * 60 * 60, periods);
|
|
58
|
+
if (times.length < periods) {
|
|
59
|
+
throw new Error(`Could not calculate ${periods} payments within a year for schedule: ${schedule}`);
|
|
60
|
+
}
|
|
61
|
+
// Return duration from start to the Nth payment
|
|
62
|
+
return times[periods - 1] - fromTimestamp;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Converts a payment frequency string to seconds
|
|
66
|
+
* @deprecated Use calculateDurationForPeriods with the actual schedule string
|
|
67
|
+
* Kept for backwards compatibility only
|
|
68
|
+
*/
|
|
69
|
+
function paymentFrequencyStringToSeconds(frequencyString) {
|
|
70
|
+
// Strip @ prefix if present (contracts store as "@daily", "@hourly", etc.)
|
|
71
|
+
const normalizedFrequency = frequencyString.startsWith('@')
|
|
72
|
+
? frequencyString.slice(1)
|
|
73
|
+
: frequencyString;
|
|
74
|
+
const frequency = payment_frequency_2.PAYMENT_FREQUENCY_MAP[normalizedFrequency];
|
|
75
|
+
if (frequency === undefined) {
|
|
76
|
+
throw new Error(`Invalid payment frequency string: ${frequencyString} (normalized: ${normalizedFrequency})`);
|
|
77
|
+
}
|
|
78
|
+
return paymentFrequencyToSeconds(frequency);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Validates that a duration is a multiple of the payment frequency
|
|
82
|
+
* @deprecated No longer needed with period-based durations
|
|
83
|
+
* Periods are always aligned by definition
|
|
84
|
+
*/
|
|
85
|
+
function validateDurationAlignment(duration, frequencyString) {
|
|
86
|
+
// With period-based durations, alignment is automatic
|
|
87
|
+
// This function is kept for backwards compatibility only
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Normalizes payment schedule input to a cron expression.
|
|
92
|
+
* Now that cron-parser handles @ shortcuts natively, we just validate and normalize.
|
|
93
|
+
*
|
|
94
|
+
* @param input - Payment schedule (e.g., '@daily', 'daily', '0 0 * * *')
|
|
95
|
+
* @returns Normalized schedule string for the Rust program
|
|
96
|
+
*/
|
|
97
|
+
function normalizePaymentSchedule(input) {
|
|
98
|
+
// Common shortcuts without @ prefix (for backwards compatibility)
|
|
99
|
+
const shortcutsWithoutAt = ['hourly', 'daily', 'weekly', 'monthly', 'yearly', 'annually', 'decasecond', 'minute'];
|
|
100
|
+
// Add @ prefix if it's a known shortcut without @
|
|
101
|
+
const lowerInput = input.toLowerCase();
|
|
102
|
+
if (shortcutsWithoutAt.includes(lowerInput)) {
|
|
103
|
+
input = `@${lowerInput}`;
|
|
104
|
+
}
|
|
105
|
+
// Validate the expression
|
|
106
|
+
if (!(0, cron_1.validateCronExpression)(input)) {
|
|
107
|
+
throw new Error(`Invalid payment schedule: ${input}`);
|
|
108
|
+
}
|
|
109
|
+
return input;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=payment-frequency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-frequency.js","sourceRoot":"","sources":["../../../src/utils/payment-frequency.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Fluent API for building and previewing payment schedules
|
|
4
|
+
* @reviewed 2025-08-05
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ScheduleBuilder = void 0;
|
|
8
|
+
exports.createSchedule = createSchedule;
|
|
9
|
+
const cron_1 = require("./cron");
|
|
10
|
+
const payment_frequency_1 = require("./payment-frequency");
|
|
11
|
+
const schedule_validation_1 = require("./schedule-validation");
|
|
12
|
+
/**
|
|
13
|
+
* Builder for payment schedules with validation and preview.
|
|
14
|
+
*/
|
|
15
|
+
class ScheduleBuilder {
|
|
16
|
+
schedule;
|
|
17
|
+
/**
|
|
18
|
+
* Create from PaymentFrequency enum or string.
|
|
19
|
+
*/
|
|
20
|
+
static fromFrequency(frequency) {
|
|
21
|
+
const cron = typeof frequency === 'string'
|
|
22
|
+
? (0, payment_frequency_1.normalizePaymentSchedule)(frequency)
|
|
23
|
+
: (0, cron_1.paymentFrequencyToCron)(frequency);
|
|
24
|
+
return new ScheduleBuilder(cron);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create from custom cron expression.
|
|
28
|
+
*/
|
|
29
|
+
static fromCron(expression) {
|
|
30
|
+
if (!(0, cron_1.validateCronExpression)(expression)) {
|
|
31
|
+
throw new Error('Invalid cron expression: ' + expression);
|
|
32
|
+
}
|
|
33
|
+
return new ScheduleBuilder(expression);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Create schedule for common intervals.
|
|
37
|
+
*/
|
|
38
|
+
static every(interval, value) {
|
|
39
|
+
let cron;
|
|
40
|
+
switch (interval) {
|
|
41
|
+
case 'minutes':
|
|
42
|
+
if (value === 1) {
|
|
43
|
+
cron = '0 * * * * *';
|
|
44
|
+
}
|
|
45
|
+
else if (60 % value === 0) {
|
|
46
|
+
cron = '0 */' + value + ' * * * *';
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
throw new Error('Cannot create schedule for every ' + value + ' minutes');
|
|
50
|
+
}
|
|
51
|
+
break;
|
|
52
|
+
case 'hours':
|
|
53
|
+
if (value === 1) {
|
|
54
|
+
cron = '@hourly';
|
|
55
|
+
}
|
|
56
|
+
else if (24 % value === 0) {
|
|
57
|
+
cron = '0 0 */' + value + ' * * *';
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
throw new Error('Cannot create schedule for every ' + value + ' hours');
|
|
61
|
+
}
|
|
62
|
+
break;
|
|
63
|
+
case 'days':
|
|
64
|
+
if (value === 1) {
|
|
65
|
+
cron = '@daily';
|
|
66
|
+
}
|
|
67
|
+
else if (value === 7) {
|
|
68
|
+
cron = '@weekly';
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
cron = '0 0 0 */' + value + ' * *';
|
|
72
|
+
}
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
return new ScheduleBuilder(cron);
|
|
76
|
+
}
|
|
77
|
+
constructor(schedule) {
|
|
78
|
+
this.schedule = schedule;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Preview payment schedule.
|
|
82
|
+
*/
|
|
83
|
+
preview(startTime, duration, rate) {
|
|
84
|
+
const { times, totalPayments } = (0, cron_1.calculatePaymentSchedule)(this.schedule, startTime, duration, 10);
|
|
85
|
+
const payments = times.map((time, index) => ({
|
|
86
|
+
time,
|
|
87
|
+
date: new Date(time * 1000),
|
|
88
|
+
paymentNumber: index + 1
|
|
89
|
+
}));
|
|
90
|
+
const preview = {
|
|
91
|
+
schedule: this.schedule,
|
|
92
|
+
payments,
|
|
93
|
+
totalCount: totalPayments,
|
|
94
|
+
firstPayment: payments[0]?.date,
|
|
95
|
+
lastPayment: times[times.length - 1]
|
|
96
|
+
? new Date(times[times.length - 1] * 1000)
|
|
97
|
+
: undefined,
|
|
98
|
+
};
|
|
99
|
+
if (rate !== undefined && rate > 0) {
|
|
100
|
+
preview.amountPerPayment = rate;
|
|
101
|
+
preview.totalAmount = rate * totalPayments;
|
|
102
|
+
}
|
|
103
|
+
return preview;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Validate schedule against rental constraints.
|
|
107
|
+
*/
|
|
108
|
+
validate(duration, minDuration, maxDuration) {
|
|
109
|
+
return (0, schedule_validation_1.validateRentalSchedule)(this.schedule, duration, minDuration, maxDuration);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Get human-readable description.
|
|
113
|
+
*/
|
|
114
|
+
describe() {
|
|
115
|
+
const descriptions = {
|
|
116
|
+
'@hourly': 'Every hour',
|
|
117
|
+
'@daily': 'Daily',
|
|
118
|
+
'@weekly': 'Weekly',
|
|
119
|
+
'@monthly': 'Monthly',
|
|
120
|
+
'*/10 * * * * *': 'Every 10 seconds',
|
|
121
|
+
'0 * * * * *': 'Every minute',
|
|
122
|
+
};
|
|
123
|
+
const desc = descriptions[this.schedule];
|
|
124
|
+
return desc ? desc + ' (' + this.schedule + ')' : this.schedule;
|
|
125
|
+
}
|
|
126
|
+
toString() {
|
|
127
|
+
return this.schedule;
|
|
128
|
+
}
|
|
129
|
+
getCronExpression() {
|
|
130
|
+
return this.schedule;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.ScheduleBuilder = ScheduleBuilder;
|
|
134
|
+
function createSchedule(type, options) {
|
|
135
|
+
switch (type) {
|
|
136
|
+
case 'hourly':
|
|
137
|
+
case 'daily':
|
|
138
|
+
case 'weekly':
|
|
139
|
+
case 'monthly':
|
|
140
|
+
return ScheduleBuilder.fromFrequency(type);
|
|
141
|
+
case 'every':
|
|
142
|
+
if (options.minutes) {
|
|
143
|
+
return ScheduleBuilder.every('minutes', options.minutes);
|
|
144
|
+
}
|
|
145
|
+
else if (options.hours) {
|
|
146
|
+
return ScheduleBuilder.every('hours', options.hours);
|
|
147
|
+
}
|
|
148
|
+
else if (options.days) {
|
|
149
|
+
return ScheduleBuilder.every('days', options.days);
|
|
150
|
+
}
|
|
151
|
+
throw new Error('Invalid interval options');
|
|
152
|
+
case 'cron':
|
|
153
|
+
return ScheduleBuilder.fromCron(options);
|
|
154
|
+
default:
|
|
155
|
+
throw new Error('Unknown schedule type: ' + type);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=schedule-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-builder.js","sourceRoot":"","sources":["../../../src/utils/schedule-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Payment schedule validation utilities for rental contracts
|
|
4
|
+
* @reviewed 2025-08-05
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.validateRentalSchedule = validateRentalSchedule;
|
|
8
|
+
exports.validateFrequencyForDuration = validateFrequencyForDuration;
|
|
9
|
+
const cron_1 = require("./cron");
|
|
10
|
+
const payment_frequency_1 = require("./payment-frequency");
|
|
11
|
+
const payment_frequency_2 = require("../types/payment-frequency");
|
|
12
|
+
/**
|
|
13
|
+
* Validate rental payment schedule.
|
|
14
|
+
*
|
|
15
|
+
* @param schedule - Payment schedule (frequency string or cron)
|
|
16
|
+
* @param duration - Rental duration in seconds
|
|
17
|
+
* @param minDuration - Minimum duration
|
|
18
|
+
* @param maxDuration - Maximum duration
|
|
19
|
+
* @returns Validation result
|
|
20
|
+
*/
|
|
21
|
+
function validateRentalSchedule(schedule, duration, minDuration, maxDuration) {
|
|
22
|
+
const errors = [];
|
|
23
|
+
const warnings = [];
|
|
24
|
+
// Normalize schedule
|
|
25
|
+
let normalizedSchedule;
|
|
26
|
+
try {
|
|
27
|
+
normalizedSchedule = (0, payment_frequency_1.normalizePaymentSchedule)(schedule);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
errors.push('Invalid payment schedule');
|
|
31
|
+
return { valid: false, errors, warnings };
|
|
32
|
+
}
|
|
33
|
+
// Validate cron
|
|
34
|
+
if (!(0, cron_1.validateCronExpression)(normalizedSchedule)) {
|
|
35
|
+
errors.push('Invalid cron expression');
|
|
36
|
+
return { valid: false, errors, warnings };
|
|
37
|
+
}
|
|
38
|
+
// Validate duration bounds
|
|
39
|
+
if (duration < minDuration) {
|
|
40
|
+
errors.push('Duration is less than minimum');
|
|
41
|
+
}
|
|
42
|
+
if (duration > maxDuration) {
|
|
43
|
+
errors.push('Duration exceeds maximum');
|
|
44
|
+
}
|
|
45
|
+
// Check duration alignment for standard frequencies
|
|
46
|
+
try {
|
|
47
|
+
const parsed = (0, cron_1.parseScheduleString)(normalizedSchedule);
|
|
48
|
+
if (parsed.type === 'enum' && payment_frequency_2.CRON_TO_PAYMENT_FREQUENCY[normalizedSchedule]) {
|
|
49
|
+
try {
|
|
50
|
+
const frequencySeconds = (0, payment_frequency_1.paymentFrequencyStringToSeconds)(normalizedSchedule);
|
|
51
|
+
if (duration % frequencySeconds !== 0) {
|
|
52
|
+
warnings.push('Duration is not aligned with payment frequency');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Custom expression
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// Continue
|
|
62
|
+
}
|
|
63
|
+
// Calculate payments
|
|
64
|
+
const now = Math.floor(Date.now() / 1000);
|
|
65
|
+
let paymentInfo;
|
|
66
|
+
try {
|
|
67
|
+
paymentInfo = (0, cron_1.calculatePaymentSchedule)(normalizedSchedule, now, duration);
|
|
68
|
+
if (paymentInfo.totalPayments === 0) {
|
|
69
|
+
errors.push('No payments would occur');
|
|
70
|
+
}
|
|
71
|
+
else if (paymentInfo.totalPayments === 1) {
|
|
72
|
+
warnings.push('Only one payment will occur');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
errors.push('Failed to calculate payment schedule');
|
|
77
|
+
return { valid: false, errors, warnings, normalizedSchedule };
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
valid: errors.length === 0,
|
|
81
|
+
errors,
|
|
82
|
+
warnings,
|
|
83
|
+
normalizedSchedule,
|
|
84
|
+
paymentCount: paymentInfo.totalPayments,
|
|
85
|
+
firstPayment: paymentInfo.times[0] ? new Date(paymentInfo.times[0] * 1000) : undefined,
|
|
86
|
+
lastPayment: paymentInfo.times[paymentInfo.times.length - 1]
|
|
87
|
+
? new Date(paymentInfo.times[paymentInfo.times.length - 1] * 1000)
|
|
88
|
+
: undefined,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Check if frequency is appropriate for duration.
|
|
93
|
+
*
|
|
94
|
+
* @param frequency - Payment frequency
|
|
95
|
+
* @param duration - Duration in seconds
|
|
96
|
+
* @returns Validation result with suggestions
|
|
97
|
+
*/
|
|
98
|
+
function validateFrequencyForDuration(frequency, duration) {
|
|
99
|
+
const hour = 3600;
|
|
100
|
+
const day = 86400;
|
|
101
|
+
const week = 604800;
|
|
102
|
+
// Calculate payments
|
|
103
|
+
const normalizedSchedule = (0, payment_frequency_1.normalizePaymentSchedule)(frequency);
|
|
104
|
+
const now = Math.floor(Date.now() / 1000);
|
|
105
|
+
const { totalPayments } = (0, cron_1.calculatePaymentSchedule)(normalizedSchedule, now, duration);
|
|
106
|
+
const suggestions = [];
|
|
107
|
+
let appropriate = true;
|
|
108
|
+
let reason;
|
|
109
|
+
// Too many payments
|
|
110
|
+
if (totalPayments > 100) {
|
|
111
|
+
appropriate = false;
|
|
112
|
+
reason = 'Too many payments';
|
|
113
|
+
if (duration >= week) {
|
|
114
|
+
suggestions.push('@daily', '@weekly');
|
|
115
|
+
}
|
|
116
|
+
else if (duration >= day) {
|
|
117
|
+
suggestions.push('@hourly', '@daily');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Too few payments
|
|
121
|
+
if (totalPayments < 2) {
|
|
122
|
+
appropriate = false;
|
|
123
|
+
reason = 'Too few payments';
|
|
124
|
+
if (duration >= week * 4) {
|
|
125
|
+
suggestions.push('@weekly', '@daily');
|
|
126
|
+
}
|
|
127
|
+
else if (duration >= week) {
|
|
128
|
+
suggestions.push('@daily');
|
|
129
|
+
}
|
|
130
|
+
else if (duration >= day) {
|
|
131
|
+
suggestions.push('@hourly');
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return { appropriate, reason, suggestions };
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=schedule-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-validation.js","sourceRoot":"","sources":["../../../src/utils/schedule-validation.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAgCH,wDA4EC;AASD,oEAgDC;AAnKD,iCAIgB;AAChB,2DAG6B;AAC7B,kEAAuE;AAYvE;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CACpC,QAAgB,EAChB,QAAgB,EAChB,WAAmB,EACnB,WAAmB;IAEnB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,qBAAqB;IACrB,IAAI,kBAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,kBAAkB,GAAG,IAAA,4CAAwB,EAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,IAAA,6BAAsB,EAAC,kBAAkB,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,2BAA2B;IAC3B,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,0BAAmB,EAAC,kBAAkB,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,6CAAyB,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5E,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,IAAA,mDAA+B,EAAC,kBAAkB,CAAC,CAAC;gBAC7E,IAAI,QAAQ,GAAG,gBAAgB,KAAK,CAAC,EAAE,CAAC;oBACtC,QAAQ,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,WAAW;IACb,CAAC;IAED,qBAAqB;IACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACH,WAAW,GAAG,IAAA,+BAAwB,EAAC,kBAAkB,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE1E,IAAI,WAAW,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,WAAW,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAChE,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,QAAQ;QACR,kBAAkB;QAClB,YAAY,EAAE,WAAW,CAAC,aAAa;QACvC,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QACtF,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1D,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAClE,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAC1C,SAAiB,EACjB,QAAgB;IAMhB,MAAM,IAAI,GAAG,IAAI,CAAC;IAClB,MAAM,GAAG,GAAG,KAAK,CAAC;IAClB,MAAM,IAAI,GAAG,MAAM,CAAC;IAEpB,qBAAqB;IACrB,MAAM,kBAAkB,GAAG,IAAA,4CAAwB,EAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,+BAAwB,EAAC,kBAAkB,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEtF,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,MAA0B,CAAC;IAE/B,oBAAoB;IACpB,IAAI,aAAa,GAAG,GAAG,EAAE,CAAC;QACxB,WAAW,GAAG,KAAK,CAAC;QACpB,MAAM,GAAG,mBAAmB,CAAC;QAE7B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,WAAW,GAAG,KAAK,CAAC;QACpB,MAAM,GAAG,kBAAkB,CAAC;QAE5B,IAAI,QAAQ,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Universal signer handling utilities for @solana/kit compatibility
|
|
4
|
+
* @reviewed 2025-07-29
|
|
5
|
+
*
|
|
6
|
+
* This module provides utilities to handle different signer types in a unified way
|
|
7
|
+
* while ensuring compatibility with @solana/kit. Supports string addresses for
|
|
8
|
+
* browser usage and TransactionSigner objects for Node.js usage.
|
|
9
|
+
*
|
|
10
|
+
* Note: web3.js signers (Keypair, etc.) are explicitly not supported.
|
|
11
|
+
* Use address strings or @solana/kit TransactionSigner objects instead.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.InvalidSignerError = void 0;
|
|
15
|
+
exports.validateSigner = validateSigner;
|
|
16
|
+
exports.createTransactionSigner = createTransactionSigner;
|
|
17
|
+
exports.isSignerObject = isSignerObject;
|
|
18
|
+
exports.isAddressString = isAddressString;
|
|
19
|
+
const kit_1 = require("@solana/kit");
|
|
20
|
+
/**
|
|
21
|
+
* Error thrown when an invalid signer type is provided.
|
|
22
|
+
*
|
|
23
|
+
* @class InvalidSignerError
|
|
24
|
+
*/
|
|
25
|
+
class InvalidSignerError extends Error {
|
|
26
|
+
constructor(message) {
|
|
27
|
+
super(message);
|
|
28
|
+
this.name = 'InvalidSignerError';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.InvalidSignerError = InvalidSignerError;
|
|
32
|
+
/**
|
|
33
|
+
* Validates signer compatibility with @solana/kit.
|
|
34
|
+
*
|
|
35
|
+
* @param signer - The signer to validate
|
|
36
|
+
* @throws {InvalidSignerError} If the signer is not compatible
|
|
37
|
+
*/
|
|
38
|
+
function validateSigner(signer) {
|
|
39
|
+
if (typeof signer === 'string') {
|
|
40
|
+
// Validate that the string is a valid Solana address
|
|
41
|
+
try {
|
|
42
|
+
// Use @solana/kit's address() function to validate - it will throw if invalid
|
|
43
|
+
(0, kit_1.address)(signer);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
throw new InvalidSignerError(`Invalid address string: "${signer}". ${error instanceof Error ? error.message : 'Unknown validation error'}\n\n` +
|
|
48
|
+
'Expected a valid base58-encoded Solana address (32-44 characters).\n' +
|
|
49
|
+
'Examples:\n' +
|
|
50
|
+
' - "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"\n' +
|
|
51
|
+
' - "So11111111111111111111111111111111111111112"');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (signer && typeof signer === 'object') {
|
|
55
|
+
const signerObj = signer;
|
|
56
|
+
// Check for web3.js Keypair or similar patterns
|
|
57
|
+
if ('publicKey' in signerObj) {
|
|
58
|
+
throw new InvalidSignerError('web3.js signers (Keypair, etc.) are not supported. ' +
|
|
59
|
+
'Use a base58 address string or TransactionSigner from @solana/kit instead.\n\n' +
|
|
60
|
+
'Examples:\n' +
|
|
61
|
+
' - Browser: "base58AddressString"\n' +
|
|
62
|
+
' - Node.js: createNoopSigner(address("base58AddressString"))');
|
|
63
|
+
}
|
|
64
|
+
// Check for valid @solana/kit signer patterns
|
|
65
|
+
if ('address' in signerObj || typeof signerObj.signTransactions === 'function') {
|
|
66
|
+
// If it has an address property, validate that the address is valid
|
|
67
|
+
if ('address' in signerObj) {
|
|
68
|
+
try {
|
|
69
|
+
// Ensure the address property is a valid Address type
|
|
70
|
+
if (!(0, kit_1.isAddress)(signerObj.address)) {
|
|
71
|
+
throw new InvalidSignerError(`Signer object has invalid address property. Expected Address type from @solana/kit.`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
throw new InvalidSignerError(`Signer object has invalid address property: ${error instanceof Error ? error.message : 'Unknown validation error'}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
// Unknown signer object format
|
|
81
|
+
throw new InvalidSignerError('Invalid signer format. Expected:\n' +
|
|
82
|
+
' - base58 address string (browser usage)\n' +
|
|
83
|
+
' - TransactionSigner from @solana/kit (Node.js usage)\n' +
|
|
84
|
+
' - Object with address property');
|
|
85
|
+
}
|
|
86
|
+
throw new InvalidSignerError('Signer must be a string address or compatible signer object');
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Creates TransactionSigner from UniversalSigner input with validation.
|
|
90
|
+
*
|
|
91
|
+
* Converts string addresses to TransactionSigner objects and validates compatibility.
|
|
92
|
+
* Supports both browser (string addresses) and Node.js (TransactionSigner) usage.
|
|
93
|
+
*
|
|
94
|
+
* @param signer - String address or kit-compatible signer
|
|
95
|
+
* @returns TransactionSigner with .address property for PDA derivation and signing
|
|
96
|
+
* @throws {InvalidSignerError} If the signer is not compatible
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const signer = createTransactionSigner("9Wz...WWM");
|
|
101
|
+
* const nodeSigner = createTransactionSigner(wallet);
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
function createTransactionSigner(signer) {
|
|
105
|
+
// Validate the signer first
|
|
106
|
+
validateSigner(signer);
|
|
107
|
+
// Handle string address case (browser usage)
|
|
108
|
+
if (typeof signer === 'string') {
|
|
109
|
+
const addr = (0, kit_1.address)(signer);
|
|
110
|
+
return (0, kit_1.createNoopSigner)(addr);
|
|
111
|
+
}
|
|
112
|
+
// Handle signer object cases (already validated TransactionSigner objects)
|
|
113
|
+
return signer;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Type guard to check if a value is a signer object (not a string).
|
|
117
|
+
*/
|
|
118
|
+
function isSignerObject(signer) {
|
|
119
|
+
return typeof signer !== 'string';
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Type guard to check if a value is an address string.
|
|
123
|
+
*/
|
|
124
|
+
function isAddressString(signer) {
|
|
125
|
+
return typeof signer === 'string';
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAgCH,wCA8DC;AAkBD,0DAYC;AAKD,wCAIC;AAKD,0CAEC;AA1ID,qCAA2F;AAE3F;;;;GAIG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAYD;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,MAAe;IAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,qDAAqD;QACrD,IAAI,CAAC;YACH,8EAA8E;YAC9E,IAAA,aAAO,EAAC,MAAM,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,kBAAkB,CAC1B,4BAA4B,MAAM,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,MAAM;gBAC/G,sEAAsE;gBACtE,aAAa;gBACb,sDAAsD;gBACtD,mDAAmD,CACtD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,MAA6B,CAAC;QAEhD,gDAAgD;QAChD,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,kBAAkB,CAC1B,qDAAqD;gBACnD,gFAAgF;gBAChF,aAAa;gBACb,sCAAsC;gBACtC,+DAA+D,CAClE,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,IAAI,SAAS,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAC/E,oEAAoE;YACpE,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,sDAAsD;oBACtD,IAAI,CAAC,IAAA,eAAS,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;wBAClC,MAAM,IAAI,kBAAkB,CAC1B,qFAAqF,CACtF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,kBAAkB,CAC1B,+CAA+C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CACrH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,MAAM,IAAI,kBAAkB,CAC1B,oCAAoC;YAClC,6CAA6C;YAC7C,0DAA0D;YAC1D,kCAAkC,CACrC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,kBAAkB,CAAC,6DAA6D,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,uBAAuB,CAAC,MAAuB;IAC7D,4BAA4B;IAC5B,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvB,6CAA6C;IAC7C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,IAAA,sBAAgB,EAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,2EAA2E;IAC3E,OAAO,MAA2B,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAC5B,MAAuB;IAEvB,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAuB;IACrD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Smart parameter types for intuitive SDK usage with ATLAS-first design
|
|
4
|
+
* @reviewed 2025-08-05
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.percentage = exports.amount = exports.duration = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Duration builder functions for cleaner syntax.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* import { duration } from '@wuwei-labs/srsly';
|
|
13
|
+
*
|
|
14
|
+
* const oneWeek = duration.days(7);
|
|
15
|
+
* const twoHours = duration.hours(2);
|
|
16
|
+
* const customTime = duration.weeks(2).add(duration.days(3));
|
|
17
|
+
*/
|
|
18
|
+
exports.duration = {
|
|
19
|
+
seconds: (n) => ({ seconds: n }),
|
|
20
|
+
minutes: (n) => ({ minutes: n }),
|
|
21
|
+
hours: (n) => ({ hours: n }),
|
|
22
|
+
days: (n) => ({ days: n }),
|
|
23
|
+
weeks: (n) => ({ weeks: n }),
|
|
24
|
+
months: (n) => ({ months: n }),
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Amount builder functions for explicit units.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* import { amount } from '@wuwei-labs/srsly';
|
|
31
|
+
*
|
|
32
|
+
* const payment = amount.atlas(1.5);
|
|
33
|
+
* const precise = amount.stardust(150_000_001);
|
|
34
|
+
*/
|
|
35
|
+
exports.amount = {
|
|
36
|
+
atlas: (n) => ({ atlas: n }),
|
|
37
|
+
stardust: (n) => ({ stardust: n }),
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Percentage builder functions.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* import { percentage } from '@wuwei-labs/srsly';
|
|
44
|
+
*
|
|
45
|
+
* const tenPercent = percentage.percent(10);
|
|
46
|
+
* const precise = percentage.basisPoints(1050); // 10.5%
|
|
47
|
+
*/
|
|
48
|
+
exports.percentage = {
|
|
49
|
+
percent: (n) => ({ percent: n }),
|
|
50
|
+
basisPoints: (n) => ({ basisPoints: n }),
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=smart-params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-params.js","sourceRoot":"","sources":["../../../src/utils/smart-params.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAqEH;;;;;;;;;GASG;AACU,QAAA,QAAQ,GAAG;IACtB,OAAO,EAAE,CAAC,CAAS,EAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACvD,OAAO,EAAE,CAAC,CAAS,EAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACvD,KAAK,EAAE,CAAC,CAAS,EAAiB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACnD,IAAI,EAAE,CAAC,CAAS,EAAiB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjD,KAAK,EAAE,CAAC,CAAS,EAAiB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACnD,MAAM,EAAE,CAAC,CAAS,EAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;CAC7C,CAAC;AAEX;;;;;;;;GAQG;AACU,QAAA,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,CAAS,EAAe,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAS,EAAe,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;CAC/C,CAAC;AAEX;;;;;;;;GAQG;AACU,QAAA,UAAU,GAAG;IACxB,OAAO,EAAE,CAAC,CAAS,EAAmB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACzD,WAAW,EAAE,CAAC,CAAS,EAAmB,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;CACzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAA+B,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,YAAY,EAA2B,MAAM,UAAU,CAAC"}
|