From e4c9c7df58f33fc7c1c1379be8d57a0d2b16b99f Mon Sep 17 00:00:00 2001 From: Paul Balaji <10051819+paulbalaji@users.noreply.github.com> Date: Thu, 23 Jan 2025 14:14:41 +0000 Subject: [PATCH 1/6] feat(infra): fetch registry on warp monitor startup (#5246) ### Description feat: fetch registry on warp monitor startup can describe pod to get the registry commit that a monitor was deployed with ``` kubectl describe pod hyperlane-warp-route-brett-base-zeronetwork-0 | grep REGISTRY REGISTRY_COMMIT: v6.19.1 ``` ### Drive-by changes - add the entrypoint in monorepo Dockerfile to fetch registry at startup - opens the path for removing the registry fetching from the image build entirely, once other monorepo users (e.g. keyfunder/kathy) specify their own registry commit to run with - get mailbox addresses from regular registry chain addresses instead of via warp route configs ### Related issues resolves https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/5174 resolves https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/5257 ### Backward compatibility ### Testing - spun up a BRETT/base-zeronetwork warp monitor ```sh kubectl logs hyperlane-warp-route-brett-base-zeronetwork-0 Updating Hyperlane registry to commit: v6.19.1 From https://github.com/hyperlane-xyz/hyperlane-registry * tag v6.19.1 -> FETCH_HEAD Previous HEAD position was 80023dd feat: Add OP extension and Trumpchain warp route (#507) HEAD is now at e87c85f Version Packages (#508) bigint: Failed to load bindings, pure JS will be used (try npm run rebuild?) {"level":30,"time":1737556333704,"pid":29,"module":"warp-balance-monitor","labels":{"chain_name":"zeronetwork","token_address":"0xf7F253769c36CC7e1B01988CFf3aE198dea2c172","token_name":"Brett","wallet_address":"0xf7F253769c36CC7e1B01988CFf3aE198dea2c172","token_standard":"EvmHypSynthetic","warp_route_id":"BRETT/base-zeronetwork","related_chain_names":"base"},"balance":1e-18,"msg":"Wallet balance updated for token"} ... etc ``` confirmed it's validating the given commit exists image --- Dockerfile | 7 +++ docker-entrypoint.sh | 18 ++++++++ .../helm/warp-routes/templates/_helpers.tpl | 10 +++-- typescript/infra/helm/warp-routes/values.yaml | 1 + .../warp-routes/deploy-warp-monitor.ts | 45 ++++++++++++++++--- .../warp-routes/generate-warp-config.ts | 11 ++--- .../monitor/monitor-warp-route-balances.ts | 18 +++----- typescript/infra/scripts/warp-routes/utils.ts | 2 +- typescript/infra/src/agents/index.ts | 6 --- typescript/infra/src/warp/helm.ts | 12 ++--- 10 files changed, 91 insertions(+), 39 deletions(-) create mode 100644 docker-entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 6f8e3939d4..111a9093c4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,9 +30,16 @@ COPY solidity ./solidity RUN yarn build +# Baked-in registry version +# keep for back-compat until we update all usage of the monorepo image (e.g. key-funder) ENV REGISTRY_URI="/hyperlane-registry" ARG REGISTRY_COMMIT="main" RUN git clone https://github.com/hyperlane-xyz/hyperlane-registry.git "$REGISTRY_URI" \ && cd "$REGISTRY_URI" \ && git fetch origin "$REGISTRY_COMMIT" \ && git checkout "$REGISTRY_COMMIT" + +# Add entrypoint script that allows overriding the registry commit +COPY docker-entrypoint.sh /usr/local/bin/ +RUN chmod +x /usr/local/bin/docker-entrypoint.sh +ENTRYPOINT ["docker-entrypoint.sh"] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000000..719396d5bd --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,18 @@ +#!/bin/sh +set -e + +# Set default registry URI, same as Dockerfile +REGISTRY_URI="/hyperlane-registry" + +# Only update registry if REGISTRY_COMMIT is set +if [ -n "$REGISTRY_COMMIT" ]; then + echo "Updating Hyperlane registry to commit: ${REGISTRY_COMMIT}" + OLDPWD=$(pwd) + cd "$REGISTRY_URI" + git fetch origin "$REGISTRY_COMMIT" + git checkout "$REGISTRY_COMMIT" + cd "$OLDPWD" +fi + +# Execute the main container command +exec "$@" diff --git a/typescript/infra/helm/warp-routes/templates/_helpers.tpl b/typescript/infra/helm/warp-routes/templates/_helpers.tpl index 2a9424b0a9..d96f267e05 100644 --- a/typescript/infra/helm/warp-routes/templates/_helpers.tpl +++ b/typescript/infra/helm/warp-routes/templates/_helpers.tpl @@ -68,12 +68,14 @@ The warp-routes container image: {{ .Values.image.repository }}:{{ .Values.image.tag }} imagePullPolicy: IfNotPresent env: - - name: LOG_FORMAT - value: json - command: + - name: LOG_FORMAT + value: json + - name: REGISTRY_COMMIT + value: {{ .Values.hyperlane.registryCommit }} + args: - ./node_modules/.bin/tsx - ./typescript/infra/scripts/warp-routes/monitor/monitor-warp-route-balances.ts - - -v + - -v - "30000" - --warpRouteId - {{ .Values.warpRouteId }} diff --git a/typescript/infra/helm/warp-routes/values.yaml b/typescript/infra/helm/warp-routes/values.yaml index a7a09d817a..69d2be36d5 100644 --- a/typescript/infra/helm/warp-routes/values.yaml +++ b/typescript/infra/helm/warp-routes/values.yaml @@ -5,6 +5,7 @@ hyperlane: runEnv: mainnet3 context: hyperlane chains: [] + registryCommit: nameOverride: '' fullnameOverride: '' externalSecrets: diff --git a/typescript/infra/scripts/warp-routes/deploy-warp-monitor.ts b/typescript/infra/scripts/warp-routes/deploy-warp-monitor.ts index 8ede7cdda5..d58af0eac6 100644 --- a/typescript/infra/scripts/warp-routes/deploy-warp-monitor.ts +++ b/typescript/infra/scripts/warp-routes/deploy-warp-monitor.ts @@ -1,7 +1,16 @@ -import { checkbox } from '@inquirer/prompts'; +import { input } from '@inquirer/prompts'; +import chalk from 'chalk'; +import { execSync } from 'child_process'; + +import { + LogFormat, + LogLevel, + configureRootLogger, + rootLogger, +} from '@hyperlane-xyz/utils'; import { Contexts } from '../../config/contexts.js'; -import { WarpRouteIds } from '../../config/environments/mainnet3/warp/warpIds.js'; +import { getRegistry } from '../../config/registry.js'; import { HelmCommand } from '../../src/utils/helm.js'; import { WarpRouteMonitorHelmManager } from '../../src/warp/helm.js'; import { @@ -13,7 +22,26 @@ import { } from '../agent-utils.js'; import { getEnvironmentConfig } from '../core-utils.js'; +async function validateRegistryCommit(commit: string) { + const registry = getRegistry(); + const registryUri = registry.getUri(); + + try { + rootLogger.info( + chalk.grey.italic(`Attempting to fetch registry commit ${commit}...`), + ); + execSync(`cd ${registryUri} && git fetch origin ${commit}`, { + stdio: 'inherit', + }); + rootLogger.info(chalk.grey.italic('Fetch completed successfully.')); + } catch (_) { + rootLogger.error(chalk.red(`Unable to fetch registry commit ${commit}.`)); + process.exit(1); + } +} + async function main() { + configureRootLogger(LogFormat.Pretty, LogLevel.Info); const { environment, warpRouteId } = await withWarpRouteId(getArgs()).argv; let warpRouteIds; @@ -23,6 +51,12 @@ async function main() { warpRouteIds = await getWarpRouteIdsInteractive(); } + const registryCommit = await input({ + message: + 'Enter the registry version to use (can be a commit, branch or tag):', + }); + await validateRegistryCommit(registryCommit); + await assertCorrectKubeContext(getEnvironmentConfig(environment)); const agentConfig = getAgentConfig(Contexts.Hyperlane, environment); @@ -31,6 +65,7 @@ async function main() { warpRouteId, environment, agentConfig.environmentChainNames, + registryCommit, ); await helmManager.runHelmCommand(HelmCommand.InstallOrUpgrade); }; @@ -42,11 +77,11 @@ async function main() { ); for (const id of warpRouteIds) { - console.log(`Deploying Warp Monitor for Warp Route ID: ${id}`); + rootLogger.info(`Deploying Warp Monitor for Warp Route ID: ${id}`); await deployWarpMonitor(id); } } main() - .then(() => console.log('Deploy successful!')) - .catch(console.error); + .then(() => rootLogger.info('Deploy successful!')) + .catch(rootLogger.error); diff --git a/typescript/infra/scripts/warp-routes/generate-warp-config.ts b/typescript/infra/scripts/warp-routes/generate-warp-config.ts index 47a39c16d8..2445ca5fc2 100644 --- a/typescript/infra/scripts/warp-routes/generate-warp-config.ts +++ b/typescript/infra/scripts/warp-routes/generate-warp-config.ts @@ -1,6 +1,7 @@ import { stringify as yamlStringify } from 'yaml'; import { WarpRouteDeployConfigSchema } from '@hyperlane-xyz/sdk'; +import { rootLogger } from '@hyperlane-xyz/utils'; import { getWarpConfig } from '../../config/warp.js'; import { writeYamlAtPath } from '../../src/utils/utils.js'; @@ -23,17 +24,17 @@ async function main() { const parsed = WarpRouteDeployConfigSchema.safeParse(warpConfig); if (!parsed.success) { - console.dir(parsed.error.format(), { depth: null }); + rootLogger.error(parsed.error.format()); return; } - console.log('Warp config:'); - console.log(yamlStringify(parsed.data, null, 2)); + rootLogger.info('Warp config:'); + rootLogger.info(yamlStringify(parsed.data, null, 2)); if (outFile) { - console.log(`Writing config to ${outFile}`); + rootLogger.info(`Writing config to ${outFile}`); writeYamlAtPath(outFile, parsed.data); } } -main().catch((err) => console.error('Error:', err)); +main().catch((err) => rootLogger.error('Error:', err)); diff --git a/typescript/infra/scripts/warp-routes/monitor/monitor-warp-route-balances.ts b/typescript/infra/scripts/warp-routes/monitor/monitor-warp-route-balances.ts index c04ed7418c..f2c971b2ed 100644 --- a/typescript/infra/scripts/warp-routes/monitor/monitor-warp-route-balances.ts +++ b/typescript/infra/scripts/warp-routes/monitor/monitor-warp-route-balances.ts @@ -9,7 +9,6 @@ import { EvmHypXERC20LockboxAdapter, IHypXERC20Adapter, MultiProtocolProvider, - RouterConfig, SealevelHypTokenAdapter, Token, TokenStandard, @@ -18,10 +17,7 @@ import { import { ProtocolType, objMap, objMerge, sleep } from '@hyperlane-xyz/utils'; import { getWarpCoreConfig } from '../../../config/registry.js'; -import { - DeployEnvironment, - getRouterConfigsForAllVms, -} from '../../../src/config/environment.js'; +import { DeployEnvironment } from '../../../src/config/environment.js'; import { fetchGCPSecret } from '../../../src/utils/gcloud.js'; import { startMetricsServer } from '../../../src/utils/metrics.js'; import { @@ -59,16 +55,12 @@ async function main() { const envConfig = getEnvironmentConfig(environment); const registry = await envConfig.getRegistry(); const chainMetadata = await registry.getMetadata(); + const chainAddresses = await registry.getAddresses(); // The Sealevel warp adapters require the Mailbox address, so we - // get router configs (that include the Mailbox address) for all chains - // and merge them with the chain metadata. - const routerConfig = await getRouterConfigsForAllVms( - envConfig, - await envConfig.getMultiProvider(), - ); - const mailboxes = objMap(routerConfig, (_chain, config: RouterConfig) => ({ - mailbox: config.mailbox, + // get mailboxes for all chains and merge them with the chain metadata. + const mailboxes = objMap(chainAddresses, (_, { mailbox }) => ({ + mailbox, })); const multiProtocolProvider = new MultiProtocolProvider( objMerge(chainMetadata, mailboxes), diff --git a/typescript/infra/scripts/warp-routes/utils.ts b/typescript/infra/scripts/warp-routes/utils.ts index 2e0fdc40b9..1c843c4fc5 100644 --- a/typescript/infra/scripts/warp-routes/utils.ts +++ b/typescript/infra/scripts/warp-routes/utils.ts @@ -19,7 +19,7 @@ export async function getRouterConfig() { ).argv; const envConfig = getEnvironmentConfig(environment); - let multiProvider = await envConfig.getMultiProvider( + const multiProvider = await envConfig.getMultiProvider( context, Role.Deployer, true, diff --git a/typescript/infra/src/agents/index.ts b/typescript/infra/src/agents/index.ts index 24fccbac07..cd1b1b206d 100644 --- a/typescript/infra/src/agents/index.ts +++ b/typescript/infra/src/agents/index.ts @@ -1,4 +1,3 @@ -import fs from 'fs'; import { join } from 'path'; import { @@ -49,11 +48,6 @@ const HELM_CHART_PATH = join( '/../../rust/main/helm/hyperlane-agent/', ); -if (!fs.existsSync(HELM_CHART_PATH + 'Chart.yaml')) - console.warn( - `Could not find helm chart at ${HELM_CHART_PATH}; the relative path may have changed.`, - ); - export abstract class AgentHelmManager extends HelmManager { abstract readonly role: AgentRole; readonly helmChartPath: string = HELM_CHART_PATH; diff --git a/typescript/infra/src/warp/helm.ts b/typescript/infra/src/warp/helm.ts index 76f55b426b..1ccfa8aa3e 100644 --- a/typescript/infra/src/warp/helm.ts +++ b/typescript/infra/src/warp/helm.ts @@ -1,7 +1,7 @@ import { confirm } from '@inquirer/prompts'; import path from 'path'; -import { difference } from '@hyperlane-xyz/utils'; +import { difference, rootLogger } from '@hyperlane-xyz/utils'; import { WarpRouteIds } from '../../config/environments/mainnet3/warp/warpIds.js'; import { DeployEnvironment } from '../../src/config/environment.js'; @@ -20,6 +20,7 @@ export class WarpRouteMonitorHelmManager extends HelmManager { readonly warpRouteId: string, readonly runEnv: DeployEnvironment, readonly environmentChainNames: string[], + readonly registryCommit: string, ) { super(); } @@ -28,13 +29,14 @@ export class WarpRouteMonitorHelmManager extends HelmManager { return { image: { repository: 'gcr.io/abacus-labs-dev/hyperlane-monorepo', - tag: '3738b85-20250122-164718', + tag: '49992bf-20250122-142014', }, warpRouteId: this.warpRouteId, fullnameOverride: this.helmReleaseName, environment: this.runEnv, hyperlane: { chains: this.environmentChainNames, + registryCommit: this.registryCommit, }, }; } @@ -90,7 +92,7 @@ export class WarpRouteMonitorHelmManager extends HelmManager { new Set(allExpectedHelmReleaseNames), ); for (const helmRelease of unknownHelmReleases) { - console.log( + rootLogger.warn( `Unknown Warp Monitor Helm Release: ${helmRelease} (possibly a release from a stale Warp Route ID).`, ); const uninstall = await confirm({ @@ -98,10 +100,10 @@ export class WarpRouteMonitorHelmManager extends HelmManager { "Would you like to uninstall this Helm Release? Make extra sure it shouldn't exist!", }); if (uninstall) { - console.log(`Uninstalling Helm Release: ${helmRelease}`); + rootLogger.info(`Uninstalling Helm Release: ${helmRelease}`); await removeHelmRelease(helmRelease, namespace); } else { - console.log(`Skipping uninstall of Helm Release: ${helmRelease}`); + rootLogger.info(`Skipping uninstall of Helm Release: ${helmRelease}`); } } } From 754c1c96938e6625e813958436a4eb6649476357 Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Thu, 23 Jan 2025 10:51:50 -0500 Subject: [PATCH 2/6] feat: Add Superseed warp route config (#5122) ### Description Includes the warp route config for SuperSeed FiatToken warp routes ### Drive-by changes - Add dummy soon owner - Indicate errors during warp config parsing --- .../getEthereumSuperseedWarpConfig.ts | 65 +++++++++++++++++++ .../environments/mainnet3/warp/warpIds.ts | 2 + typescript/infra/config/warp.ts | 6 ++ .../warp-routes/generate-warp-config.ts | 4 +- typescript/infra/src/config/warp.ts | 5 +- 5 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumSuperseedWarpConfig.ts diff --git a/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumSuperseedWarpConfig.ts b/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumSuperseedWarpConfig.ts new file mode 100644 index 0000000000..e6ea73782d --- /dev/null +++ b/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumSuperseedWarpConfig.ts @@ -0,0 +1,65 @@ +import { ethers } from 'ethers'; + +import { ChainMap, HypTokenRouterConfig, TokenType } from '@hyperlane-xyz/sdk'; + +import { + RouterConfigWithoutOwner, + tokens, +} from '../../../../../src/config/warp.js'; + +const owners = { + ethereum: '0xa7eccdb9be08178f896c26b7bbd8c3d4e844d9ba', + superseed: '0xa7eccdb9be08178f896c26b7bbd8c3d4e844d9ba', +}; + +const ISM_CONFIG = ethers.constants.AddressZero; // Default ISM + +export const getEthereumSuperseedCBBTCWarpConfig = async ( + routerConfig: ChainMap, +): Promise> => { + const ethereum: HypTokenRouterConfig = { + ...routerConfig.ethereum, + owner: owners.ethereum, + type: TokenType.collateral, + token: tokens.ethereum.cbBTC, + interchainSecurityModule: ISM_CONFIG, + }; + + const superseed: HypTokenRouterConfig = { + ...routerConfig.superseed, + owner: owners.superseed, + type: TokenType.collateralFiat, + token: '0x6f36dbd829de9b7e077db8a35b480d4329ceb331', + interchainSecurityModule: ISM_CONFIG, + }; + + return { + ethereum, + superseed, + }; +}; + +export const getEthereumSuperseedUSDCWarpConfig = async ( + routerConfig: ChainMap, +): Promise> => { + const ethereum: HypTokenRouterConfig = { + ...routerConfig.ethereum, + owner: owners.ethereum, + type: TokenType.collateral, + token: tokens.ethereum.USDC, + interchainSecurityModule: ISM_CONFIG, + }; + + const superseed: HypTokenRouterConfig = { + ...routerConfig.superseed, + owner: owners.superseed, + type: TokenType.collateralFiat, + token: '0xc316c8252b5f2176d0135ebb0999e99296998f2e', + interchainSecurityModule: ISM_CONFIG, + }; + + return { + ethereum, + superseed, + }; +}; diff --git a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts index 3e8ea485e5..39bbf41de0 100644 --- a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts +++ b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts @@ -47,6 +47,8 @@ export enum WarpRouteIds { ArbitrumBaseBlastBscEthereumGnosisLiskMantleModeOptimismPolygonScrollZeroNetworkZoraMainnet = 'ETH/arbitrum-base-blast-bsc-ethereum-gnosis-lisk-mantle-mode-optimism-polygon-scroll-zeronetwork-zoramainnet', AppchainBaseUSDC = 'USDC/appchain-base', BobaBsquaredSwellUBTC = 'UBTC/boba-bsquared-swell', + EthereumSuperseedCBBTC = 'CBBTC/ethereum-superseed', + EthereumSuperseedUSDC = 'USDC/ethereum-superseed', EthereumFormUSDT = 'USDT/ethereum-form', EthereumFormUSDC = 'USDC/ethereum-form', EthereumSuperseedUSDT = 'USDT/ethereum-superseed', diff --git a/typescript/infra/config/warp.ts b/typescript/infra/config/warp.ts index 6374d05ae7..6a9e5499e7 100644 --- a/typescript/infra/config/warp.ts +++ b/typescript/infra/config/warp.ts @@ -50,6 +50,10 @@ import { getEthereumInevmUSDTWarpConfig } from './environments/mainnet3/warp/con import { getEthereumInkUSDCConfig } from './environments/mainnet3/warp/configGetters/getEthereumInkUSDCWarpConfig.js'; import { getEthereumSeiFastUSDWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumSeiFastUSDWarpConfig.js'; import { getEthereumSeiPumpBTCWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumSeiPumpBTCWarpConfig.js'; +import { + getEthereumSuperseedCBBTCWarpConfig, + getEthereumSuperseedUSDCWarpConfig, +} from './environments/mainnet3/warp/configGetters/getEthereumSuperseedWarpConfig.js'; import { getEthereumVictionETHWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumVictionETHWarpConfig.js'; import { getEthereumVictionUSDCWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumVictionUSDCWarpConfig.js'; import { getEthereumVictionUSDTWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumVictionUSDTWarpConfig.js'; @@ -115,6 +119,8 @@ export const warpConfigGetterMap: Record = { [WarpRouteIds.AppchainBaseUSDC]: getAppChainBaseUSDCWarpConfig, [WarpRouteIds.BobaBsquaredSwellUBTC]: getBobaBsquaredSwellUBTCWarpConfig, [WarpRouteIds.EthereumZircuitRe7LRT]: getEthereumZircuitRe7LRTWarpConfig, + [WarpRouteIds.EthereumSuperseedCBBTC]: getEthereumSuperseedCBBTCWarpConfig, + [WarpRouteIds.EthereumSuperseedUSDC]: getEthereumSuperseedUSDCWarpConfig, [WarpRouteIds.EthereumFormUSDT]: getEthereumFormUSDTWarpConfig, [WarpRouteIds.EthereumFormUSDC]: getEthereumFormUSDCWarpConfig, [WarpRouteIds.EthereumSuperseedUSDT]: getEthereumSuperseedUSDTConfig, diff --git a/typescript/infra/scripts/warp-routes/generate-warp-config.ts b/typescript/infra/scripts/warp-routes/generate-warp-config.ts index 2445ca5fc2..c482f1e86b 100644 --- a/typescript/infra/scripts/warp-routes/generate-warp-config.ts +++ b/typescript/infra/scripts/warp-routes/generate-warp-config.ts @@ -24,7 +24,9 @@ async function main() { const parsed = WarpRouteDeployConfigSchema.safeParse(warpConfig); if (!parsed.success) { - rootLogger.error(parsed.error.format()); + rootLogger.error('Error parsing warp config:'); + console.dir(warpConfig, { depth: null }); + console.dir(parsed.error.format(), { depth: null }); return; } diff --git a/typescript/infra/src/config/warp.ts b/typescript/infra/src/config/warp.ts index 0954bb71af..c91c7e13d1 100644 --- a/typescript/infra/src/config/warp.ts +++ b/typescript/infra/src/config/warp.ts @@ -1,8 +1,7 @@ -import { ChainMap, OwnableConfig, RouterConfig } from '@hyperlane-xyz/sdk'; -import { Address } from '@hyperlane-xyz/utils'; +import { OwnableConfig, RouterConfig } from '@hyperlane-xyz/sdk'; // Common collateral tokens to be used by warp route deployments. -export const tokens: ChainMap> = { +export const tokens = { ethereum: { amphrETH: '0x5fD13359Ba15A84B76f7F87568309040176167cd', apxETH: '0x9ba021b0a9b958b5e75ce9f6dff97c7ee52cb3e6', From 9048e2b3f41fbc8e73887d77bfb83cc7bb229922 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 23 Jan 2025 10:43:16 -0600 Subject: [PATCH 3/6] Version Packages (#5195) This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @hyperlane-xyz/core@5.10.0 ### Minor Changes - db8c09011: Add ZKSync support and restructure build artifacts: - Add ZKSync compilation support - Restructure typechain directory location to core-utils/typechain - Add ZKSync-specific artifact generation and exports - Update build process to handle both standard and ZKSync artifacts - Add new exports for ZKSync build artifacts and contract types ### Patch Changes - 11cf66c5e: Export empty zksync buildArtifact to satisfy package.json exports - @hyperlane-xyz/utils@8.3.0 ## @hyperlane-xyz/cli@8.3.0 ### Minor Changes - 228f7c3d1: Fix issue where warp deploy artifacts did not include correct symbols. ### Patch Changes - Updated dependencies [7546c0181] - Updated dependencies [49856fbb9] - @hyperlane-xyz/sdk@8.3.0 - @hyperlane-xyz/utils@8.3.0 ## @hyperlane-xyz/sdk@8.3.0 ### Minor Changes - 7546c0181: Deploy to trumpchain. - 49856fbb9: Deploy to flametestnet, sonicblaze. Remove support for sonictestnet. ### Patch Changes - Updated dependencies [db8c09011] - Updated dependencies [11cf66c5e] - @hyperlane-xyz/core@5.10.0 - @hyperlane-xyz/utils@8.3.0 ## @hyperlane-xyz/widgets@8.3.0 ### Minor Changes - 25df8a35f: Refresh Icon and Tooltip class Name ### Patch Changes - Updated dependencies [7546c0181] - Updated dependencies [49856fbb9] - @hyperlane-xyz/sdk@8.3.0 - @hyperlane-xyz/utils@8.3.0 ## @hyperlane-xyz/helloworld@8.3.0 ### Patch Changes - Updated dependencies [db8c09011] - Updated dependencies [7546c0181] - Updated dependencies [11cf66c5e] - Updated dependencies [49856fbb9] - @hyperlane-xyz/core@5.10.0 - @hyperlane-xyz/sdk@8.3.0 ## @hyperlane-xyz/utils@8.3.0 ## @hyperlane-xyz/infra@8.3.0 ### Minor Changes - fed42c325: updated zero ETH warp route config getter - 31c89a3c1: Add support for Artela config ### Patch Changes - Updated dependencies [7546c0181] - Updated dependencies [49856fbb9] - @hyperlane-xyz/sdk@8.3.0 - @hyperlane-xyz/helloworld@8.3.0 - @hyperlane-xyz/utils@8.3.0 ## @hyperlane-xyz/ccip-server@8.3.0 ## @hyperlane-xyz/github-proxy@8.3.0 --------- Co-authored-by: github-actions[bot] --- .changeset/chatty-starfishes-double.md | 11 --------- .changeset/many-llamas-count.md | 5 ---- .changeset/nervous-dragons-applaud.md | 5 ---- .changeset/proud-waves-camp.md | 5 ---- .changeset/quick-walls-deny.md | 5 ---- .changeset/tender-feet-sit.md | 5 ---- .changeset/thirty-apricots-eat.md | 5 ---- .changeset/weak-dingos-thank.md | 5 ---- solidity/CHANGELOG.md | 17 +++++++++++++ solidity/contracts/PackageVersioned.sol | 2 +- solidity/package.json | 4 ++-- typescript/ccip-server/CHANGELOG.md | 2 ++ typescript/ccip-server/package.json | 2 +- typescript/cli/CHANGELOG.md | 13 ++++++++++ typescript/cli/package.json | 6 ++--- typescript/cli/src/version.ts | 2 +- typescript/github-proxy/CHANGELOG.md | 2 ++ typescript/github-proxy/package.json | 2 +- typescript/helloworld/CHANGELOG.md | 11 +++++++++ typescript/helloworld/package.json | 6 ++--- typescript/infra/CHANGELOG.md | 15 ++++++++++++ typescript/infra/package.json | 8 +++---- typescript/sdk/CHANGELOG.md | 14 +++++++++++ typescript/sdk/package.json | 6 ++--- typescript/utils/CHANGELOG.md | 2 ++ typescript/utils/package.json | 2 +- typescript/widgets/CHANGELOG.md | 13 ++++++++++ typescript/widgets/package.json | 6 ++--- yarn.lock | 32 ++++++++++++------------- 29 files changed, 128 insertions(+), 85 deletions(-) delete mode 100644 .changeset/chatty-starfishes-double.md delete mode 100644 .changeset/many-llamas-count.md delete mode 100644 .changeset/nervous-dragons-applaud.md delete mode 100644 .changeset/proud-waves-camp.md delete mode 100644 .changeset/quick-walls-deny.md delete mode 100644 .changeset/tender-feet-sit.md delete mode 100644 .changeset/thirty-apricots-eat.md delete mode 100644 .changeset/weak-dingos-thank.md diff --git a/.changeset/chatty-starfishes-double.md b/.changeset/chatty-starfishes-double.md deleted file mode 100644 index 2e51bb44da..0000000000 --- a/.changeset/chatty-starfishes-double.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@hyperlane-xyz/core': minor ---- - -Add ZKSync support and restructure build artifacts: - -- Add ZKSync compilation support -- Restructure typechain directory location to core-utils/typechain -- Add ZKSync-specific artifact generation and exports -- Update build process to handle both standard and ZKSync artifacts -- Add new exports for ZKSync build artifacts and contract types diff --git a/.changeset/many-llamas-count.md b/.changeset/many-llamas-count.md deleted file mode 100644 index 1353d335d1..0000000000 --- a/.changeset/many-llamas-count.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/infra': minor ---- - -updated zero ETH warp route config getter diff --git a/.changeset/nervous-dragons-applaud.md b/.changeset/nervous-dragons-applaud.md deleted file mode 100644 index 64b5115fd2..0000000000 --- a/.changeset/nervous-dragons-applaud.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/widgets': minor ---- - -Refresh Icon and Tooltip class Name diff --git a/.changeset/proud-waves-camp.md b/.changeset/proud-waves-camp.md deleted file mode 100644 index a7cab11392..0000000000 --- a/.changeset/proud-waves-camp.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/cli': minor ---- - -Fix issue where warp deploy artifacts did not include correct symbols. diff --git a/.changeset/quick-walls-deny.md b/.changeset/quick-walls-deny.md deleted file mode 100644 index accf9d3383..0000000000 --- a/.changeset/quick-walls-deny.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/sdk': minor ---- - -Deploy to trumpchain. diff --git a/.changeset/tender-feet-sit.md b/.changeset/tender-feet-sit.md deleted file mode 100644 index 27829be010..0000000000 --- a/.changeset/tender-feet-sit.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/core': patch ---- - -Export empty zksync buildArtifact to satisfy package.json exports diff --git a/.changeset/thirty-apricots-eat.md b/.changeset/thirty-apricots-eat.md deleted file mode 100644 index 2d48e803cc..0000000000 --- a/.changeset/thirty-apricots-eat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/infra': minor ---- - -Add support for Artela config diff --git a/.changeset/weak-dingos-thank.md b/.changeset/weak-dingos-thank.md deleted file mode 100644 index ab230544bd..0000000000 --- a/.changeset/weak-dingos-thank.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/sdk': minor ---- - -Deploy to flametestnet, sonicblaze. Remove support for sonictestnet. diff --git a/solidity/CHANGELOG.md b/solidity/CHANGELOG.md index 6c62444946..4ae0dc5371 100644 --- a/solidity/CHANGELOG.md +++ b/solidity/CHANGELOG.md @@ -1,5 +1,22 @@ # @hyperlane-xyz/core +## 5.10.0 + +### Minor Changes + +- db8c09011: Add ZKSync support and restructure build artifacts: + + - Add ZKSync compilation support + - Restructure typechain directory location to core-utils/typechain + - Add ZKSync-specific artifact generation and exports + - Update build process to handle both standard and ZKSync artifacts + - Add new exports for ZKSync build artifacts and contract types + +### Patch Changes + +- 11cf66c5e: Export empty zksync buildArtifact to satisfy package.json exports + - @hyperlane-xyz/utils@8.3.0 + ## 5.9.2 ### Patch Changes diff --git a/solidity/contracts/PackageVersioned.sol b/solidity/contracts/PackageVersioned.sol index 9125a85e57..6c5fb707b4 100644 --- a/solidity/contracts/PackageVersioned.sol +++ b/solidity/contracts/PackageVersioned.sol @@ -7,5 +7,5 @@ pragma solidity >=0.6.11; **/ abstract contract PackageVersioned { // GENERATED CODE - DO NOT EDIT - string public constant PACKAGE_VERSION = "5.9.2"; + string public constant PACKAGE_VERSION = "5.10.0"; } diff --git a/solidity/package.json b/solidity/package.json index 57d80eaa81..d40dfbe23d 100644 --- a/solidity/package.json +++ b/solidity/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/core", "description": "Core solidity contracts for Hyperlane", - "version": "5.9.2", + "version": "5.10.0", "dependencies": { "@arbitrum/nitro-contracts": "^1.2.1", "@eth-optimism/contracts": "^0.6.0", - "@hyperlane-xyz/utils": "8.2.0", + "@hyperlane-xyz/utils": "8.3.0", "@layerzerolabs/lz-evm-oapp-v2": "2.0.2", "@openzeppelin/contracts": "^4.9.3", "@openzeppelin/contracts-upgradeable": "^4.9.3", diff --git a/typescript/ccip-server/CHANGELOG.md b/typescript/ccip-server/CHANGELOG.md index cc7e66f9fc..0ebc68820a 100644 --- a/typescript/ccip-server/CHANGELOG.md +++ b/typescript/ccip-server/CHANGELOG.md @@ -1,5 +1,7 @@ # @hyperlane-xyz/ccip-server +## 8.3.0 + ## 8.2.0 ## 8.1.0 diff --git a/typescript/ccip-server/package.json b/typescript/ccip-server/package.json index 696d522892..eb365fe11f 100644 --- a/typescript/ccip-server/package.json +++ b/typescript/ccip-server/package.json @@ -1,6 +1,6 @@ { "name": "@hyperlane-xyz/ccip-server", - "version": "8.2.0", + "version": "8.3.0", "description": "CCIP server", "typings": "dist/index.d.ts", "typedocMain": "src/index.ts", diff --git a/typescript/cli/CHANGELOG.md b/typescript/cli/CHANGELOG.md index d2ca5e2242..770b48ee69 100644 --- a/typescript/cli/CHANGELOG.md +++ b/typescript/cli/CHANGELOG.md @@ -1,5 +1,18 @@ # @hyperlane-xyz/cli +## 8.3.0 + +### Minor Changes + +- 228f7c3d1: Fix issue where warp deploy artifacts did not include correct symbols. + +### Patch Changes + +- Updated dependencies [7546c0181] +- Updated dependencies [49856fbb9] + - @hyperlane-xyz/sdk@8.3.0 + - @hyperlane-xyz/utils@8.3.0 + ## 8.2.0 ### Minor Changes diff --git a/typescript/cli/package.json b/typescript/cli/package.json index 1c9b87d5c6..8d27e3b2fb 100644 --- a/typescript/cli/package.json +++ b/typescript/cli/package.json @@ -1,13 +1,13 @@ { "name": "@hyperlane-xyz/cli", - "version": "8.2.0", + "version": "8.3.0", "description": "A command-line utility for common Hyperlane operations", "dependencies": { "@aws-sdk/client-kms": "^3.577.0", "@aws-sdk/client-s3": "^3.577.0", "@hyperlane-xyz/registry": "6.18.0", - "@hyperlane-xyz/sdk": "8.2.0", - "@hyperlane-xyz/utils": "8.2.0", + "@hyperlane-xyz/sdk": "8.3.0", + "@hyperlane-xyz/utils": "8.3.0", "@inquirer/core": "9.0.10", "@inquirer/figures": "1.0.5", "@inquirer/prompts": "3.3.2", diff --git a/typescript/cli/src/version.ts b/typescript/cli/src/version.ts index 047e32b00a..29ec3c951a 100644 --- a/typescript/cli/src/version.ts +++ b/typescript/cli/src/version.ts @@ -1 +1 @@ -export const VERSION = '8.2.0'; +export const VERSION = '8.3.0'; diff --git a/typescript/github-proxy/CHANGELOG.md b/typescript/github-proxy/CHANGELOG.md index 541c2f54f7..f8301f73b1 100644 --- a/typescript/github-proxy/CHANGELOG.md +++ b/typescript/github-proxy/CHANGELOG.md @@ -1,5 +1,7 @@ # @hyperlane-xyz/github-proxy +## 8.3.0 + ## 8.2.0 ## 8.1.0 diff --git a/typescript/github-proxy/package.json b/typescript/github-proxy/package.json index f729b28c4c..b3b2884f18 100644 --- a/typescript/github-proxy/package.json +++ b/typescript/github-proxy/package.json @@ -1,7 +1,7 @@ { "name": "@hyperlane-xyz/github-proxy", "description": "Github proxy that adds the API key to requests", - "version": "8.2.0", + "version": "8.3.0", "private": true, "scripts": { "deploy": "wrangler deploy", diff --git a/typescript/helloworld/CHANGELOG.md b/typescript/helloworld/CHANGELOG.md index b062c87d2f..9ff643af30 100644 --- a/typescript/helloworld/CHANGELOG.md +++ b/typescript/helloworld/CHANGELOG.md @@ -1,5 +1,16 @@ # @hyperlane-xyz/helloworld +## 8.3.0 + +### Patch Changes + +- Updated dependencies [db8c09011] +- Updated dependencies [7546c0181] +- Updated dependencies [11cf66c5e] +- Updated dependencies [49856fbb9] + - @hyperlane-xyz/core@5.10.0 + - @hyperlane-xyz/sdk@8.3.0 + ## 8.2.0 ### Patch Changes diff --git a/typescript/helloworld/package.json b/typescript/helloworld/package.json index f3863608a0..7725a94bab 100644 --- a/typescript/helloworld/package.json +++ b/typescript/helloworld/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/helloworld", "description": "A basic skeleton of an Hyperlane app", - "version": "8.2.0", + "version": "8.3.0", "dependencies": { - "@hyperlane-xyz/core": "5.9.2", + "@hyperlane-xyz/core": "5.10.0", "@hyperlane-xyz/registry": "6.18.0", - "@hyperlane-xyz/sdk": "8.2.0", + "@hyperlane-xyz/sdk": "8.3.0", "@openzeppelin/contracts-upgradeable": "^4.9.3", "ethers": "^5.7.2" }, diff --git a/typescript/infra/CHANGELOG.md b/typescript/infra/CHANGELOG.md index a7810b698b..694d8750e1 100644 --- a/typescript/infra/CHANGELOG.md +++ b/typescript/infra/CHANGELOG.md @@ -1,5 +1,20 @@ # @hyperlane-xyz/infra +## 8.3.0 + +### Minor Changes + +- fed42c325: updated zero ETH warp route config getter +- 31c89a3c1: Add support for Artela config + +### Patch Changes + +- Updated dependencies [7546c0181] +- Updated dependencies [49856fbb9] + - @hyperlane-xyz/sdk@8.3.0 + - @hyperlane-xyz/helloworld@8.3.0 + - @hyperlane-xyz/utils@8.3.0 + ## 8.2.0 ### Minor Changes diff --git a/typescript/infra/package.json b/typescript/infra/package.json index e48a843230..eec556fd90 100644 --- a/typescript/infra/package.json +++ b/typescript/infra/package.json @@ -1,7 +1,7 @@ { "name": "@hyperlane-xyz/infra", "description": "Infrastructure utilities for the Hyperlane Network", - "version": "8.2.0", + "version": "8.3.0", "dependencies": { "@arbitrum/sdk": "^4.0.0", "@aws-sdk/client-iam": "^3.74.0", @@ -13,10 +13,10 @@ "@ethersproject/hardware-wallets": "^5.7.0", "@ethersproject/providers": "*", "@google-cloud/secret-manager": "^5.5.0", - "@hyperlane-xyz/helloworld": "8.2.0", + "@hyperlane-xyz/helloworld": "8.3.0", "@hyperlane-xyz/registry": "6.18.0", - "@hyperlane-xyz/sdk": "8.2.0", - "@hyperlane-xyz/utils": "8.2.0", + "@hyperlane-xyz/sdk": "8.3.0", + "@hyperlane-xyz/utils": "8.3.0", "@inquirer/prompts": "3.3.2", "@nomiclabs/hardhat-etherscan": "^3.0.3", "@safe-global/api-kit": "1.3.0", diff --git a/typescript/sdk/CHANGELOG.md b/typescript/sdk/CHANGELOG.md index 70e744bc74..af432bdb76 100644 --- a/typescript/sdk/CHANGELOG.md +++ b/typescript/sdk/CHANGELOG.md @@ -1,5 +1,19 @@ # @hyperlane-xyz/sdk +## 8.3.0 + +### Minor Changes + +- 7546c0181: Deploy to trumpchain. +- 49856fbb9: Deploy to flametestnet, sonicblaze. Remove support for sonictestnet. + +### Patch Changes + +- Updated dependencies [db8c09011] +- Updated dependencies [11cf66c5e] + - @hyperlane-xyz/core@5.10.0 + - @hyperlane-xyz/utils@8.3.0 + ## 8.2.0 ### Minor Changes diff --git a/typescript/sdk/package.json b/typescript/sdk/package.json index aef1b75a55..3a3c2342fc 100644 --- a/typescript/sdk/package.json +++ b/typescript/sdk/package.json @@ -1,15 +1,15 @@ { "name": "@hyperlane-xyz/sdk", "description": "The official SDK for the Hyperlane Network", - "version": "8.2.0", + "version": "8.3.0", "dependencies": { "@arbitrum/sdk": "^4.0.0", "@aws-sdk/client-s3": "^3.577.0", "@chain-registry/types": "^0.50.14", "@cosmjs/cosmwasm-stargate": "^0.32.4", "@cosmjs/stargate": "^0.32.4", - "@hyperlane-xyz/core": "5.9.2", - "@hyperlane-xyz/utils": "8.2.0", + "@hyperlane-xyz/core": "5.10.0", + "@hyperlane-xyz/utils": "8.3.0", "@safe-global/api-kit": "1.3.0", "@safe-global/protocol-kit": "1.3.0", "@safe-global/safe-deployments": "1.37.23", diff --git a/typescript/utils/CHANGELOG.md b/typescript/utils/CHANGELOG.md index ecddf9e23e..ed5d194e9d 100644 --- a/typescript/utils/CHANGELOG.md +++ b/typescript/utils/CHANGELOG.md @@ -1,5 +1,7 @@ # @hyperlane-xyz/utils +## 8.3.0 + ## 8.2.0 ## 8.1.0 diff --git a/typescript/utils/package.json b/typescript/utils/package.json index be8c55f665..7cf85eedae 100644 --- a/typescript/utils/package.json +++ b/typescript/utils/package.json @@ -1,7 +1,7 @@ { "name": "@hyperlane-xyz/utils", "description": "General utilities and types for the Hyperlane network", - "version": "8.2.0", + "version": "8.3.0", "dependencies": { "@cosmjs/encoding": "^0.32.4", "@solana/web3.js": "^1.95.4", diff --git a/typescript/widgets/CHANGELOG.md b/typescript/widgets/CHANGELOG.md index 86f2f30c81..35cb068377 100644 --- a/typescript/widgets/CHANGELOG.md +++ b/typescript/widgets/CHANGELOG.md @@ -1,5 +1,18 @@ # @hyperlane-xyz/widgets +## 8.3.0 + +### Minor Changes + +- 25df8a35f: Refresh Icon and Tooltip class Name + +### Patch Changes + +- Updated dependencies [7546c0181] +- Updated dependencies [49856fbb9] + - @hyperlane-xyz/sdk@8.3.0 + - @hyperlane-xyz/utils@8.3.0 + ## 8.2.0 ### Patch Changes diff --git a/typescript/widgets/package.json b/typescript/widgets/package.json index ab1c0ed5fd..e96b6c6faa 100644 --- a/typescript/widgets/package.json +++ b/typescript/widgets/package.json @@ -1,7 +1,7 @@ { "name": "@hyperlane-xyz/widgets", "description": "Common react components for Hyperlane projects", - "version": "8.2.0", + "version": "8.3.0", "peerDependencies": { "react": "^18", "react-dom": "^18" @@ -9,8 +9,8 @@ "dependencies": { "@cosmos-kit/react": "^2.18.0", "@headlessui/react": "^2.1.8", - "@hyperlane-xyz/sdk": "8.2.0", - "@hyperlane-xyz/utils": "8.2.0", + "@hyperlane-xyz/sdk": "8.3.0", + "@hyperlane-xyz/utils": "8.3.0", "@interchain-ui/react": "^1.23.28", "@rainbow-me/rainbowkit": "^2.2.0", "@solana/wallet-adapter-react": "^0.15.32", diff --git a/yarn.lock b/yarn.lock index 3e1a9faa10..db73d1093b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7338,8 +7338,8 @@ __metadata: "@ethersproject/abi": "npm:*" "@ethersproject/providers": "npm:*" "@hyperlane-xyz/registry": "npm:6.18.0" - "@hyperlane-xyz/sdk": "npm:8.2.0" - "@hyperlane-xyz/utils": "npm:8.2.0" + "@hyperlane-xyz/sdk": "npm:8.3.0" + "@hyperlane-xyz/utils": "npm:8.3.0" "@inquirer/core": "npm:9.0.10" "@inquirer/figures": "npm:1.0.5" "@inquirer/prompts": "npm:3.3.2" @@ -7378,13 +7378,13 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/core@npm:5.9.2, @hyperlane-xyz/core@workspace:solidity": +"@hyperlane-xyz/core@npm:5.10.0, @hyperlane-xyz/core@workspace:solidity": version: 0.0.0-use.local resolution: "@hyperlane-xyz/core@workspace:solidity" dependencies: "@arbitrum/nitro-contracts": "npm:^1.2.1" "@eth-optimism/contracts": "npm:^0.6.0" - "@hyperlane-xyz/utils": "npm:8.2.0" + "@hyperlane-xyz/utils": "npm:8.3.0" "@layerzerolabs/lz-evm-oapp-v2": "npm:2.0.2" "@layerzerolabs/solidity-examples": "npm:^1.1.0" "@matterlabs/hardhat-zksync-solc": "npm:^1.2.4" @@ -7437,14 +7437,14 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/helloworld@npm:8.2.0, @hyperlane-xyz/helloworld@workspace:typescript/helloworld": +"@hyperlane-xyz/helloworld@npm:8.3.0, @hyperlane-xyz/helloworld@workspace:typescript/helloworld": version: 0.0.0-use.local resolution: "@hyperlane-xyz/helloworld@workspace:typescript/helloworld" dependencies: "@eslint/js": "npm:^9.15.0" - "@hyperlane-xyz/core": "npm:5.9.2" + "@hyperlane-xyz/core": "npm:5.10.0" "@hyperlane-xyz/registry": "npm:6.18.0" - "@hyperlane-xyz/sdk": "npm:8.2.0" + "@hyperlane-xyz/sdk": "npm:8.3.0" "@nomiclabs/hardhat-ethers": "npm:^2.2.3" "@nomiclabs/hardhat-waffle": "npm:^2.0.6" "@openzeppelin/contracts-upgradeable": "npm:^4.9.3" @@ -7493,10 +7493,10 @@ __metadata: "@ethersproject/hardware-wallets": "npm:^5.7.0" "@ethersproject/providers": "npm:*" "@google-cloud/secret-manager": "npm:^5.5.0" - "@hyperlane-xyz/helloworld": "npm:8.2.0" + "@hyperlane-xyz/helloworld": "npm:8.3.0" "@hyperlane-xyz/registry": "npm:6.18.0" - "@hyperlane-xyz/sdk": "npm:8.2.0" - "@hyperlane-xyz/utils": "npm:8.2.0" + "@hyperlane-xyz/sdk": "npm:8.3.0" + "@hyperlane-xyz/utils": "npm:8.3.0" "@inquirer/prompts": "npm:3.3.2" "@nomiclabs/hardhat-ethers": "npm:^2.2.3" "@nomiclabs/hardhat-etherscan": "npm:^3.0.3" @@ -7566,7 +7566,7 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/sdk@npm:8.2.0, @hyperlane-xyz/sdk@workspace:typescript/sdk": +"@hyperlane-xyz/sdk@npm:8.3.0, @hyperlane-xyz/sdk@workspace:typescript/sdk": version: 0.0.0-use.local resolution: "@hyperlane-xyz/sdk@workspace:typescript/sdk" dependencies: @@ -7576,8 +7576,8 @@ __metadata: "@cosmjs/cosmwasm-stargate": "npm:^0.32.4" "@cosmjs/stargate": "npm:^0.32.4" "@eslint/js": "npm:^9.15.0" - "@hyperlane-xyz/core": "npm:5.9.2" - "@hyperlane-xyz/utils": "npm:8.2.0" + "@hyperlane-xyz/core": "npm:5.10.0" + "@hyperlane-xyz/utils": "npm:8.3.0" "@nomiclabs/hardhat-ethers": "npm:^2.2.3" "@nomiclabs/hardhat-waffle": "npm:^2.0.6" "@safe-global/api-kit": "npm:1.3.0" @@ -7620,7 +7620,7 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/utils@npm:8.2.0, @hyperlane-xyz/utils@workspace:typescript/utils": +"@hyperlane-xyz/utils@npm:8.3.0, @hyperlane-xyz/utils@workspace:typescript/utils": version: 0.0.0-use.local resolution: "@hyperlane-xyz/utils@workspace:typescript/utils" dependencies: @@ -7662,8 +7662,8 @@ __metadata: "@eslint/js": "npm:^9.15.0" "@headlessui/react": "npm:^2.1.8" "@hyperlane-xyz/registry": "npm:6.18.0" - "@hyperlane-xyz/sdk": "npm:8.2.0" - "@hyperlane-xyz/utils": "npm:8.2.0" + "@hyperlane-xyz/sdk": "npm:8.3.0" + "@hyperlane-xyz/utils": "npm:8.3.0" "@interchain-ui/react": "npm:^1.23.28" "@rainbow-me/rainbowkit": "npm:^2.2.0" "@solana/wallet-adapter-react": "npm:^0.15.32" From 6b58f2f381b1cec26d7afc734661343670bb9b66 Mon Sep 17 00:00:00 2001 From: Paul Balaji <10051819+paulbalaji@users.noreply.github.com> Date: Thu, 23 Jan 2025 18:20:12 +0000 Subject: [PATCH 4/6] revert: "fix: zksync default build artifact" (#5274) Reverts hyperlane-xyz/hyperlane-monorepo#5269 --- solidity/core-utils/zksync/buildArtifact.ts | 1 - 1 file changed, 1 deletion(-) delete mode 100644 solidity/core-utils/zksync/buildArtifact.ts diff --git a/solidity/core-utils/zksync/buildArtifact.ts b/solidity/core-utils/zksync/buildArtifact.ts deleted file mode 100644 index cc5a00ac95..0000000000 --- a/solidity/core-utils/zksync/buildArtifact.ts +++ /dev/null @@ -1 +0,0 @@ -export const buildArtifact: any = {}; From 4176df1b446c5daa876204b22b87c9da320aad9d Mon Sep 17 00:00:00 2001 From: Paul Balaji <10051819+paulbalaji@users.noreply.github.com> Date: Thu, 23 Jan 2025 20:28:09 +0000 Subject: [PATCH 5/6] revert: "feat: zksync support for core solidity package" (#5275) Reverts hyperlane-xyz/hyperlane-monorepo#5205 --- solidity/.gitignore | 7 - solidity/core-utils/index.ts | 2 - solidity/core-utils/zksync/index.ts | 103 ------ solidity/exportBuildArtifact.sh | 39 --- solidity/generate-artifact-exports.mjs | 60 ---- solidity/hardhat.config.cts | 2 +- solidity/package.json | 15 +- solidity/test/lib/mailboxes.ts | 4 +- solidity/test/merkle.test.ts | 2 +- solidity/test/message.test.ts | 6 +- solidity/test/mockMailbox.test.ts | 5 +- solidity/test/testrecipient.test.ts | 2 +- solidity/tsconfig.json | 4 +- solidity/zk-hardhat.config.cts | 46 --- yarn.lock | 422 +------------------------ 15 files changed, 25 insertions(+), 694 deletions(-) delete mode 100644 solidity/core-utils/index.ts delete mode 100644 solidity/core-utils/zksync/index.ts delete mode 100755 solidity/generate-artifact-exports.mjs delete mode 100644 solidity/zk-hardhat.config.cts diff --git a/solidity/.gitignore b/solidity/.gitignore index d7ca1005d0..6f01b8e770 100644 --- a/solidity/.gitignore +++ b/solidity/.gitignore @@ -15,10 +15,3 @@ docs flattened/ buildArtifact.json fixtures/ -# ZKSync -artifacts-zk -cache-zk -core-utils/zksync/artifacts/output -.zksolc-libraries-cache/ -typechain-types/ -typechain/ \ No newline at end of file diff --git a/solidity/core-utils/index.ts b/solidity/core-utils/index.ts deleted file mode 100644 index 1fbeb99f89..0000000000 --- a/solidity/core-utils/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './typechain/index.js'; -export * from './zksync/index.js'; diff --git a/solidity/core-utils/zksync/index.ts b/solidity/core-utils/zksync/index.ts deleted file mode 100644 index ece1dd43c5..0000000000 --- a/solidity/core-utils/zksync/index.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { promises as fsPromises } from 'fs'; -import path, { join } from 'path'; -import { fileURLToPath } from 'url'; - -/** - * @dev Represents a ZkSync artifact. - */ -export type ZKSyncArtifact = { - contractName: string; - sourceName: string; - abi: any; - bytecode: string; - deployedBytecode: string; - factoryDeps?: Record; -}; - -/** - * @dev A mapping of artifact names to their corresponding ZkSync artifacts. - */ -export type ArtifactMap = { - [key: string]: ZKSyncArtifact; -}; - -// Get the resolved path to the current file -const currentFilePath = fileURLToPath(import.meta.url); -const currentDirectory = path.dirname(currentFilePath); - -/** - * @dev Reads artifact files from the specified directory. - * @param directory The directory to read artifact files from. - * @return An array of artifact file names that end with '.json'. - */ -async function getArtifactFiles(directory: string): Promise { - return fsPromises - .readdir(directory) - .then((files) => files.filter((file) => file.endsWith('.json'))); -} - -/** - * @dev Exports the list of artifact names without the .json extension. - * @return An array of artifact names without the .json extension. - */ -export async function getZKSyncArtifactNames(): Promise { - return getArtifactFiles(join(currentDirectory, 'artifacts')).then((files) => - files.map((file) => file.replace('.json', '')), - ); -} - -/** - * @dev Checks if a ZkSync artifact exists by its name. - * @param name The name of the artifact to check. - * @return True if the artifact exists, false otherwise. - */ -export async function artifactExists(name: string): Promise { - const artifactNames = await getZKSyncArtifactNames(); - return artifactNames.includes(name); -} - -/** - * @dev Loads a ZkSync artifact by its name. - * @param name The name of the artifact to load. - * @return The loaded ZKSyncArtifact or undefined if it cannot be loaded. - */ -export async function loadZKSyncArtifact( - name: string, -): Promise { - try { - const artifactPath = join(currentDirectory, 'artifacts', `${name}.json`); - const artifactContent = await fsPromises.readFile(artifactPath, 'utf-8'); - return JSON.parse(artifactContent); - } catch (error) { - console.error(`Error loading artifact: ${name}`, error); - return undefined; - } -} - -/** - * @dev Loads all ZkSync artifacts into a map. - * @return A map of artifact names to their corresponding ZkSync artifacts. - */ -export async function loadAllZKSyncArtifacts(): Promise { - const zkSyncArtifactMap: ArtifactMap = {}; - const zksyncArtifactNames = await getZKSyncArtifactNames(); - for (const artifactName of zksyncArtifactNames) { - const artifact = await loadZKSyncArtifact(artifactName); - if (artifact) { - zkSyncArtifactMap[artifactName] = artifact; - } - } - - return zkSyncArtifactMap; -} - -/** - * @dev Retrieves a specific ZkSync artifact by its file name. - * @param name The name of the artifact to retrieve. - * @return The loaded ZkSyncArtifact or undefined if it cannot be loaded. - */ -export async function getZKSyncArtifactByName( - name: string, -): Promise { - return loadZKSyncArtifact(name); -} diff --git a/solidity/exportBuildArtifact.sh b/solidity/exportBuildArtifact.sh index c951281911..e6d5d503b8 100755 --- a/solidity/exportBuildArtifact.sh +++ b/solidity/exportBuildArtifact.sh @@ -37,42 +37,3 @@ else echo 'Failed to process build artifact with jq' exit 1 fi - -# ZKSYNC - -if [ "$ZKSYNC" = "true" ]; then - # Define the artifacts directory - artifactsDir="./artifacts-zk/build-info" - # Define the output file - outputFileJson="./dist/zksync/buildArtifact.json" - outputFileJs="./dist/zksync/buildArtifact.js" - outputFileTsd="./dist/zksync/buildArtifact.d.ts" - - # log that we're in the script - echo 'Finding and processing ZKSync hardhat build artifact...' - - # Find most recently modified JSON build artifact - if [ "$(uname)" = "Darwin" ]; then - # for local flow - jsonFiles=$(find "$artifactsDir" -type f -name "*.json" -exec stat -f "%m %N" {} \; | sort -rn | head -n 1 | cut -d' ' -f2-) - else - # for CI flow - jsonFiles=$(find "$artifactsDir" -type f -name "*.json" -exec stat -c "%Y %n" {} \; | sort -rn | head -n 1 | cut -d' ' -f2-) - fi - - if [ ! -f "$jsonFiles" ]; then - echo 'Failed to find ZKSync build artifact' - exit 1 - fi - - # Extract required keys and write to outputFile - if jq -c '{input, solcLongVersion, zk_version: .output.zk_version}' "$jsonFiles" >"$outputFileJson"; then - echo "export const buildArtifact = " >"$outputFileJs" - cat "$outputFileJson" >>"$outputFileJs" - echo "export const buildArtifact: any" >"$outputFileTsd" - echo 'Finished processing ZKSync build artifact.' - else - echo 'Failed to process ZKSync build artifact with jq' - exit 1 - fi -fi \ No newline at end of file diff --git a/solidity/generate-artifact-exports.mjs b/solidity/generate-artifact-exports.mjs deleted file mode 100755 index 97ce7beaa0..0000000000 --- a/solidity/generate-artifact-exports.mjs +++ /dev/null @@ -1,60 +0,0 @@ -import { promises as fsPromises } from 'fs'; -import { basename, dirname, join } from 'path'; -import { glob } from 'typechain'; -import { fileURLToPath } from 'url'; - -const cwd = process.cwd(); - -/** - * @dev Only includes primary JSON artifacts & excludes debug files and build-info directory - */ -const zksyncArtifacts = glob(cwd, [ - `!./artifacts-zk/!(build-info)/**/*.dbg.json`, - `./artifacts-zk/!(build-info)/**/+([a-zA-Z0-9_]).json`, -]); - -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); - -const srcOutputDir = join(__dirname, 'core-utils/zksync/artifacts'); - -// Ensure output directory exists -await fsPromises.mkdir(srcOutputDir, { recursive: true }); - -/** - * @dev Processes a single artifact file - */ -async function processArtifactFile(file) { - const fileName = `${basename(file, '.json')}`; - const outputFile = join(srcOutputDir, `${fileName}.json`); - - // Check if file already exists - const fileExists = await fsPromises - .access(outputFile) - .then(() => true) - .catch(() => false); - - if (fileExists) { - // File already exists, skipping... - // NOTE: Hardhat compiler produces duplicate artifacts when - // shared interfaces/libraries are used across different contracts - // This is expected behavior and we only need one copy of each artifact - return; - } - - const fileContent = await fsPromises.readFile(file, { encoding: 'utf-8' }); - await fsPromises.writeFile(outputFile, fileContent); -} - -/** - * @dev Reads each artifact file and writes it to srcOutputDir concurrently - */ -await Promise.all( - zksyncArtifacts.map(async (file) => { - try { - await processArtifactFile(file); - } catch (error) { - console.error(`Error processing file ${file}:`, error); - } - }), -); diff --git a/solidity/hardhat.config.cts b/solidity/hardhat.config.cts index 6fd31c3dc4..6d64d971e6 100644 --- a/solidity/hardhat.config.cts +++ b/solidity/hardhat.config.cts @@ -22,7 +22,7 @@ module.exports = { currency: 'USD', }, typechain: { - outDir: './core-utils/typechain', + outDir: './types', target: 'ethers-v5', alwaysGenerateOverloads: true, node16Modules: true, diff --git a/solidity/package.json b/solidity/package.json index d40dfbe23d..20a177a505 100644 --- a/solidity/package.json +++ b/solidity/package.json @@ -13,7 +13,6 @@ }, "devDependencies": { "@layerzerolabs/solidity-examples": "^1.1.0", - "@matterlabs/hardhat-zksync-solc": "^1.2.4", "@nomiclabs/hardhat-ethers": "^2.2.3", "@nomiclabs/hardhat-waffle": "^2.0.6", "@typechain/ethers-v5": "^11.1.2", @@ -36,8 +35,7 @@ "ts-node": "^10.8.0", "tsx": "^4.19.1", "typechain": "patch:typechain@npm%3A8.3.2#~/.yarn/patches/typechain-npm-8.3.2-b02e27439e.patch", - "typescript": "5.3.3", - "zksync-ethers": "^5.10.0" + "typescript": "5.3.3" }, "directories": { "test": "test" @@ -45,10 +43,9 @@ "type": "module", "exports": { ".": "./dist/index.js", - "./mailbox": "./dist/typechain/contracts/Mailbox.js", + "./mailbox": "./dist/contracts/Mailbox.js", "./buildArtifact.js": "./dist/buildArtifact.js", "./buildArtifact.json": "./dist/buildArtifact.json", - "./buildArtifact-zksync.js": "./dist/zksync/buildArtifact.js", "./contracts": "./contracts" }, "types": "./dist/index.d.ts", @@ -68,15 +65,12 @@ "license": "Apache-2.0", "scripts": { "build": "yarn version:update && yarn hardhat-esm compile && tsc && ./exportBuildArtifact.sh", - "build:zk": "yarn hardhat-zk compile && ts-node generate-artifact-exports.mjs && ZKSYNC=true ./exportBuildArtifact.sh && yarn copy-artifacts", - "prepublishOnly": "yarn build && yarn build:zk", "lint": "solhint contracts/**/*.sol", - "clean": "yarn hardhat-esm clean && yarn hardhat-zk clean && rm -rf ./dist ./cache ./cache-zk ./types ./coverage ./out ./forge-cache ./fixtures", + "clean": "yarn hardhat-esm clean && rm -rf ./dist ./cache ./types ./coverage ./out ./forge-cache ./fixtures", "coverage": "yarn fixtures && ./coverage.sh", "docs": "forge doc", "fixtures": "mkdir -p ./fixtures/aggregation ./fixtures/multisig", "hardhat-esm": "NODE_OPTIONS='--experimental-loader ts-node/esm/transpile-only --no-warnings=ExperimentalWarning' hardhat --config hardhat.config.cts", - "hardhat-zk": "NODE_OPTIONS='--experimental-loader ts-node/esm/transpile-only --no-warnings=ExperimentalWarning' hardhat --config zk-hardhat.config.cts", "prettier": "prettier --write ./contracts ./test", "test": "yarn version:exhaustive && yarn hardhat-esm test && yarn test:forge", "test:hardhat": "yarn hardhat-esm test", @@ -88,8 +82,7 @@ "storage": "./storage.sh", "version:update": "sh ./bytecodeversion.sh", "version:changed": "yarn version:update && git diff --exit-code", - "version:exhaustive": "yarn tsx ./test/exhaustiveversion.test.ts", - "copy-artifacts": "mkdir -p dist/zksync/artifacts && cp core-utils/zksync/artifacts/*.json dist/zksync/artifacts/" + "version:exhaustive": "yarn tsx ./test/exhaustiveversion.test.ts" }, "peerDependencies": { "@ethersproject/abi": "*", diff --git a/solidity/test/lib/mailboxes.ts b/solidity/test/lib/mailboxes.ts index bd1d728e36..06ae211cf5 100644 --- a/solidity/test/lib/mailboxes.ts +++ b/solidity/test/lib/mailboxes.ts @@ -18,8 +18,8 @@ import { LegacyMultisigIsm, TestMailbox, TestMerkleTreeHook, -} from '../../core-utils/typechain'; -import { DispatchEvent } from '../../core-utils/typechain/contracts/Mailbox'; +} from '../../types'; +import { DispatchEvent } from '../../types/contracts/Mailbox'; export type MessageAndProof = { proof: MerkleProof; diff --git a/solidity/test/merkle.test.ts b/solidity/test/merkle.test.ts index 5546ac86bf..f2a3d5d399 100644 --- a/solidity/test/merkle.test.ts +++ b/solidity/test/merkle.test.ts @@ -2,7 +2,7 @@ import { expect } from 'chai'; import { utils } from 'ethers'; import merkleTestCases from '../../vectors/merkle.json' assert { type: 'json' }; -import { TestMerkle, TestMerkle__factory } from '../core-utils/typechain'; +import { TestMerkle, TestMerkle__factory } from '../types'; import { getSigner } from './signer'; diff --git a/solidity/test/message.test.ts b/solidity/test/message.test.ts index 996bb31e7b..83bde28b6f 100644 --- a/solidity/test/message.test.ts +++ b/solidity/test/message.test.ts @@ -8,11 +8,7 @@ import { } from '@hyperlane-xyz/utils'; import testCases from '../../vectors/message.json' assert { type: 'json' }; -import { - Mailbox__factory, - TestMessage, - TestMessage__factory, -} from '../core-utils/typechain'; +import { Mailbox__factory, TestMessage, TestMessage__factory } from '../types'; import { getSigner, getSigners } from './signer'; diff --git a/solidity/test/mockMailbox.test.ts b/solidity/test/mockMailbox.test.ts index 6df9ec41db..db49a7585e 100644 --- a/solidity/test/mockMailbox.test.ts +++ b/solidity/test/mockMailbox.test.ts @@ -3,10 +3,7 @@ import { utils } from 'ethers'; import { addressToBytes32 } from '@hyperlane-xyz/utils'; -import { - MockMailbox__factory, - TestRecipient__factory, -} from '../core-utils/typechain'; +import { MockMailbox__factory, TestRecipient__factory } from '../types'; import { getSigner } from './signer'; diff --git a/solidity/test/testrecipient.test.ts b/solidity/test/testrecipient.test.ts index dd1d9a44e1..acdbf573eb 100644 --- a/solidity/test/testrecipient.test.ts +++ b/solidity/test/testrecipient.test.ts @@ -3,7 +3,7 @@ import { utils } from 'ethers'; import { addressToBytes32 } from '@hyperlane-xyz/utils'; -import { TestRecipient, TestRecipient__factory } from '../core-utils/typechain'; +import { TestRecipient, TestRecipient__factory } from '../types'; import { getSigner } from './signer'; diff --git a/solidity/tsconfig.json b/solidity/tsconfig.json index 99ae657d2b..cece6d7fc6 100644 --- a/solidity/tsconfig.json +++ b/solidity/tsconfig.json @@ -2,7 +2,7 @@ "extends": "../tsconfig.json", "compilerOptions": { "outDir": "./dist", - "rootDir": "./core-utils" + "rootDir": "./types" }, - "exclude": ["./test", "hardhat.config.cts", "./dist", "zk-hardhat.config.cts"] + "exclude": ["./test", "hardhat.config.cts", "./dist"] } diff --git a/solidity/zk-hardhat.config.cts b/solidity/zk-hardhat.config.cts deleted file mode 100644 index 618fe65a5b..0000000000 --- a/solidity/zk-hardhat.config.cts +++ /dev/null @@ -1,46 +0,0 @@ -import '@matterlabs/hardhat-zksync-solc'; -import '@nomiclabs/hardhat-ethers'; -import 'hardhat-ignore-warnings'; - -/** - * @type import('hardhat/config').HardhatUserConfig - */ -module.exports = { - zksolc: { - version: '1.5.3', - compilerSource: 'binary', - enableEraVMExtensions: true, - }, - defaultNetwork: 'zkSyncNetwork', - networks: { - zkSyncNetwork: { - url: 'http://127.0.0.1:8011', - ethNetwork: '', - zksync: true, - }, - }, - solidity: { - version: '0.8.19', - settings: { - optimizer: { - enabled: true, - runs: 999_999, - }, - }, - }, - mocha: { - bail: true, - import: 'tsx', - }, - warnings: { - // turn off all warnings for libs: - 'fx-portal/**/*': { - default: 'off', - }, - }, - paths: { - sources: './contracts', - cache: './cache-zk', - artifacts: './artifacts-zk', - }, -}; diff --git a/yarn.lock b/yarn.lock index db73d1093b..acf43f2e9b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4240,13 +4240,6 @@ __metadata: languageName: node linkType: hard -"@balena/dockerignore@npm:^1.0.2": - version: 1.0.2 - resolution: "@balena/dockerignore@npm:1.0.2" - checksum: 10/13d654fdd725008577d32e721c720275bdc48f72bce612326363d5bed449febbed856c517a0b23c7c40d87cb531e63432804550b4ecc13e365d26fee38fb6c8a - languageName: node - linkType: hard - "@base2/pretty-print-object@npm:1.0.1": version: 1.0.1 resolution: "@base2/pretty-print-object@npm:1.0.1" @@ -7221,16 +7214,6 @@ __metadata: languageName: node linkType: hard -"@grpc/grpc-js@npm:^1.11.1": - version: 1.12.5 - resolution: "@grpc/grpc-js@npm:1.12.5" - dependencies: - "@grpc/proto-loader": "npm:^0.7.13" - "@js-sdsl/ordered-map": "npm:^4.4.2" - checksum: 10/4f8ead236dcab4d94e15e62d65ad2d93732d37f5cc52ffafe67ae00f69eae4a4c97d6d34a1b9eac9f30206468f2d15302ea6649afcba1d38929afa9d1e7c12d5 - languageName: node - linkType: hard - "@grpc/grpc-js@npm:~1.10.3": version: 1.10.8 resolution: "@grpc/grpc-js@npm:1.10.8" @@ -7387,7 +7370,6 @@ __metadata: "@hyperlane-xyz/utils": "npm:8.3.0" "@layerzerolabs/lz-evm-oapp-v2": "npm:2.0.2" "@layerzerolabs/solidity-examples": "npm:^1.1.0" - "@matterlabs/hardhat-zksync-solc": "npm:^1.2.4" "@nomiclabs/hardhat-ethers": "npm:^2.2.3" "@nomiclabs/hardhat-waffle": "npm:^2.0.6" "@openzeppelin/contracts": "npm:^4.9.3" @@ -7414,7 +7396,6 @@ __metadata: tsx: "npm:^4.19.1" typechain: "patch:typechain@npm%3A8.3.2#~/.yarn/patches/typechain-npm-8.3.2-b02e27439e.patch" typescript: "npm:5.3.3" - zksync-ethers: "npm:^5.10.0" peerDependencies: "@ethersproject/abi": "*" "@ethersproject/providers": "*" @@ -8761,27 +8742,6 @@ __metadata: languageName: node linkType: hard -"@matterlabs/hardhat-zksync-solc@npm:^1.2.4": - version: 1.2.5 - resolution: "@matterlabs/hardhat-zksync-solc@npm:1.2.5" - dependencies: - "@nomiclabs/hardhat-docker": "npm:^2.0.2" - chai: "npm:^4.3.4" - chalk: "npm:^4.1.2" - debug: "npm:^4.3.5" - dockerode: "npm:^4.0.2" - fs-extra: "npm:^11.2.0" - proper-lockfile: "npm:^4.1.2" - semver: "npm:^7.6.2" - sinon: "npm:^18.0.0" - sinon-chai: "npm:^3.7.0" - undici: "npm:^6.18.2" - peerDependencies: - hardhat: ^2.22.5 - checksum: 10/0452ad5504258fad2f2d10be40cc79bb0e65d3470af75f70f60e4a94bb92f238031a13587cda51a0dfd77ef1cb028145088e2628a02db6d7a5ac721bf2816bf0 - languageName: node - linkType: hard - "@mdx-js/react@npm:^2.1.5": version: 2.3.0 resolution: "@mdx-js/react@npm:2.3.0" @@ -9667,17 +9627,6 @@ __metadata: languageName: node linkType: hard -"@nomiclabs/hardhat-docker@npm:^2.0.2": - version: 2.0.2 - resolution: "@nomiclabs/hardhat-docker@npm:2.0.2" - dependencies: - dockerode: "npm:^2.5.8" - fs-extra: "npm:^7.0.1" - node-fetch: "npm:^2.6.0" - checksum: 10/2b6601a7bcac115a24dc4d2ce35b76b1748ffaebd723afad17e8f506231e1d6c7e5c9df73b29d429c5eb01cb0e11ff92f10c746ca31343b0fd3ddc449c9ec8f3 - languageName: node - linkType: hard - "@nomiclabs/hardhat-ethers@npm:^2.2.3": version: 2.2.3 resolution: "@nomiclabs/hardhat-ethers@npm:2.2.3" @@ -13026,7 +12975,7 @@ __metadata: languageName: node linkType: hard -"@sinonjs/commons@npm:^3.0.0, @sinonjs/commons@npm:^3.0.1": +"@sinonjs/commons@npm:^3.0.0": version: 3.0.1 resolution: "@sinonjs/commons@npm:3.0.1" dependencies: @@ -13035,15 +12984,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:11.2.2": - version: 11.2.2 - resolution: "@sinonjs/fake-timers@npm:11.2.2" - dependencies: - "@sinonjs/commons": "npm:^3.0.0" - checksum: 10/da7dfa677b2362bc5a321fc1563184755b5c62fbb1a72457fb9e901cd187ba9dc834f9e8a0fb5a4e1d1e6e6ad4c5b54e90900faa44dd6c82d3c49c92ec23ecd4 - languageName: node - linkType: hard - "@sinonjs/fake-timers@npm:>=5, @sinonjs/fake-timers@npm:^9.1.2": version: 9.1.2 resolution: "@sinonjs/fake-timers@npm:9.1.2" @@ -13062,15 +13002,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^13.0.1": - version: 13.0.5 - resolution: "@sinonjs/fake-timers@npm:13.0.5" - dependencies: - "@sinonjs/commons": "npm:^3.0.1" - checksum: 10/11ee417968fc4dce1896ab332ac13f353866075a9d2a88ed1f6258f17cc4f7d93e66031b51fcddb8c203aa4d53fd980b0ae18aba06269f4682164878a992ec3f - languageName: node - linkType: hard - "@sinonjs/samsam@npm:^6.1.1": version: 6.1.1 resolution: "@sinonjs/samsam@npm:6.1.1" @@ -13082,17 +13013,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/samsam@npm:^8.0.0": - version: 8.0.2 - resolution: "@sinonjs/samsam@npm:8.0.2" - dependencies: - "@sinonjs/commons": "npm:^3.0.1" - lodash.get: "npm:^4.4.2" - type-detect: "npm:^4.1.0" - checksum: 10/58ca9752e8e835a09ed275f8edf8da2720fe95c0c02f6bcb90ad7f86fdceb393f35f744194b705dd94216228646ec0aedbb814e245eb869b940dcf1266b7a533 - languageName: node - linkType: hard - "@sinonjs/text-encoding@npm:^0.7.1": version: 0.7.1 resolution: "@sinonjs/text-encoding@npm:0.7.1" @@ -13100,13 +13020,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/text-encoding@npm:^0.7.3": - version: 0.7.3 - resolution: "@sinonjs/text-encoding@npm:0.7.3" - checksum: 10/f0cc89bae36e7ce159187dece7800b78831288f1913e9ae8cf8a878da5388232d2049740f6f4a43ec4b43b8ad1beb55f919f45eb9a577adb4a2a6eacb27b25fc - languageName: node - linkType: hard - "@smithy/abort-controller@npm:^3.0.0": version: 3.0.0 resolution: "@smithy/abort-controller@npm:3.0.0" @@ -17166,18 +17079,6 @@ __metadata: languageName: node linkType: hard -"JSONStream@npm:1.3.2": - version: 1.3.2 - resolution: "JSONStream@npm:1.3.2" - dependencies: - jsonparse: "npm:^1.2.0" - through: "npm:>=2.2.7 <3" - bin: - JSONStream: ./bin.js - checksum: 10/3a1274f39e9b0369da5d5536906b527113326434a43b92923ac2d3c2d449009253b245055de2633b1d9ca7ae30054b6091d755e79f0cb1c7dab9b6b253871812 - languageName: node - linkType: hard - "JSONStream@npm:^1.3.5": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" @@ -18002,7 +17903,7 @@ __metadata: languageName: node linkType: hard -"asn1@npm:^0.2.6, asn1@npm:~0.2.3": +"asn1@npm:~0.2.3": version: 0.2.6 resolution: "asn1@npm:0.2.6" dependencies: @@ -18416,7 +18317,7 @@ __metadata: languageName: node linkType: hard -"bcrypt-pbkdf@npm:^1.0.0, bcrypt-pbkdf@npm:^1.0.2": +"bcrypt-pbkdf@npm:^1.0.0": version: 1.0.2 resolution: "bcrypt-pbkdf@npm:1.0.2" dependencies: @@ -18584,16 +18485,6 @@ __metadata: languageName: node linkType: hard -"bl@npm:^1.0.0": - version: 1.2.3 - resolution: "bl@npm:1.2.3" - dependencies: - readable-stream: "npm:^2.3.5" - safe-buffer: "npm:^5.1.1" - checksum: 10/11d775b09ebd7d8c0df1ed7efd03cc8a2b1283c804a55153c81a0b586728a085fa24240647cac9a60163eb6f36a28cf8c45b80bf460a46336d4c84c40205faff - languageName: node - linkType: hard - "bl@npm:^4.0.3, bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -18918,23 +18809,6 @@ __metadata: languageName: node linkType: hard -"buffer-alloc-unsafe@npm:^1.1.0": - version: 1.1.0 - resolution: "buffer-alloc-unsafe@npm:1.1.0" - checksum: 10/c5e18bf51f67754ec843c9af3d4c005051aac5008a3992938dda1344e5cfec77c4b02b4ca303644d1e9a6e281765155ce6356d85c6f5ccc5cd21afc868def396 - languageName: node - linkType: hard - -"buffer-alloc@npm:^1.2.0": - version: 1.2.0 - resolution: "buffer-alloc@npm:1.2.0" - dependencies: - buffer-alloc-unsafe: "npm:^1.1.0" - buffer-fill: "npm:^1.0.0" - checksum: 10/560cd27f3cbe73c614867da373407d4506309c62fe18de45a1ce191f3785ec6ca2488d802ff82065798542422980ca25f903db078c57822218182c37c3576df5 - languageName: node - linkType: hard - "buffer-crc32@npm:~0.2.3": version: 0.2.13 resolution: "buffer-crc32@npm:0.2.13" @@ -18949,13 +18823,6 @@ __metadata: languageName: node linkType: hard -"buffer-fill@npm:^1.0.0": - version: 1.0.0 - resolution: "buffer-fill@npm:1.0.0" - checksum: 10/c29b4723ddeab01e74b5d3b982a0c6828f2ded49cef049ddca3dac661c874ecdbcecb5dd8380cf0f4adbeb8cff90a7de724126750a1f1e5ebd4eb6c59a1315b1 - languageName: node - linkType: hard - "buffer-from@npm:^1.0.0": version: 1.1.2 resolution: "buffer-from@npm:1.1.2" @@ -19061,13 +18928,6 @@ __metadata: languageName: node linkType: hard -"buildcheck@npm:~0.0.6": - version: 0.0.6 - resolution: "buildcheck@npm:0.0.6" - checksum: 10/194ee8d3b0926fd6f3e799732130ad7ab194882c56900b8670ad43c81326f64871f49b7d9f1e9baad91ca3070eb4e8b678797fe9ae78cf87dde86d8916eb25d2 - languageName: node - linkType: hard - "busboy@npm:^1.6.0": version: 1.6.0 resolution: "busboy@npm:1.6.0" @@ -19526,7 +19386,7 @@ __metadata: languageName: node linkType: hard -"chownr@npm:^1.0.1, chownr@npm:^1.1.1, chownr@npm:^1.1.4": +"chownr@npm:^1.1.1, chownr@npm:^1.1.4": version: 1.1.4 resolution: "chownr@npm:1.1.4" checksum: 10/115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d @@ -20061,7 +19921,7 @@ __metadata: languageName: node linkType: hard -"concat-stream@npm:^1.6.0, concat-stream@npm:^1.6.2, concat-stream@npm:~1.6.2": +"concat-stream@npm:^1.6.0, concat-stream@npm:^1.6.2": version: 1.6.2 resolution: "concat-stream@npm:1.6.2" dependencies: @@ -20290,17 +20150,6 @@ __metadata: languageName: node linkType: hard -"cpu-features@npm:~0.0.10": - version: 0.0.10 - resolution: "cpu-features@npm:0.0.10" - dependencies: - buildcheck: "npm:~0.0.6" - nan: "npm:^2.19.0" - node-gyp: "npm:latest" - checksum: 10/941b828ffe77582b2bdc03e894c913e2e2eeb5c6043ccb01338c34446d026f6888dc480ecb85e684809f9c3889d245f3648c7907eb61a92bdfc6aed039fcda8d - languageName: node - linkType: hard - "crc-32@npm:^1.2.0": version: 1.2.2 resolution: "crc-32@npm:1.2.2" @@ -20630,7 +20479,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.1.0, debug@npm:^3.2.6, debug@npm:^3.2.7": +"debug@npm:^3.1.0, debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" dependencies: @@ -21092,13 +20941,6 @@ __metadata: languageName: node linkType: hard -"diff@npm:^5.2.0": - version: 5.2.0 - resolution: "diff@npm:5.2.0" - checksum: 10/01b7b440f83a997350a988e9d2f558366c0f90f15be19f4aa7f1bb3109a4e153dfc3b9fbf78e14ea725717017407eeaa2271e3896374a0181e8f52445740846d - languageName: node - linkType: hard - "difflib@npm:^0.2.4": version: 0.2.4 resolution: "difflib@npm:0.2.4" @@ -21131,56 +20973,6 @@ __metadata: languageName: node linkType: hard -"docker-modem@npm:^1.0.8": - version: 1.0.9 - resolution: "docker-modem@npm:1.0.9" - dependencies: - JSONStream: "npm:1.3.2" - debug: "npm:^3.2.6" - readable-stream: "npm:~1.0.26-4" - split-ca: "npm:^1.0.0" - checksum: 10/2ade3d9f1b25231a5ecadcbfb9401a397eff3de2eec7add8130de1c40004faaa58fe074e5110ccef12957973089e5911b711648c77944a4a15d908e9b9605549 - languageName: node - linkType: hard - -"docker-modem@npm:^5.0.6": - version: 5.0.6 - resolution: "docker-modem@npm:5.0.6" - dependencies: - debug: "npm:^4.1.1" - readable-stream: "npm:^3.5.0" - split-ca: "npm:^1.0.1" - ssh2: "npm:^1.15.0" - checksum: 10/4977797814c29205f0762215f2e3e26600986bb65139018ff6840ff4c596e5d19f3002be1abcc5e73e3828870bb73bab28275a6458ad027ed56ab61fca014b6d - languageName: node - linkType: hard - -"dockerode@npm:^2.5.8": - version: 2.5.8 - resolution: "dockerode@npm:2.5.8" - dependencies: - concat-stream: "npm:~1.6.2" - docker-modem: "npm:^1.0.8" - tar-fs: "npm:~1.16.3" - checksum: 10/13111cfcaf47905cd2cd323a07cb5b79404ef5e9032e33ef3a6f71d1f72283d9b2921b6de955c8454b147bbf4db33822a80d960b2250e3e8aed62ffe0b43083f - languageName: node - linkType: hard - -"dockerode@npm:^4.0.2": - version: 4.0.4 - resolution: "dockerode@npm:4.0.4" - dependencies: - "@balena/dockerignore": "npm:^1.0.2" - "@grpc/grpc-js": "npm:^1.11.1" - "@grpc/proto-loader": "npm:^0.7.13" - docker-modem: "npm:^5.0.6" - protobufjs: "npm:^7.3.2" - tar-fs: "npm:~2.0.1" - uuid: "npm:^10.0.0" - checksum: 10/db2304e6125d0c4246833eaa6a389497c98564ba2ed18fa465eace1b6eb6c2a41f1711fc1e57cd2fc0f7ca6be80eeca43b0c35cd6b86205e34faf9acb0f72bcc - languageName: node - linkType: hard - "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -23880,17 +23672,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^11.2.0": - version: 11.3.0 - resolution: "fs-extra@npm:11.3.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10/c9fe7b23dded1efe7bbae528d685c3206477e20cc60e9aaceb3f024f9b9ff2ee1f62413c161cb88546cc564009ab516dec99e9781ba782d869bb37e4fe04a97f - languageName: node - linkType: hard - "fs-extra@npm:^4.0.2": version: 4.0.3 resolution: "fs-extra@npm:4.0.3" @@ -27503,13 +27284,6 @@ __metadata: languageName: node linkType: hard -"just-extend@npm:^6.2.0": - version: 6.2.0 - resolution: "just-extend@npm:6.2.0" - checksum: 10/1f487b074b9e5773befdd44dc5d1b446f01f24f7d4f1f255d51c0ef7f686e8eb5f95d983b792b9ca5c8b10cd7e60a924d64103725759eddbd7f18bcb22743f92 - languageName: node - linkType: hard - "jwa@npm:^2.0.0": version: 2.0.0 resolution: "jwa@npm:2.0.0" @@ -29338,7 +29112,7 @@ __metadata: languageName: node linkType: hard -"nan@npm:^2.13.2, nan@npm:^2.19.0, nan@npm:^2.20.0": +"nan@npm:^2.13.2": version: 2.22.0 resolution: "nan@npm:2.22.0" dependencies: @@ -29450,19 +29224,6 @@ __metadata: languageName: node linkType: hard -"nise@npm:^6.0.0": - version: 6.1.1 - resolution: "nise@npm:6.1.1" - dependencies: - "@sinonjs/commons": "npm:^3.0.1" - "@sinonjs/fake-timers": "npm:^13.0.1" - "@sinonjs/text-encoding": "npm:^0.7.3" - just-extend: "npm:^6.2.0" - path-to-regexp: "npm:^8.1.0" - checksum: 10/2d3175587cf0a351e2c91eb643fdc59d266de39f394a3ac0bace38571749d1e7f25341d763899245139b8f0d2ee048b2d3387d75ecf94c4897e947d5fc881eea - languageName: node - linkType: hard - "nock@npm:13.5.4": version: 13.5.4 resolution: "nock@npm:13.5.4" @@ -30601,13 +30362,6 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:^8.1.0": - version: 8.2.0 - resolution: "path-to-regexp@npm:8.2.0" - checksum: 10/23378276a172b8ba5f5fb824475d1818ca5ccee7bbdb4674701616470f23a14e536c1db11da9c9e6d82b82c556a817bbf4eee6e41b9ed20090ef9427cbb38e13 - languageName: node - linkType: hard - "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -31262,7 +31016,7 @@ __metadata: languageName: node linkType: hard -"proper-lockfile@npm:^4.1.1, proper-lockfile@npm:^4.1.2": +"proper-lockfile@npm:^4.1.1": version: 4.1.2 resolution: "proper-lockfile@npm:4.1.2" dependencies: @@ -31353,26 +31107,6 @@ __metadata: languageName: node linkType: hard -"protobufjs@npm:^7.3.2": - version: 7.4.0 - resolution: "protobufjs@npm:7.4.0" - dependencies: - "@protobufjs/aspromise": "npm:^1.1.2" - "@protobufjs/base64": "npm:^1.1.2" - "@protobufjs/codegen": "npm:^2.0.4" - "@protobufjs/eventemitter": "npm:^1.1.0" - "@protobufjs/fetch": "npm:^1.1.0" - "@protobufjs/float": "npm:^1.0.2" - "@protobufjs/inquire": "npm:^1.1.0" - "@protobufjs/path": "npm:^1.1.2" - "@protobufjs/pool": "npm:^1.1.0" - "@protobufjs/utf8": "npm:^1.1.0" - "@types/node": "npm:>=13.7.0" - long: "npm:^5.0.0" - checksum: 10/408423506610f70858d7593632f4a6aa4f05796c90fd632be9b9252457c795acc71aa6d3b54bb7f48a890141728fee4ca3906723ccea6c202ad71f21b3879b8b - languageName: node - linkType: hard - "proxy-addr@npm:~2.0.7": version: 2.0.7 resolution: "proxy-addr@npm:2.0.7" @@ -31425,16 +31159,6 @@ __metadata: languageName: node linkType: hard -"pump@npm:^1.0.0": - version: 1.0.3 - resolution: "pump@npm:1.0.3" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: 10/61fe58694f9900020a5cf5bc765d74396891c201afecf06659df2f5874fd832be4e19e2f95cc72d8b9eb98ace0a4db3cebf7343f9fc893a930577be29e3ad8b5 - languageName: node - linkType: hard - "pump@npm:^2.0.0": version: 2.0.1 resolution: "pump@npm:2.0.1" @@ -32165,7 +31889,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.0, readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:~2.3.6": +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.3.3, readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -32195,7 +31919,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.1.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.2": +"readable-stream@npm:^3.1.0, readable-stream@npm:^3.6.2": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -32230,18 +31954,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:~1.0.26-4": - version: 1.0.34 - resolution: "readable-stream@npm:1.0.34" - dependencies: - core-util-is: "npm:~1.0.0" - inherits: "npm:~2.0.1" - isarray: "npm:0.0.1" - string_decoder: "npm:~0.10.x" - checksum: 10/20537fca5a8ffd4af0f483be1cce0e981ed8cbb1087e0c762e2e92ae77f1005627272cebed8422f28047b465056aa1961fefd24baf532ca6a3616afea6811ae0 - languageName: node - linkType: hard - "readdirp@npm:~3.2.0": version: 3.2.0 resolution: "readdirp@npm:3.2.0" @@ -33686,16 +33398,6 @@ __metadata: languageName: node linkType: hard -"sinon-chai@npm:^3.7.0": - version: 3.7.0 - resolution: "sinon-chai@npm:3.7.0" - peerDependencies: - chai: ^4.0.0 - sinon: ">=4.0.0" - checksum: 10/028853eb8a545ca613c6863014a40f07d1e6b81467e20939fefcd13f170206d24165b91099fb297aeb4d137745e321da25daa8e2d665cc0a78f90d5b877e8bbe - languageName: node - linkType: hard - "sinon@npm:^13.0.2": version: 13.0.2 resolution: "sinon@npm:13.0.2" @@ -33710,20 +33412,6 @@ __metadata: languageName: node linkType: hard -"sinon@npm:^18.0.0": - version: 18.0.1 - resolution: "sinon@npm:18.0.1" - dependencies: - "@sinonjs/commons": "npm:^3.0.1" - "@sinonjs/fake-timers": "npm:11.2.2" - "@sinonjs/samsam": "npm:^8.0.0" - diff: "npm:^5.2.0" - nise: "npm:^6.0.0" - supports-color: "npm:^7" - checksum: 10/65be65a7c5dbef7e9e315820bcd17fe0387fb07cb5dd41d3d6a89177e9a2ca463144676d8407348dc075758daa7cf37b9376d35bd1bc7e06717e87d03aa26111 - languageName: node - linkType: hard - "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -34223,13 +33911,6 @@ __metadata: languageName: node linkType: hard -"split-ca@npm:^1.0.0, split-ca@npm:^1.0.1": - version: 1.0.1 - resolution: "split-ca@npm:1.0.1" - checksum: 10/1e7409938a95ee843fe2593156a5735e6ee63772748ee448ea8477a5a3e3abde193c3325b3696e56a5aff07c7dcf6b1f6a2f2a036895b4f3afe96abb366d893f - languageName: node - linkType: hard - "split-on-first@npm:^1.0.0": version: 1.1.0 resolution: "split-on-first@npm:1.1.0" @@ -34251,23 +33932,6 @@ __metadata: languageName: node linkType: hard -"ssh2@npm:^1.15.0": - version: 1.16.0 - resolution: "ssh2@npm:1.16.0" - dependencies: - asn1: "npm:^0.2.6" - bcrypt-pbkdf: "npm:^1.0.2" - cpu-features: "npm:~0.0.10" - nan: "npm:^2.20.0" - dependenciesMeta: - cpu-features: - optional: true - nan: - optional: true - checksum: 10/0951c22d9c5a0e3b89a8e5ae890ebcbce9f1f94dbed37d1490e4e48e26bc8b074fa81f202ee57b708e31b5f33033f4c870b92047f4f02b6bc26c32225b01d84c - languageName: node - linkType: hard - "sshpk@npm:^1.7.0": version: 1.17.0 resolution: "sshpk@npm:1.17.0" @@ -34666,13 +34330,6 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:~0.10.x": - version: 0.10.31 - resolution: "string_decoder@npm:0.10.31" - checksum: 10/cc43e6b1340d4c7843da0e37d4c87a4084c2342fc99dcf6563c3ec273bb082f0cbd4ebf25d5da19b04fb16400d393885fda830be5128e1c416c73b5a6165f175 - languageName: node - linkType: hard - "string_decoder@npm:~1.1.1": version: 1.1.1 resolution: "string_decoder@npm:1.1.1" @@ -34910,7 +34567,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7, supports-color@npm:^7.0.0, supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -35137,46 +34794,7 @@ __metadata: languageName: node linkType: hard -"tar-fs@npm:~1.16.3": - version: 1.16.4 - resolution: "tar-fs@npm:1.16.4" - dependencies: - chownr: "npm:^1.0.1" - mkdirp: "npm:^0.5.1" - pump: "npm:^1.0.0" - tar-stream: "npm:^1.1.2" - checksum: 10/2392fb92ebcdbf1b70961192a0f32955dbfc5cd844d4980e7e0dc7b8cb269d6e23831ae8ceb8137322367dcc42ae946f2349d0fd79b89b3c30b0a7d3ff5fc15e - languageName: node - linkType: hard - -"tar-fs@npm:~2.0.1": - version: 2.0.1 - resolution: "tar-fs@npm:2.0.1" - dependencies: - chownr: "npm:^1.1.1" - mkdirp-classic: "npm:^0.5.2" - pump: "npm:^3.0.0" - tar-stream: "npm:^2.0.0" - checksum: 10/85ceac6fce0e9175b5b67c0eca8864b7d29a940cae8b7657c60b66e8a252319d701c3df12814162a6839e6120f9e1975757293bdeaf294ad5b15721d236c4d32 - languageName: node - linkType: hard - -"tar-stream@npm:^1.1.2": - version: 1.6.2 - resolution: "tar-stream@npm:1.6.2" - dependencies: - bl: "npm:^1.0.0" - buffer-alloc: "npm:^1.2.0" - end-of-stream: "npm:^1.0.0" - fs-constants: "npm:^1.0.0" - readable-stream: "npm:^2.3.0" - to-buffer: "npm:^1.1.1" - xtend: "npm:^4.0.0" - checksum: 10/ac9b850bd40e6d4b251abcf92613bafd9fc9e592c220c781ebcdbb0ba76da22a245d9ea3ea638ad7168910e7e1ae5079333866cd679d2f1ffadb99c403f99d7f - languageName: node - linkType: hard - -"tar-stream@npm:^2.0.0, tar-stream@npm:^2.1.4": +"tar-stream@npm:^2.1.4": version: 2.2.0 resolution: "tar-stream@npm:2.2.0" dependencies: @@ -35478,13 +35096,6 @@ __metadata: languageName: node linkType: hard -"to-buffer@npm:^1.1.1": - version: 1.1.1 - resolution: "to-buffer@npm:1.1.1" - checksum: 10/8ade59fe04239b281496b6067bc83ad0371a3657552276cbd09ffffaeb3ad0018a28306d61b854b83280eabe1829cbc53001ccd761e834c6062cbcc7fee2766a - languageName: node - linkType: hard - "to-fast-properties@npm:^2.0.0": version: 2.0.0 resolution: "to-fast-properties@npm:2.0.0" @@ -36747,15 +36358,6 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^10.0.0": - version: 10.0.0 - resolution: "uuid@npm:10.0.0" - bin: - uuid: dist/bin/uuid - checksum: 10/35aa60614811a201ff90f8ca5e9ecb7076a75c3821e17f0f5ff72d44e36c2d35fcbc2ceee9c4ac7317f4cc41895da30e74f3885e30313bee48fda6338f250538 - languageName: node - linkType: hard - "uuid@npm:^3.3.2": version: 3.4.0 resolution: "uuid@npm:3.4.0" From f8d17923766c069c1ac9b5712899f877bebaa62e Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Fri, 24 Jan 2025 05:31:09 -0500 Subject: [PATCH 6/6] feat: recurse in safe timelock parser (#5278) ### Description Parse inner transactions on timelocks ### Testing Manual ```sh $ yarn tsx scripts/safes/parse-txs.ts --chains ethereum ``` ```yaml ethereum-0xc096af73952e18fe1201b457a95b598d680d7f185747b28153da2c175532ca8f: chain: ethereum to: Timelock Controller (ethereum 0x59cf937Ea9FA9D7398223E3aA33d92F7f5f986A2) insight: 'Schedule for Sun Jan 26 2025 18:05:17 GMT-0500 (Eastern Standard Time): {"chain":"ethereum","to":"Timelock Controller (ethereum 0x59cf937Ea9FA9D7398223E3aA33d92F7f5f986A2)","args":{"newDelay":{"type":"BigNumber","hex":"0x00"}}}' ``` --- .../infra/config/environments/mainnet3/owners.ts | 1 + typescript/infra/src/tx/govern-transaction-reader.ts | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/typescript/infra/config/environments/mainnet3/owners.ts b/typescript/infra/config/environments/mainnet3/owners.ts index 45b707218f..b6d00132b7 100644 --- a/typescript/infra/config/environments/mainnet3/owners.ts +++ b/typescript/infra/config/environments/mainnet3/owners.ts @@ -8,6 +8,7 @@ import { supportedChainNames } from './supportedChainNames.js'; export const timelocks: ChainMap
= { arbitrum: '0xAC98b0cD1B64EA4fe133C6D2EDaf842cE5cF4b01', + ethereum: '0x59cf937Ea9FA9D7398223E3aA33d92F7f5f986A2', // symbiotic network timelock }; export function localAccountRouters(): ChainMap
{ diff --git a/typescript/infra/src/tx/govern-transaction-reader.ts b/typescript/infra/src/tx/govern-transaction-reader.ts index 7e21335a17..eaff106a43 100644 --- a/typescript/infra/src/tx/govern-transaction-reader.ts +++ b/typescript/infra/src/tx/govern-transaction-reader.ts @@ -202,8 +202,16 @@ export class GovernTransactionReader { 'schedule(address,uint256,bytes,bytes32,bytes32,uint256)' ].name ) { - const [target, value, data, eta, executor, delay] = decoded.args; - insight = `Schedule ${target} to be executed at ${eta} with ${value} ${data}. Executor: ${executor}, Delay: ${delay}`; + const [target, value, data, _predecessor, _salt, delay] = decoded.args; + const inner = await this.read(chain, { + to: target, + data, + value, + }); + + const eta = new Date(Date.now() + delay.toNumber() * 1000); + + insight = `Schedule for ${eta}: ${JSON.stringify(inner)}`; } if (