diff --git a/.prettierignore b/.prettierignore index 1678b4ee3..5004d308d 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,4 +2,7 @@ out lib cache node_modules -diffs \ No newline at end of file +diffs +broadcast +etherscan +.assets \ No newline at end of file diff --git a/.prettierrc b/.prettierrc index ad975579e..f393a5f64 100644 --- a/.prettierrc +++ b/.prettierrc @@ -20,5 +20,6 @@ "bracketSpacing": false } } - ] + ], + "plugins": ["prettier-plugin-solidity"] } diff --git a/generator/cli.ts b/generator/cli.ts index dfa3d1491..3a4387e89 100644 --- a/generator/cli.ts +++ b/generator/cli.ts @@ -110,7 +110,7 @@ async function fetchPoolOptions(pool: PoolIdentifier) { pool, cfg: poolConfigs[pool]!.configs[feature], cache: poolConfigs[pool]!.cache, - }) + }), ); } } @@ -135,7 +135,7 @@ if (options.configFile) { pool, cfg: poolConfigs[pool]!.configs[feature], cache: poolConfigs[pool]!.cache, - }) + }), ); } } else { diff --git a/generator/features/__snapshots__/assetListing.spec.ts.snap b/generator/features/__snapshots__/assetListing.spec.ts.snap index 6c93da612..29d8ce7a3 100644 --- a/generator/features/__snapshots__/assetListing.spec.ts.snap +++ b/generator/features/__snapshots__/assetListing.spec.ts.snap @@ -122,7 +122,6 @@ import {IAaveV3ConfigEngine} from 'aave-helpers/v3-config-engine/IAaveV3ConfigEn import {IV3RateStrategyFactory} from 'aave-helpers/v3-config-engine/IV3RateStrategyFactory.sol'; import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol'; import {SafeERC20} from 'solidity-utils/contracts/oz-common/SafeERC20.sol'; - /** * @title test * @author test diff --git a/generator/features/__snapshots__/priceFeedsUpdate.spec.ts.snap b/generator/features/__snapshots__/priceFeedsUpdate.spec.ts.snap index dfacf2b12..67d7fa2db 100644 --- a/generator/features/__snapshots__/priceFeedsUpdate.spec.ts.snap +++ b/generator/features/__snapshots__/priceFeedsUpdate.spec.ts.snap @@ -58,7 +58,6 @@ pragma solidity ^0.8.0; import {AaveV3EthereumAssets} from 'aave-address-book/AaveV3Ethereum.sol'; import {AaveV3PayloadEthereum} from 'aave-helpers/v3-config-engine/AaveV3PayloadEthereum.sol'; import {IAaveV3ConfigEngine} from 'aave-helpers/v3-config-engine/IAaveV3ConfigEngine.sol'; - /** * @title test * @author test diff --git a/generator/features/__snapshots__/rateUpdates.spec.ts.snap b/generator/features/__snapshots__/rateUpdates.spec.ts.snap index 7715108c5..c7dd083ab 100644 --- a/generator/features/__snapshots__/rateUpdates.spec.ts.snap +++ b/generator/features/__snapshots__/rateUpdates.spec.ts.snap @@ -114,7 +114,6 @@ import {AaveV2PayloadEthereumAMM} from 'aave-helpers/v2-config-engine/AaveV2Payl import {EngineFlags} from 'aave-helpers/v3-config-engine/EngineFlags.sol'; import {IAaveV2ConfigEngine} from 'aave-helpers/v2-config-engine/IAaveV2ConfigEngine.sol'; import {IV2RateStrategyFactory} from 'aave-helpers/v2-config-engine/IV2RateStrategyFactory.sol'; - /** * @title test * @author test diff --git a/generator/features/assetListing.ts b/generator/features/assetListing.ts index 5ee59263e..a180f15aa 100644 --- a/generator/features/assetListing.ts +++ b/generator/features/assetListing.ts @@ -111,33 +111,33 @@ function generateAssetListingSol(cfg: Listing) { rateStrategyParams: IV3RateStrategyFactory.RateStrategyParams({ optimalUsageRatio: ${translateJsPercentToSol( cfg.rateStrategyParams.optimalUtilizationRate, - true + true, )}, baseVariableBorrowRate: ${translateJsPercentToSol( cfg.rateStrategyParams.baseVariableBorrowRate, - true + true, )}, variableRateSlope1: ${translateJsPercentToSol( cfg.rateStrategyParams.variableRateSlope1, - true + true, )}, variableRateSlope2: ${translateJsPercentToSol( cfg.rateStrategyParams.variableRateSlope2, - true + true, )}, stableRateSlope1: ${translateJsPercentToSol(cfg.rateStrategyParams.stableRateSlope1, true)}, stableRateSlope2: ${translateJsPercentToSol(cfg.rateStrategyParams.stableRateSlope2, true)}, baseStableRateOffset: ${translateJsPercentToSol( cfg.rateStrategyParams.baseStableRateOffset, - true + true, )}, stableRateExcessOffset: ${translateJsPercentToSol( cfg.rateStrategyParams.stableRateExcessOffset, - true + true, )}, optimalStableToTotalDebtRatio: ${translateJsPercentToSol( cfg.rateStrategyParams.optimalStableToTotalDebtRatio, - true + true, )} })`; } @@ -167,7 +167,7 @@ export const assetListing: FeatureModule = { execute: cfg.map( (cfg) => `IERC20(${cfg.assetSymbol}).forceApprove(address(${pool}.POOL), ${cfg.assetSymbol}_SEED_AMOUNT); - ${pool}.POOL.supply(${cfg.assetSymbol}, ${cfg.assetSymbol}_SEED_AMOUNT, address(${pool}.COLLECTOR), 0);` + ${pool}.POOL.supply(${cfg.assetSymbol}, ${cfg.assetSymbol}_SEED_AMOUNT, address(${pool}.COLLECTOR), 0);`, ), fn: [ `function newListings() public pure override returns (IAaveV3ConfigEngine.Listing[] memory) { @@ -179,7 +179,7 @@ export const assetListing: FeatureModule = { .map( (cfg, ix) => `listings[${ix}] = IAaveV3ConfigEngine.Listing({ ${generateAssetListingSol(cfg)} - });` + });`, ) .join('\n')} @@ -193,7 +193,7 @@ export const assetListing: FeatureModule = { ${TEST_EXECUTE_PROPOSAL} (address aTokenAddress, , ) = ${pool}.AAVE_PROTOCOL_DATA_PROVIDER.getReserveTokensAddresses(proposal.${cfg.assetSymbol}()); assertGe(IERC20(aTokenAddress).balanceOf(address(${pool}.COLLECTOR)), 10 ** ${cfg.decimals}); - }` + }`, ), }, aip: { @@ -205,50 +205,50 @@ export const assetListing: FeatureModule = { listingTemplate += `| Borrowable | ${cfg.enabledToBorrow} |\n`; listingTemplate += `| Collateral Enabled | ${!!cfg.liqThreshold} |\n`; listingTemplate += `| Supply Cap (${cfg.assetSymbol}) | ${transformNumberToHumanReadable( - cfg.supplyCap + cfg.supplyCap, )} |\n`; listingTemplate += `| Borrow Cap (${cfg.assetSymbol}) | ${transformNumberToHumanReadable( - cfg.borrowCap + cfg.borrowCap, )} |\n`; listingTemplate += `| Debt Ceiling | USD ${transformNumberToHumanReadable( - cfg.debtCeiling + cfg.debtCeiling, )} |\n`; listingTemplate += `| LTV | ${transformNumberToPercent(cfg.ltv)} |\n`; listingTemplate += `| LT | ${transformNumberToPercent(cfg.liqThreshold)} |\n`; listingTemplate += `| Liquidation Bonus | ${transformNumberToPercent(cfg.liqBonus)} |\n`; listingTemplate += `| Liquidation Protocol Fee | ${transformNumberToPercent( - cfg.liqProtocolFee + cfg.liqProtocolFee, )} |\n`; listingTemplate += `| Reserve Factor | ${transformNumberToPercent( - cfg.reserveFactor + cfg.reserveFactor, )} |\n`; listingTemplate += `| Base Variable Borrow Rate | ${transformNumberToPercent( - cfg.rateStrategyParams.baseVariableBorrowRate + cfg.rateStrategyParams.baseVariableBorrowRate, )} |\n`; listingTemplate += `| Variable Slope 1 | ${transformNumberToPercent( - cfg.rateStrategyParams.variableRateSlope1 + cfg.rateStrategyParams.variableRateSlope1, )} |\n`; listingTemplate += `| Variable Slope 2 | ${transformNumberToPercent( - cfg.rateStrategyParams.variableRateSlope2 + cfg.rateStrategyParams.variableRateSlope2, )} |\n`; listingTemplate += `| Uoptimal | ${transformNumberToPercent( - cfg.rateStrategyParams.optimalUtilizationRate + cfg.rateStrategyParams.optimalUtilizationRate, )} |\n`; listingTemplate += `| Stable Borrowing | ${cfg.stableRateModeEnabled} |\n`; listingTemplate += `| Stable Slope1 | ${transformNumberToPercent( - cfg.rateStrategyParams.stableRateSlope1 + cfg.rateStrategyParams.stableRateSlope1, )} |\n`; listingTemplate += `| Stable Slope2 | ${transformNumberToPercent( - cfg.rateStrategyParams.stableRateSlope2 + cfg.rateStrategyParams.stableRateSlope2, )} |\n`; listingTemplate += `| Base Stable Rate Offset | ${transformNumberToPercent( - cfg.rateStrategyParams.baseStableRateOffset! + cfg.rateStrategyParams.baseStableRateOffset!, )} |\n`; listingTemplate += `| Stable Rate Excess Offset | ${transformNumberToPercent( - cfg.rateStrategyParams.stableRateExcessOffset! + cfg.rateStrategyParams.stableRateExcessOffset!, )} |\n`; listingTemplate += `| Optimal Stable To Total Debt Ratio | ${transformNumberToPercent( - cfg.rateStrategyParams.optimalStableToTotalDebtRatio! + cfg.rateStrategyParams.optimalStableToTotalDebtRatio!, )} |\n`; listingTemplate += `| Flashloanable | ${cfg.flashloanable} |\n`; listingTemplate += `| Siloed Borrowing | ${cfg.withSiloedBorrowing} |\n`; @@ -280,13 +280,13 @@ export const assetListingCustom: FeatureModule = { constants: cfg.map( (cfg) => `address public constant ${cfg.base.assetSymbol} = ${translateJsAddressToSol( - cfg.base.asset - )};` + cfg.base.asset, + )};`, ), execute: cfg.map( (cfg) => `IERC20(${cfg.base.assetSymbol}).forceApprove(address(${pool}.POOL), 10 ** ${cfg.base.decimals}); - ${pool}.POOL.supply(${cfg.base.assetSymbol}, 10 ** ${cfg.base.decimals}, ${pool}.COLLECTOR, 0);` + ${pool}.POOL.supply(${cfg.base.assetSymbol}, 10 ** ${cfg.base.decimals}, ${pool}.COLLECTOR, 0);`, ), fn: [ `function newListingsCustom() public pure override returns (IAaveV3ConfigEngine.ListingWithCustomImpl[] memory) { @@ -305,7 +305,7 @@ export const assetListingCustom: FeatureModule = { sToken: ${translateJsAddressToSol(cfg.implementations.sToken)} }) }) - );` + );`, ) .join('\n')} @@ -319,7 +319,7 @@ export const assetListingCustom: FeatureModule = { ${TEST_EXECUTE_PROPOSAL} (address aTokenAddress, , ) = ${pool}.AAVE_PROTOCOL_DATA_PROVIDER.getReserveTokensAddresses(proposal.${cfg.base.assetSymbol}()); assertGte(IERC20(aTokenAddress).balanceOf(${pool}.COLLECTOR), 10 ** ${cfg.base.decimals}); - }` + }`, ), }, }; diff --git a/generator/features/borrowsUpdates.ts b/generator/features/borrowsUpdates.ts index 334d29a1e..7006bc503 100644 --- a/generator/features/borrowsUpdates.ts +++ b/generator/features/borrowsUpdates.ts @@ -76,7 +76,7 @@ export const borrowsUpdates: FeatureModule = { borrowableInIsolation: ${translateJsBoolToSol(cfg.borrowableInIsolation)}, withSiloedBorrowing: ${translateJsBoolToSol(cfg.withSiloedBorrowing)}, reserveFactor: ${translateJsPercentToSol(cfg.reserveFactor)} - });` + });`, ) .join('\n')} diff --git a/generator/features/capsUpdates.ts b/generator/features/capsUpdates.ts index 7d99d36a0..6df207f25 100644 --- a/generator/features/capsUpdates.ts +++ b/generator/features/capsUpdates.ts @@ -53,7 +53,7 @@ export const capsUpdates: FeatureModule = { asset: ${translateAssetToAssetLibUnderlying(cfg.asset, pool)}, supplyCap: ${translateJsNumberToSol(cfg.supplyCap)}, borrowCap: ${translateJsNumberToSol(cfg.borrowCap)} - });` + });`, ) .join('\n')} diff --git a/generator/features/collateralsUpdates.ts b/generator/features/collateralsUpdates.ts index ef4cee3d1..8b0eb28b2 100644 --- a/generator/features/collateralsUpdates.ts +++ b/generator/features/collateralsUpdates.ts @@ -10,7 +10,7 @@ import {percentPrompt, translateJsPercentToSol} from '../prompts/percentPrompt'; export async function fetchCollateralUpdate( pool: PoolIdentifier, - required?: boolean + required?: boolean, ): Promise { return { ltv: await percentPrompt({ @@ -74,7 +74,7 @@ export const collateralsUpdates: FeatureModule = { liqBonus: ${translateJsPercentToSol(cfg.liqBonus)}, debtCeiling: ${translateJsNumberToSol(cfg.debtCeiling)}, liqProtocolFee: ${translateJsPercentToSol(cfg.liqProtocolFee)} - });` + });`, ) .join('\n')} diff --git a/generator/features/eModesAssets.ts b/generator/features/eModesAssets.ts index 8b406697a..8f1800a60 100644 --- a/generator/features/eModesAssets.ts +++ b/generator/features/eModesAssets.ts @@ -50,7 +50,7 @@ export const eModeAssets: FeatureModule = { (cfg, ix) => `assetEModeUpdates[${ix}] = IAaveV3ConfigEngine.AssetEModeUpdate({ asset: ${translateAssetToAssetLibUnderlying(cfg.asset, pool)}, eModeCategory: ${cfg.eModeCategory} - });` + });`, ) .join('\n')} diff --git a/generator/features/eModesUpdates.ts b/generator/features/eModesUpdates.ts index cdb124c28..f20be3e2a 100644 --- a/generator/features/eModesUpdates.ts +++ b/generator/features/eModesUpdates.ts @@ -10,7 +10,7 @@ import {percentPrompt, translateJsPercentToSol} from '../prompts/percentPrompt'; async function fetchEmodeCategoryUpdate( eModeCategory: string | number, - required?: T + required?: T, ): Promise { return { eModeCategory, @@ -104,7 +104,7 @@ export const eModeUpdates: FeatureModule = { liqBonus: ${translateJsPercentToSol(cfg.liqBonus)}, priceSource: ${translateJsAddressToSol(cfg.priceSource)}, label: ${stringOrKeepCurrent(cfg.label)} - });` + });`, ) .join('\n')} diff --git a/generator/features/freeze.ts b/generator/features/freeze.ts index 9a85841bf..21b1e9ede 100644 --- a/generator/features/freeze.ts +++ b/generator/features/freeze.ts @@ -31,8 +31,8 @@ export const freezeUpdates: FeatureModule = { (cfg) => `${pool}.POOL_CONFIGURATOR.setReserveFreeze(${translateAssetToAssetLibUnderlying( cfg.asset, - pool - )}, ${cfg.shouldBeFrozen});` + pool, + )}, ${cfg.shouldBeFrozen});`, ), }, }; diff --git a/generator/features/priceFeedsUpdates.ts b/generator/features/priceFeedsUpdates.ts index b32344956..c7a55f03c 100644 --- a/generator/features/priceFeedsUpdates.ts +++ b/generator/features/priceFeedsUpdates.ts @@ -44,7 +44,7 @@ export const priceFeedsUpdates: FeatureModule = { (cfg, ix) => `priceFeedUpdates[${ix}] = IAaveV3ConfigEngine.PriceFeedUpdate({ asset: ${translateAssetToAssetLibUnderlying(cfg.asset, pool)}, priceFeed: ${translateJsAddressToSol(cfg.priceFeed)} - });` + });`, ) .join('\n')} diff --git a/generator/features/rateUpdates.ts b/generator/features/rateUpdates.ts index 1fa635aba..8cd6bca20 100644 --- a/generator/features/rateUpdates.ts +++ b/generator/features/rateUpdates.ts @@ -90,24 +90,24 @@ export const rateUpdatesV2: FeatureModule = { params: IV2RateStrategyFactory.RateStrategyParams({ optimalUtilizationRate: ${translateJsPercentToSol( cfg.params.optimalUtilizationRate, - true + true, )}, baseVariableBorrowRate: ${translateJsPercentToSol( cfg.params.baseVariableBorrowRate, - true + true, )}, variableRateSlope1: ${translateJsPercentToSol( cfg.params.variableRateSlope1, - true + true, )}, variableRateSlope2: ${translateJsPercentToSol( cfg.params.variableRateSlope2, - true + true, )}, stableRateSlope1: ${translateJsPercentToSol(cfg.params.stableRateSlope1, true)}, stableRateSlope2: ${translateJsPercentToSol(cfg.params.stableRateSlope2, true)} }) - });` + });`, ) .join('\n')} @@ -157,36 +157,36 @@ export const rateUpdatesV3: FeatureModule = { params: IV3RateStrategyFactory.RateStrategyParams({ optimalUsageRatio: ${translateJsPercentToSol( cfg.params.optimalUtilizationRate, - true + true, )}, baseVariableBorrowRate: ${translateJsPercentToSol( cfg.params.baseVariableBorrowRate, - true + true, )}, variableRateSlope1: ${translateJsPercentToSol( cfg.params.variableRateSlope1, - true + true, )}, variableRateSlope2: ${translateJsPercentToSol( cfg.params.variableRateSlope2, - true + true, )}, stableRateSlope1: ${translateJsPercentToSol(cfg.params.stableRateSlope1, true)}, stableRateSlope2: ${translateJsPercentToSol(cfg.params.stableRateSlope2, true)}, baseStableRateOffset: ${translateJsPercentToSol( cfg.params.baseStableRateOffset!, - true + true, )}, stableRateExcessOffset: ${translateJsPercentToSol( cfg.params.stableRateExcessOffset!, - true + true, )}, optimalStableToTotalDebtRatio: ${translateJsPercentToSol( cfg.params.optimalStableToTotalDebtRatio!, - true + true, )} }) - });` + });`, ) .join('\n')} diff --git a/generator/generator.ts b/generator/generator.ts index 6f08434d0..6b3004ac0 100644 --- a/generator/generator.ts +++ b/generator/generator.ts @@ -27,7 +27,7 @@ type Files = { * @returns */ export async function generateFiles(options: Options, poolConfigs: PoolConfigs): Promise { - const jsonConfig = prettier.format( + const jsonConfig = await prettier.format( `import {ConfigFile} from '../../generator/types'; export const config: ConfigFile = ${JSON.stringify({ rootOptions: options, @@ -36,18 +36,18 @@ export async function generateFiles(options: Options, poolConfigs: PoolConfigs): return acc; }, {}), } as ConfigFile)}`, - {...prettierTsCfg, filepath: 'foo.ts'} + {...prettierTsCfg, filepath: 'foo.ts'}, ); - function createPayloadAndTest(options: Options, pool: PoolIdentifier) { + async function createPayloadAndTest(options: Options, pool: PoolIdentifier) { const contractName = generateContractName(options, pool); const testCode = testTemplate(options, poolConfigs[pool]!, pool); return { - payload: prettier.format(proposalTemplate(options, poolConfigs[pool]!, pool), { + payload: await prettier.format(proposalTemplate(options, poolConfigs[pool]!, pool), { ...prettierSolCfg, filepath: 'foo.sol', }), - test: prettier.format(testCode, { + test: await prettier.format(testCode, { ...prettierSolCfg, filepath: 'foo.sol', }), @@ -56,12 +56,12 @@ export async function generateFiles(options: Options, poolConfigs: PoolConfigs): } console.log('generating script'); - const script = prettier.format(generateScript(options), { + const script = await prettier.format(generateScript(options), { ...prettierSolCfg, filepath: 'foo.sol', }); console.log('generating aip'); - const aip = prettier.format(generateAIP(options, poolConfigs), { + const aip = await prettier.format(generateAIP(options, poolConfigs), { ...prettierMDCfg, filepath: 'foo.md', }); @@ -70,7 +70,7 @@ export async function generateFiles(options: Options, poolConfigs: PoolConfigs): jsonConfig, script, aip, - payloads: options.pools.map((pool) => createPayloadAndTest(options, pool)), + payloads: await Promise.all(options.pools.map((pool) => createPayloadAndTest(options, pool))), }; } @@ -116,7 +116,7 @@ export async function writeFiles(options: Options, {jsonConfig, script, aip, pay await askBeforeWrite( options, path.join(baseFolder, `${generateContractName(options)}.s.sol`), - script + script, ); for (const {payload, test, contractName} of payloads) { diff --git a/generator/prompts/addressPrompt.spec.ts b/generator/prompts/addressPrompt.spec.ts index 55e1bcf02..a68860df7 100644 --- a/generator/prompts/addressPrompt.spec.ts +++ b/generator/prompts/addressPrompt.spec.ts @@ -15,12 +15,12 @@ describe('addresses', () => { events.keypress('enter'); await Promise.resolve(); expect(getScreen()).toMatchInlineSnapshot( - '"? Enter address?*\n> You must provide a valid value"' + '"? Enter address?*\n> You must provide a valid value"', ); events.type('XX0xXXae7ab96520de3a18e5e111b5eaab095312d7fe84'); expect(getScreen()).toMatchInlineSnapshot( - '"? Enter address?* 0xae7ab96520de3a18e5e111b5eaab095312d7fe84"' + '"? Enter address?* 0xae7ab96520de3a18e5e111b5eaab095312d7fe84"', ); events.keypress('enter'); @@ -47,7 +47,7 @@ describe('addresses', () => { it('translateJsAddressToSol: should properly translate values to addresses', () => { expect(translateJsAddressToSol('')).toBe('EngineFlags.KEEP_CURRENT_ADDRESS'); expect(translateJsAddressToSol('0xae7ab96520de3a18e5e111b5eaab095312d7fe84')).toBe( - '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84' + '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84', ); }); }); diff --git a/generator/prompts/addressPrompt.ts b/generator/prompts/addressPrompt.ts index 3ec771dc0..2f493190e 100644 --- a/generator/prompts/addressPrompt.ts +++ b/generator/prompts/addressPrompt.ts @@ -5,7 +5,7 @@ import {flagAsRequired} from '../common'; export async function addressPrompt( {message, required}: GenericPrompt, - opts? + opts?, ): Promise { const value = await advancedInput( { @@ -13,7 +13,7 @@ export async function addressPrompt( validate: (v) => (required ? isAddress(v) : isAddress(v) || v === ''), pattern: /^(0|0x|0x[A-Fa-f0-9]{0,40})?$/, }, - opts + opts, ); return value as Hex; } diff --git a/generator/prompts/numberPrompt.ts b/generator/prompts/numberPrompt.ts index ea0546502..1d2db60ac 100644 --- a/generator/prompts/numberPrompt.ts +++ b/generator/prompts/numberPrompt.ts @@ -24,7 +24,7 @@ export async function numberPrompt({message, required}: GenericPrompt, opts?) { pattern: /^[0-9]*$/, patternError: 'Only full numbers are allowed', }, - opts + opts, ); } diff --git a/generator/prompts/percentPrompt.ts b/generator/prompts/percentPrompt.ts index 9c0ba8cc9..f36665cf5 100644 --- a/generator/prompts/percentPrompt.ts +++ b/generator/prompts/percentPrompt.ts @@ -18,7 +18,7 @@ export function transformNumberToPercent(value: string) { export async function percentPrompt( {message, required}: GenericPrompt, - opts? + opts?, ): Promise { const value = await advancedInput( { @@ -31,7 +31,7 @@ export async function percentPrompt( pattern: /^[0-9]*\.?[0-9]*$/, patternError: 'Only decimal numbers are allowed (e.g. 1.1)', }, - opts + opts, ); return value; } diff --git a/generator/prompts/stringPrompt.ts b/generator/prompts/stringPrompt.ts index 8ccdbd430..52f525327 100644 --- a/generator/prompts/stringPrompt.ts +++ b/generator/prompts/stringPrompt.ts @@ -4,7 +4,7 @@ import {GenericPrompt} from './types'; export async function stringPrompt( {message, defaultValue, required}: GenericPrompt, - opts? + opts?, ) { return advancedInput( { @@ -12,7 +12,7 @@ export async function stringPrompt( default: defaultValue, validate: (v) => (required ? v.trim().length != 0 : true), }, - opts + opts, ); } diff --git a/generator/templates/aip.template.ts b/generator/templates/aip.template.ts index 1b1f86f5c..4a0596ce9 100644 --- a/generator/templates/aip.template.ts +++ b/generator/templates/aip.template.ts @@ -19,7 +19,7 @@ discussions: ${`"${options.discussion}"` || 'TODO'}${ ${Object.keys(configs) .map((pool) => { return configs[pool as keyof typeof configs]!.artifacts.filter( - (artifact) => artifact.aip?.specification + (artifact) => artifact.aip?.specification, ).map((artifact) => artifact.aip?.specification); }) .filter((a) => a) @@ -31,16 +31,16 @@ ${Object.keys(configs) .map( (pool) => `[${pool}](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/${generateFolderName( - options - )}/${generateContractName(options, pool)}.sol)` + options, + )}/${generateContractName(options, pool)}.sol)`, ) .join(', ')} - Tests: ${options.pools .map( (pool) => `[${pool}](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/${generateFolderName( - options - )}/${generateContractName(options, pool)}.t.sol)` + options, + )}/${generateContractName(options, pool)}.t.sol)`, ) .join(', ')} - [Snapshot](${options.snapshot || 'TODO'}) diff --git a/generator/templates/proposal.template.ts b/generator/templates/proposal.template.ts index 154b2a0a2..f0e9ee73b 100644 --- a/generator/templates/proposal.template.ts +++ b/generator/templates/proposal.template.ts @@ -6,7 +6,7 @@ import {prefixWithPragma} from '../utils/constants'; export const proposalTemplate = ( options: Options, poolConfig: PoolConfig, - pool: PoolIdentifier + pool: PoolIdentifier, ) => { const {title, author, snapshot, discussion} = options; const poolName = pool.match(/AaveV[2|3](.*)/)![1]; @@ -31,10 +31,10 @@ export const proposalTemplate = ( let optionalExecute = ''; const usesConfigEngine = Object.keys(poolConfig.configs).some( - (f) => ![FEATURE.OTHERS, FEATURE.FLASH_BORROWER, FEATURE.FREEZE].includes(f) + (f) => ![FEATURE.OTHERS, FEATURE.FLASH_BORROWER, FEATURE.FREEZE].includes(f), ); const isAssetListing = Object.keys(poolConfig.configs).some((f) => - [FEATURE.ASSET_LISTING, FEATURE.ASSET_LISTING_CUSTOM].includes(f) + [FEATURE.ASSET_LISTING, FEATURE.ASSET_LISTING_CUSTOM].includes(f), ); if (innerExecute) { if (usesConfigEngine) { @@ -55,8 +55,8 @@ export const proposalTemplate = ( * - Discussion: ${discussion || 'TODO'} */ contract ${contractName} is ${ - usesConfigEngine ? `Aave${version}Payload${poolName}` : 'IProposalGenericExecutor' - } { + usesConfigEngine ? `Aave${version}Payload${poolName}` : 'IProposalGenericExecutor' + } { ${isAssetListing ? 'using SafeERC20 for IERC20;' : ''} ${constants} diff --git a/generator/templates/script.template.ts b/generator/templates/script.template.ts index cfef79cde..486577a16 100644 --- a/generator/templates/script.template.ts +++ b/generator/templates/script.template.ts @@ -41,11 +41,11 @@ export function generateScript(options: Options) { return `/** * @dev Deploy ${chain} * deploy-command: make deploy-ledger contract=src/${folderName}/${fileName}.s.sol:Deploy${chain} chain=${getChainAlias( - chain - )} + chain, + )} * verify-command: npx catapulta-verify -b broadcast/${fileName}.s.sol/${ - CHAIN_TO_CHAIN_ID[chain] - }/run-latest.json + CHAIN_TO_CHAIN_ID[chain] + }/run-latest.json */ contract Deploy${chain} is ${chain}Script { function run() external broadcast { @@ -53,7 +53,7 @@ export function generateScript(options: Options) { ${poolsToChainsMap[chain] .map( ({contractName, pool}, ix) => - `address payload${ix} = GovV3Helpers.deployDeterministic(type(${contractName}).creationCode);` + `address payload${ix} = GovV3Helpers.deployDeterministic(type(${contractName}).creationCode);`, ) .join('\n')} @@ -63,7 +63,7 @@ export function generateScript(options: Options) { }); ${poolsToChainsMap[chain] .map( - ({contractName, pool}, ix) => `actions[${ix}] = GovV3Helpers.buildAction(payload${ix});` + ({contractName, pool}, ix) => `actions[${ix}] = GovV3Helpers.buildAction(payload${ix});`, ) .join('\n')} @@ -106,8 +106,8 @@ contract CreateProposal is EthereumScript { // create proposal vm.startBroadcast(); GovV3Helpers.createProposal(vm, payloads, GovV3Helpers.ipfsHashFile(vm, 'src/${folderName}/${ - options.shortName - }.md')); + options.shortName + }.md')); } }`; return prefixWithPragma(prefixWithImports(template)); diff --git a/generator/utils/importsResolver.spec.ts b/generator/utils/importsResolver.spec.ts index e1072c3dd..5e0648cfb 100644 --- a/generator/utils/importsResolver.spec.ts +++ b/generator/utils/importsResolver.spec.ts @@ -5,40 +5,40 @@ import {prefixWithImports} from './importsResolver'; describe('prefixWithImports', () => { it('should resolve IProposalGenericExecutor', () => { expect(prefixWithImports(`is IProposalGenericExecutor {`)).toContain( - `import {IProposalGenericExecutor} from 'aave-helpers/interfaces/IProposalGenericExecutor.sol';` + `import {IProposalGenericExecutor} from 'aave-helpers/interfaces/IProposalGenericExecutor.sol';`, ); }); it('should resolve Engine imports', () => { expect(prefixWithImports(`GovV3Helpers.createPayload`)).toContain( - `import {GovV3Helpers} from 'aave-helpers/GovV3Helpers.sol';` + `import {GovV3Helpers} from 'aave-helpers/GovV3Helpers.sol';`, ); }); it('should detect v3 Engine imports', () => { expect(prefixWithImports(`EngineFlags.KEEP_CURRENT`)).toContain( - `import {EngineFlags} from 'aave-helpers/v3-config-engine/EngineFlags.sol';` + `import {EngineFlags} from 'aave-helpers/v3-config-engine/EngineFlags.sol';`, ); expect(prefixWithImports('IAaveV3ConfigEngine.CapsUpdate')).toContain( - `import {IAaveV3ConfigEngine} from 'aave-helpers/v3-config-engine/IAaveV3ConfigEngine.sol';` + `import {IAaveV3ConfigEngine} from 'aave-helpers/v3-config-engine/IAaveV3ConfigEngine.sol';`, ); }); it('should detect v2 Engine imports', () => { const result = prefixWithImports('IAaveV2ConfigEngine.RateStrategyUpdate'); expect(result).toContain( - `import {IAaveV2ConfigEngine} from 'aave-helpers/v2-config-engine/IAaveV2ConfigEngine.sol';` + `import {IAaveV2ConfigEngine} from 'aave-helpers/v2-config-engine/IAaveV2ConfigEngine.sol';`, ); }); it('should detect addressbook imports', () => { expect(prefixWithImports('AaveV2Ethereum.POOL AaveV2EthereumAssets.DAI')).toContain( - `import {AaveV2Ethereum,AaveV2EthereumAssets} from 'aave-address-book/AaveV2Ethereum.sol';` + `import {AaveV2Ethereum,AaveV2EthereumAssets} from 'aave-address-book/AaveV2Ethereum.sol';`, ); expect(prefixWithImports('AaveV3Avalanche.POOL')).toContain( - `import {AaveV3Avalanche} from 'aave-address-book/AaveV3Avalanche.sol';` + `import {AaveV3Avalanche} from 'aave-address-book/AaveV3Avalanche.sol';`, ); }); }); diff --git a/package.json b/package.json index 8ca7f9d97..e0b90716c 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,8 @@ "version": "1.0.0", "scripts": { "test": "vitest generator", - "lint": "prettier ./", - "lint:fix": "npm run lint -- --write", + "lint": "prettier . --check", + "lint:fix": "prettier . --write", "generate": "tsx generator/cli", "generate:bgd": "tsx generator/cli -a 'BGD Labs @bgdlabs'", "prepare": "husky install" @@ -26,22 +26,22 @@ "homepage": "https://github.com/bgd-labs/aave-proposals-v3#readme", "devDependencies": { "@types/node": "^20.11.10", - "prettier": "2.8.7", - "prettier-plugin-solidity": "1.1.3", - "vitest": "^1.3.1" + "prettier": "3.2.5", + "prettier-plugin-solidity": "1.3.1", + "vitest": "^1.4.0" }, "dependencies": { - "@bgd-labs/aave-address-book": "^2.24.0", - "@bgd-labs/aave-cli": "0.8.0", + "@bgd-labs/aave-address-book": "^2.24.2", + "@bgd-labs/aave-cli": "0.9.2", "@bgd-labs/js-utils": "^1.3.0", "@inquirer/prompts": "^3.3.0", - "@inquirer/testing": "^2.1.9", - "catapulta-verify": "^1.0.5", + "@inquirer/testing": "^2.1.13", + "catapulta-verify": "^1.1.0", "commander": "^11.1.0", "husky": "^8.0.3", - "lint-staged": "^15.2.0", - "tsx": "^4.7.0", - "viem": "^2.8.5" + "lint-staged": "^15.2.2", + "tsx": "^4.7.1", + "viem": "^2.8.16" }, "lint-staged": { "*": "prettier --ignore-unknown --write" diff --git a/yarn.lock b/yarn.lock index 717be4107..effaf4f9b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -34,26 +34,17 @@ chalk "^2.4.2" js-tokens "^4.0.0" -"@bgd-labs/aave-address-book@^2.22.1": - version "2.22.1" - resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-2.22.1.tgz#bc389db3638c985345b1bb6bdf0b3bf6f3aa388f" - integrity sha512-NAWmwQdFCVeEqpkoYxtuKA1w/SUUKlXVKM69culLJjyudSCt/7+OAIwovSiC2CihvC7fnOWKgnQVT5UINVZKpg== - dependencies: - svgo "^3.2.0" +"@bgd-labs/aave-address-book@^2.24.1", "@bgd-labs/aave-address-book@^2.24.2": + version "2.24.2" + resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-2.24.2.tgz#9e5c4b72db54bc4bf931dd69a7680fd5cdaa2966" + integrity sha512-2lz2R9OfXOq1aRqt1cMO/RbExgOHq4ueItvEVDI7bVl/iRxk8EDq5JonUZl0EUhjC+Xr+NgfehIOP6h3Qs1CIw== -"@bgd-labs/aave-address-book@^2.24.0": - version "2.24.0" - resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-2.24.0.tgz#da9814cdfc9daecb83d1995f3587f4c82a66269b" - integrity sha512-JYeiHWRv0B1vC4BNIN+e9qZyGGDV8v6jZPHlsG7AkCWTBZb7PZBqLJhauFn+/CAnLYr6uK8SWvl47mgCDIgI1g== +"@bgd-labs/aave-cli@0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@bgd-labs/aave-cli/-/aave-cli-0.9.2.tgz#91b41eaf3a60e7c701761ec435210aeea37873a3" + integrity sha512-NDdQNk5CVv9NQ9l6xUm8uSJM9wEbkDWkqrjuK2AV1jRRND4XzQmbeGE22JgUIy+DNk+44XAZ1HFY89TFewtjuA== dependencies: - svgo "^3.2.0" - -"@bgd-labs/aave-cli@0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@bgd-labs/aave-cli/-/aave-cli-0.8.0.tgz#5bafd140646a94a1c86494044eb899cf2a178dda" - integrity sha512-9dumupqwzOcm9sfP9ziKng63Q5/Oaf0dc2jiLQ8B0TzVxxSwq1Azbcz6cNHIj31nis7dRqhgM6G4VzYZ82nyuA== - dependencies: - "@bgd-labs/aave-address-book" "^2.22.1" + "@bgd-labs/aave-address-book" "^2.24.1" "@bgd-labs/js-utils" "^1.3.0" "@commander-js/extra-typings" "^11.1.0" "@inquirer/prompts" "^3.3.2" @@ -66,7 +57,7 @@ ipfs-only-hash "^4.0.0" json-bigint "^1.0.0" object-hash "^3.0.0" - viem "^2.7.1" + viem "^2.8.6" zod "^3.22.4" "@bgd-labs/js-utils@^1.3.0": @@ -537,14 +528,14 @@ chalk "^4.1.2" figures "^3.2.0" -"@inquirer/testing@^2.1.9": - version "2.1.9" - resolved "https://registry.npmjs.org/@inquirer/testing/-/testing-2.1.9.tgz" - integrity sha512-WOE84gVft9p8C7i5HVFybHYdtocRWTXYe+95/D60Z+DS3TcZpD0ph33BC3Y8tv8m9YHcmQaLAVA3PusMp0j+9g== +"@inquirer/testing@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@inquirer/testing/-/testing-2.1.13.tgz#e5f0bb263263e1537c5727415eb11e0194ab77f2" + integrity sha512-q0r3k9Gog9RJYkcsBzi4DLN9ZKApxLKddAbdRBTITOdmTiTqiTnFHgvWsXdSd+1xkRk5F/7rgiJgo0hW4xLaPQ== dependencies: - "@inquirer/type" "^1.1.5" + "@inquirer/type" "^1.2.1" "@types/mute-stream" "^0.0.4" - "@types/node" "^20.9.0" + "@types/node" "^20.11.26" ansi-escapes "^4.3.2" mute-stream "^1.0.0" strip-ansi "^6.0.1" @@ -559,6 +550,11 @@ resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-1.1.6.tgz#f2656456e58fb93c7b73d5aad583b928c77b9206" integrity sha512-OCKOpn0CrFDslR8s3who7hlr823zXTb1iShGCaaWgEJFfkIV0T9aLZV2QGnOuU78IrsPYLkr3oKx9dZwwCH3Rw== +"@inquirer/type@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-1.2.1.tgz#fbc7ab3a2e5050d0c150642d5e8f5e88faa066b8" + integrity sha512-xwMfkPAxeo8Ji/IxfUSqzRi0/+F2GIqJmpc5/thelgMGsjNZcjDDRBO9TLXT1s/hdx/mK5QbVIvgoLIFgXhTMQ== + "@jest/schemas@^29.6.3": version "29.6.3" resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" @@ -733,23 +729,16 @@ resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== -"@solidity-parser/parser@^0.16.0": - version "0.16.0" - resolved "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.0.tgz" - integrity sha512-ESipEcHyRHg4Np4SqBCfcXwyxxna1DgFVz69bgpLV8vzl/NP1DtcKsJ4dJZXWQhY/Z4J2LeKBiOkOVZn9ct33Q== - dependencies: - antlr4ts "^0.5.0-alpha.4" +"@solidity-parser/parser@^0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.17.0.tgz#52a2fcc97ff609f72011014e4c5b485ec52243ef" + integrity sha512-Nko8R0/kUo391jsEHHxrGM07QFdnPGvlmox4rmH0kNiNAashItAilhy4Mv4pK5gQmW5f4sXAF58fwJbmlkGcVw== "@supercharge/promise-pool@^3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@supercharge/promise-pool/-/promise-pool-3.1.1.tgz#237d4e151b8591e2ff4f0ae388f7d6b4741bacc0" integrity sha512-TgCm6jVqMPv+OgD5uBNND/CkCwNDdXPQlcprtnXsWSBpTCy0q5CI6vRj+jsUiXE1xeRaKIX4UeaYJqzZBL92sg== -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - "@types/estree@^1.0.0": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" @@ -786,6 +775,13 @@ dependencies: undici-types "~5.26.4" +"@types/node@^20.11.26": + version "20.11.30" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.30.tgz#9c33467fc23167a347e73834f788f4b9f399d66f" + integrity sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw== + dependencies: + undici-types "~5.26.4" + "@types/node@^20.9.0": version "20.9.0" resolved "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz" @@ -803,44 +799,44 @@ resolved "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz" integrity sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== -"@vitest/expect@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-1.3.1.tgz#d4c14b89c43a25fd400a6b941f51ba27fe0cb918" - integrity sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw== +"@vitest/expect@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-1.4.0.tgz#d64e17838a20007fecd252397f9b96a1ca81bfb0" + integrity sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA== dependencies: - "@vitest/spy" "1.3.1" - "@vitest/utils" "1.3.1" + "@vitest/spy" "1.4.0" + "@vitest/utils" "1.4.0" chai "^4.3.10" -"@vitest/runner@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-1.3.1.tgz#e7f96cdf74842934782bfd310eef4b8695bbfa30" - integrity sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg== +"@vitest/runner@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-1.4.0.tgz#907c2d17ad5975b70882c25ab7a13b73e5a28da9" + integrity sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg== dependencies: - "@vitest/utils" "1.3.1" + "@vitest/utils" "1.4.0" p-limit "^5.0.0" pathe "^1.1.1" -"@vitest/snapshot@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-1.3.1.tgz#193a5d7febf6ec5d22b3f8c5a093f9e4322e7a88" - integrity sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ== +"@vitest/snapshot@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-1.4.0.tgz#2945b3fb53767a3f4f421919e93edfef2935b8bd" + integrity sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A== dependencies: magic-string "^0.30.5" pathe "^1.1.1" pretty-format "^29.7.0" -"@vitest/spy@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-1.3.1.tgz#814245d46d011b99edd1c7528f5725c64e85a88b" - integrity sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig== +"@vitest/spy@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-1.4.0.tgz#cf953c93ae54885e801cbe6b408a547ae613f26c" + integrity sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q== dependencies: tinyspy "^2.2.0" -"@vitest/utils@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-1.3.1.tgz#7b05838654557544f694a372de767fcc9594d61a" - integrity sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ== +"@vitest/utils@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-1.4.0.tgz#ea6297e0d329f9ff0a106f4e1f6daf3ff6aad3f0" + integrity sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg== dependencies: diff-sequences "^29.6.3" estree-walker "^3.0.3" @@ -910,11 +906,6 @@ ansi-styles@^6.0.0, ansi-styles@^6.2.1: resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -antlr4ts@^0.5.0-alpha.4: - version "0.5.0-alpha.4" - resolved "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz" - integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== - argparse@^1.0.7: version "1.0.10" resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" @@ -961,11 +952,6 @@ blakejs@^1.1.0: resolved "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz" integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - braces@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" @@ -1007,10 +993,10 @@ camelcase@^5.3.1: resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -catapulta-verify@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/catapulta-verify/-/catapulta-verify-1.0.5.tgz#a16a2412429e707a03b6bf55e542c409ed43e0ea" - integrity sha512-n9NbxqG/+eY6qRe8vSNE58LMR8P3jFjWKoibXTdWZKyr+04lAexr8EoIyWQ8AEputcqCdJrgp4DZY+0fim4S6Q== +catapulta-verify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/catapulta-verify/-/catapulta-verify-1.1.0.tgz#fc5f771db047af65cd546c1453374fb4b7e8e4e8" + integrity sha512-nfnFsk52pp3UHwSXZ2Gp693Pon8x/ZlIxy7UJ/JG7Dk+jpp+k3Jj/Bhcv1U2DeVb7DfSDE/UWjU7t8CbFrFRdg== chai@^4.3.10: version "4.3.10" @@ -1133,11 +1119,6 @@ commander@11.1.0, commander@^11.1.0: resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz" integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" @@ -1147,45 +1128,6 @@ cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== - dependencies: - boolbase "^1.0.0" - css-what "^6.1.0" - domhandler "^5.0.2" - domutils "^3.0.1" - nth-check "^2.0.1" - -css-tree@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" - integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== - dependencies: - mdn-data "2.0.30" - source-map-js "^1.0.1" - -css-tree@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" - integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== - dependencies: - mdn-data "2.0.28" - source-map-js "^1.0.1" - -css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -csso@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" - integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== - dependencies: - css-tree "~2.2.0" - debug@4.3.4, debug@^4.3.1, debug@^4.3.4: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" @@ -1223,36 +1165,6 @@ diff-sequences@^29.6.3: resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== -dom-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" - integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - entities "^4.2.0" - -domelementtype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - -domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== - dependencies: - dom-serializer "^2.0.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - dotenv@^16.4.1: version "16.4.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.1.tgz#1d9931f1d3e5d2959350d1250efab299561f7f11" @@ -1268,11 +1180,6 @@ emoji-regex@^8.0.0: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -entities@^4.2.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - err-code@^3.0.0, err-code@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz" @@ -1730,26 +1637,26 @@ lines-and-columns@^1.1.6: resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^15.2.0: - version "15.2.0" - resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.0.tgz" - integrity sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ== +lint-staged@^15.2.2: + version "15.2.2" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.2.tgz#ad7cbb5b3ab70e043fa05bff82a09ed286bc4c5f" + integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== dependencies: chalk "5.3.0" commander "11.1.0" debug "4.3.4" execa "8.0.1" lilconfig "3.0.0" - listr2 "8.0.0" + listr2 "8.0.1" micromatch "4.0.5" pidtree "0.6.0" string-argv "0.3.2" yaml "2.3.4" -listr2@8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/listr2/-/listr2-8.0.0.tgz" - integrity sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg== +listr2@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.0.1.tgz#4d3f50ae6cec3c62bdf0e94f5c2c9edebd4b9c34" + integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== dependencies: cli-truncate "^4.0.0" colorette "^2.0.20" @@ -1820,16 +1727,6 @@ map-obj@^4.0.0: resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== -mdn-data@2.0.28: - version "2.0.28" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" - integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== - -mdn-data@2.0.30: - version "2.0.30" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" - integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== - meow@^9.0.0: version "9.0.0" resolved "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz" @@ -2002,13 +1899,6 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - object-hash@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" @@ -2132,19 +2022,19 @@ postcss@^8.4.32: picocolors "^1.0.0" source-map-js "^1.0.2" -prettier-plugin-solidity@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.1.3.tgz" - integrity sha512-fQ9yucPi2sBbA2U2Xjh6m4isUTJ7S7QLc/XDDsktqqxYfTwdYKJ0EnnywXHwCGAaYbQNK+HIYPL1OemxuMsgeg== +prettier-plugin-solidity@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.3.1.tgz#59944d3155b249f7f234dee29f433524b9a4abcf" + integrity sha512-MN4OP5I2gHAzHZG1wcuJl0FsLS3c4Cc5494bbg+6oQWBPuEamjwDvmGfFMZ6NFzsh3Efd9UUxeT7ImgjNH4ozA== dependencies: - "@solidity-parser/parser" "^0.16.0" - semver "^7.3.8" - solidity-comments-extractor "^0.0.7" + "@solidity-parser/parser" "^0.17.0" + semver "^7.5.4" + solidity-comments-extractor "^0.0.8" -prettier@2.8.7: - version "2.8.7" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz" - integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== +prettier@3.2.5: + version "3.2.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== pretty-format@^29.7.0: version "29.7.0" @@ -2314,10 +2204,10 @@ semver@^7.3.4: dependencies: lru-cache "^6.0.0" -semver@^7.3.8: - version "7.3.8" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== +semver@^7.5.4: + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== dependencies: lru-cache "^6.0.0" @@ -2364,12 +2254,12 @@ slice-ansi@^7.0.0: ansi-styles "^6.2.1" is-fullwidth-code-point "^5.0.0" -solidity-comments-extractor@^0.0.7: - version "0.0.7" - resolved "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz" - integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== +solidity-comments-extractor@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/solidity-comments-extractor/-/solidity-comments-extractor-0.0.8.tgz#f6e148ab0c49f30c1abcbecb8b8df01ed8e879f8" + integrity sha512-htM7Vn6LhHreR+EglVMd2s+sZhcXAirB1Zlyrv5zBuTxieCvjfnRpd7iZk75m/u6NOlEyQ94C6TWbBn2cY7w8g== -source-map-js@^1.0.1, source-map-js@^1.0.2: +source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== @@ -2512,19 +2402,6 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -svgo@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.2.0.tgz#7a5dff2938d8c6096e00295c2390e8e652fa805d" - integrity sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^5.1.0" - css-tree "^2.3.1" - css-what "^6.1.0" - csso "^5.0.5" - picocolors "^1.0.0" - tinybench@^2.5.1: version "2.5.1" resolved "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz" @@ -2564,16 +2441,6 @@ trim-newlines@^3.0.0: resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -tsx@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.7.0.tgz#1689cfe7dda495ca1f9a66d4cad79cb57b9f6f4a" - integrity sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg== - dependencies: - esbuild "~0.19.10" - get-tsconfig "^4.7.2" - optionalDependencies: - fsevents "~2.3.3" - tsx@^4.7.1: version "4.7.1" resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.7.1.tgz#27af6cbf4e1cdfcb9b5425b1c61bb7e668eb5e84" @@ -2666,10 +2533,10 @@ varint@^6.0.0: resolved "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz" integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== -viem@^2.7.1: - version "2.7.6" - resolved "https://registry.yarnpkg.com/viem/-/viem-2.7.6.tgz#2ada30ece1469367b606137983e5655cf66d721e" - integrity sha512-43TF0VYcTeNef9dax1/BhqlRLXpAo6HAiQ68hrJ8XRhDOou73nHZEjeFl8Eai4UFFodKhu+PbRUFzuuoixOUfg== +viem@^2.8.16, viem@^2.8.6: + version "2.8.16" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.8.16.tgz#30370390a6f109657b57c1a01b2793c4056b4e95" + integrity sha512-J8tu1aP7TfI2HT/IEmyJ+n+WInrA/cuMuJtfgvYhYgHBobxhYGc2SojHm5lZBWcWgErN1Ld7VcKUwTmPh4ToQA== dependencies: "@adraffy/ens-normalize" "1.10.0" "@noble/curves" "1.2.0" @@ -2680,24 +2547,10 @@ viem@^2.7.1: isows "1.0.3" ws "8.13.0" -viem@^2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/viem/-/viem-2.8.5.tgz#c0120e7f228fbb5be760c625bb2637c7cfa1b8df" - integrity sha512-EAmZ/jP7Ycmu72zRrB+N/fINEXMVBaLLsUaHwu5LoIjAzmE/f/33RV9AlhUA6RNZ5kujomylSytIyDakzQYXCQ== - dependencies: - "@adraffy/ens-normalize" "1.10.0" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@scure/bip32" "1.3.2" - "@scure/bip39" "1.2.1" - abitype "1.0.0" - isows "1.0.3" - ws "8.13.0" - -vite-node@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-1.3.1.tgz#a93f7372212f5d5df38e945046b945ac3f4855d2" - integrity sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng== +vite-node@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-1.4.0.tgz#265529d60570ca695ceb69391f87f92847934ad8" + integrity sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw== dependencies: cac "^6.7.14" debug "^4.3.4" @@ -2716,16 +2569,16 @@ vite@^5.0.0: optionalDependencies: fsevents "~2.3.3" -vitest@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-1.3.1.tgz#2d7e9861f030d88a4669392a4aecb40569d90937" - integrity sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ== - dependencies: - "@vitest/expect" "1.3.1" - "@vitest/runner" "1.3.1" - "@vitest/snapshot" "1.3.1" - "@vitest/spy" "1.3.1" - "@vitest/utils" "1.3.1" +vitest@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-1.4.0.tgz#f5c812aaf5023818b89b7fc667fa45327396fece" + integrity sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw== + dependencies: + "@vitest/expect" "1.4.0" + "@vitest/runner" "1.4.0" + "@vitest/snapshot" "1.4.0" + "@vitest/spy" "1.4.0" + "@vitest/utils" "1.4.0" acorn-walk "^8.3.2" chai "^4.3.10" debug "^4.3.4" @@ -2739,7 +2592,7 @@ vitest@^1.3.1: tinybench "^2.5.1" tinypool "^0.8.2" vite "^5.0.0" - vite-node "1.3.1" + vite-node "1.4.0" why-is-node-running "^2.2.2" webidl-conversions@^3.0.0: