chore: Setup Syncpack (#4902)

### Description

- Setup Syncpack which can check for package version inconsistencies
across the monorepo
- Run `yarn syncpack fix-mismatches` to fix existing issues


### Backward compatibility

Yes
trevor/svm-collateral-readonly-mint
J M Rossy 5 days ago committed by GitHub
parent fa6d5f5c63
commit e32ee592d7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      .github/workflows/test.yml
  2. 3
      .syncpackrc
  3. 3
      package.json
  4. 4
      solidity/package.json
  5. 6
      typescript/ccip-server/package.json
  6. 4
      typescript/cli/package.json
  7. 7
      typescript/cli/src/utils/input.ts
  8. 2
      typescript/github-proxy/package.json
  9. 2
      typescript/helloworld/package.json
  10. 18
      typescript/infra/package.json
  11. 6
      typescript/infra/scripts/funding/fund-keys-from-deployer.ts
  12. 8
      typescript/sdk/package.json
  13. 2
      typescript/utils/package.json
  14. 4
      typescript/widgets/package.json
  15. 2128
      yarn.lock

@ -54,6 +54,10 @@ jobs:
exit 1 exit 1
fi fi
# Check for mismatched dep versions across the monorepo
- name: syncpack
run: yarn syncpack list-mismatches
lint-prettier: lint-prettier:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [yarn-install] needs: [yarn-install]

@ -0,0 +1,3 @@
{
"dependencyTypes": ["prod", "dev"]
}

@ -15,7 +15,8 @@
"husky": "^8.0.0", "husky": "^8.0.0",
"lint-staged": "^12.4.3", "lint-staged": "^12.4.3",
"prettier": "^2.8.8", "prettier": "^2.8.8",
"tsx": "^4.7.1" "syncpack": "^13.0.0",
"tsx": "^4.19.1"
}, },
"dependencies": { "dependencies": {
"@changesets/cli": "^2.26.2" "@changesets/cli": "^2.26.2"

@ -8,7 +8,7 @@
"@hyperlane-xyz/utils": "7.1.0", "@hyperlane-xyz/utils": "7.1.0",
"@layerzerolabs/lz-evm-oapp-v2": "2.0.2", "@layerzerolabs/lz-evm-oapp-v2": "2.0.2",
"@openzeppelin/contracts": "^4.9.3", "@openzeppelin/contracts": "^4.9.3",
"@openzeppelin/contracts-upgradeable": "^v4.9.3", "@openzeppelin/contracts-upgradeable": "^4.9.3",
"fx-portal": "^1.0.3" "fx-portal": "^1.0.3"
}, },
"devDependencies": { "devDependencies": {
@ -19,7 +19,7 @@
"@typechain/ethers-v6": "^0.5.1", "@typechain/ethers-v6": "^0.5.1",
"@typechain/hardhat": "^9.1.0", "@typechain/hardhat": "^9.1.0",
"@types/node": "^18.14.5", "@types/node": "^18.14.5",
"chai": "4.5.0", "chai": "^4.5.0",
"ethereum-waffle": "^4.0.10", "ethereum-waffle": "^4.0.10",
"ethers": "^5.7.2", "ethers": "^5.7.2",
"hardhat": "^2.22.2", "hardhat": "^2.22.2",

@ -23,19 +23,19 @@
"license": "Apache-2.0", "license": "Apache-2.0",
"devDependencies": { "devDependencies": {
"@jest/globals": "^29.7.0", "@jest/globals": "^29.7.0",
"@types/node": "^16.9.1", "@types/node": "^18.14.5",
"eslint": "^9.15.0", "eslint": "^9.15.0",
"jest": "^29.7.0", "jest": "^29.7.0",
"nodemon": "^3.0.3", "nodemon": "^3.0.3",
"prettier": "^2.8.8", "prettier": "^2.8.8",
"ts-jest": "^29.1.2", "ts-jest": "^29.1.2",
"ts-node": "^10.8.0", "ts-node": "^10.8.0",
"tsx": "^4.7.1", "tsx": "^4.19.1",
"typescript": "5.3.3" "typescript": "5.3.3"
}, },
"dependencies": { "dependencies": {
"@chainlink/ccip-read-server": "^0.2.1", "@chainlink/ccip-read-server": "^0.2.1",
"dotenv-flow": "^4.1.0", "dotenv-flow": "^4.1.0",
"ethers": "5.7.2" "ethers": "^5.7.2"
} }
} }

@ -10,7 +10,7 @@
"@hyperlane-xyz/utils": "7.1.0", "@hyperlane-xyz/utils": "7.1.0",
"@inquirer/core": "9.0.10", "@inquirer/core": "9.0.10",
"@inquirer/figures": "1.0.5", "@inquirer/figures": "1.0.5",
"@inquirer/prompts": "^3.0.0", "@inquirer/prompts": "3.3.2",
"ansi-escapes": "^7.0.0", "ansi-escapes": "^7.0.0",
"asn1.js": "^5.4.1", "asn1.js": "^5.4.1",
"bignumber.js": "^9.1.1", "bignumber.js": "^9.1.1",
@ -18,7 +18,7 @@
"ethers": "^5.7.2", "ethers": "^5.7.2",
"latest-version": "^8.0.0", "latest-version": "^8.0.0",
"terminal-link": "^3.0.0", "terminal-link": "^3.0.0",
"tsx": "^4.7.1", "tsx": "^4.19.1",
"yaml": "2.4.5", "yaml": "2.4.5",
"yargs": "^17.7.2", "yargs": "^17.7.2",
"zod": "^3.21.2", "zod": "^3.21.2",

@ -14,7 +14,7 @@ import {
} from '@inquirer/core'; } from '@inquirer/core';
import figures from '@inquirer/figures'; import figures from '@inquirer/figures';
import { KeypressEvent, confirm, input, isSpaceKey } from '@inquirer/prompts'; import { KeypressEvent, confirm, input, isSpaceKey } from '@inquirer/prompts';
import type { PartialDeep } from '@inquirer/type'; import type { PartialDeep, Prompt } from '@inquirer/type';
import ansiEscapes from 'ansi-escapes'; import ansiEscapes from 'ansi-escapes';
import chalk from 'chalk'; import chalk from 'chalk';
@ -464,7 +464,10 @@ function isDownKey(key: KeypressEvent): boolean {
return key.name === 'down'; return key.name === 'down';
} }
export const searchableCheckBox = createPrompt( export const searchableCheckBox: Prompt<
any,
SearchableCheckboxConfig<any>
> = createPrompt(
<Value>( <Value>(
config: SearchableCheckboxConfig<Value>, config: SearchableCheckboxConfig<Value>,
done: (value: Array<Value>) => void, done: (value: Array<Value>) => void,

@ -27,7 +27,7 @@
"@cloudflare/vitest-pool-workers": "^0.4.5", "@cloudflare/vitest-pool-workers": "^0.4.5",
"@cloudflare/workers-types": "^4.20240821.1", "@cloudflare/workers-types": "^4.20240821.1",
"@faker-js/faker": "^8.4.1", "@faker-js/faker": "^8.4.1",
"chai": "4.5.0", "chai": "^4.5.0",
"prettier": "^2.8.8", "prettier": "^2.8.8",
"typescript": "5.3.3", "typescript": "5.3.3",
"vitest": "1.4.0", "vitest": "1.4.0",

@ -19,7 +19,7 @@
"@typechain/hardhat": "^9.1.0", "@typechain/hardhat": "^9.1.0",
"@typescript-eslint/eslint-plugin": "^8.1.6", "@typescript-eslint/eslint-plugin": "^8.1.6",
"@typescript-eslint/parser": "^8.1.6", "@typescript-eslint/parser": "^8.1.6",
"chai": "4.5.0", "chai": "^4.5.0",
"eslint": "^9.15.0", "eslint": "^9.15.0",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.6.3", "eslint-import-resolver-typescript": "^3.6.3",

@ -3,27 +3,27 @@
"description": "Infrastructure utilities for the Hyperlane Network", "description": "Infrastructure utilities for the Hyperlane Network",
"version": "7.1.0", "version": "7.1.0",
"dependencies": { "dependencies": {
"@arbitrum/sdk": "^3.0.0", "@arbitrum/sdk": "^4.0.0",
"@aws-sdk/client-iam": "^3.74.0", "@aws-sdk/client-iam": "^3.74.0",
"@aws-sdk/client-kms": "3.48.0", "@aws-sdk/client-kms": "^3.577.0",
"@aws-sdk/client-s3": "^3.74.0", "@aws-sdk/client-s3": "^3.577.0",
"@cosmjs/amino": "^0.32.4", "@cosmjs/amino": "^0.32.4",
"@eth-optimism/sdk": "^3.1.6", "@eth-optimism/sdk": "^3.1.6",
"@ethersproject/experimental": "^5.7.0", "@ethersproject/experimental": "^5.7.0",
"@ethersproject/hardware-wallets": "^5.7.0", "@ethersproject/hardware-wallets": "^5.7.0",
"@ethersproject/providers": "^5.7.2", "@ethersproject/providers": "*",
"@google-cloud/secret-manager": "^5.5.0", "@google-cloud/secret-manager": "^5.5.0",
"@hyperlane-xyz/helloworld": "7.1.0", "@hyperlane-xyz/helloworld": "7.1.0",
"@hyperlane-xyz/registry": "6.1.0", "@hyperlane-xyz/registry": "6.1.0",
"@hyperlane-xyz/sdk": "7.1.0", "@hyperlane-xyz/sdk": "7.1.0",
"@hyperlane-xyz/utils": "7.1.0", "@hyperlane-xyz/utils": "7.1.0",
"@inquirer/prompts": "^5.3.8", "@inquirer/prompts": "3.3.2",
"@nomiclabs/hardhat-etherscan": "^3.0.3", "@nomiclabs/hardhat-etherscan": "^3.0.3",
"@safe-global/api-kit": "1.3.0", "@safe-global/api-kit": "1.3.0",
"@safe-global/protocol-kit": "1.3.0", "@safe-global/protocol-kit": "1.3.0",
"@safe-global/safe-core-sdk-types": "2.3.0", "@safe-global/safe-core-sdk-types": "2.3.0",
"@solana/web3.js": "^1.95.4", "@solana/web3.js": "^1.95.4",
"asn1.js": "5.4.1", "asn1.js": "^5.4.1",
"aws-kms-ethers-signer": "^0.1.3", "aws-kms-ethers-signer": "^0.1.3",
"deep-object-diff": "^1.1.9", "deep-object-diff": "^1.1.9",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
@ -39,17 +39,17 @@
"@types/chai": "^4.2.21", "@types/chai": "^4.2.21",
"@types/json-stable-stringify": "^1.0.36", "@types/json-stable-stringify": "^1.0.36",
"@types/mocha": "^10.0.1", "@types/mocha": "^10.0.1",
"@types/node": "^16.9.1", "@types/node": "^18.14.5",
"@types/prompts": "^2.0.14", "@types/prompts": "^2.0.14",
"@types/sinon-chai": "^3.2.12", "@types/sinon-chai": "^3.2.12",
"@types/yargs": "^17.0.24", "@types/yargs": "^17.0.24",
"chai": "4.5.0", "chai": "^4.5.0",
"ethereum-waffle": "^4.0.10", "ethereum-waffle": "^4.0.10",
"ethers": "^5.7.2", "ethers": "^5.7.2",
"hardhat": "^2.22.2", "hardhat": "^2.22.2",
"mocha": "^10.2.0", "mocha": "^10.2.0",
"prettier": "^2.8.8", "prettier": "^2.8.8",
"tsx": "^4.7.1", "tsx": "^4.19.1",
"typescript": "5.3.3" "typescript": "5.3.3"
}, },
"private": true, "private": true,

@ -1,4 +1,4 @@
import { EthBridger, getL2Network } from '@arbitrum/sdk'; import { EthBridger, getArbitrumNetwork } from '@arbitrum/sdk';
import { CrossChainMessenger } from '@eth-optimism/sdk'; import { CrossChainMessenger } from '@eth-optimism/sdk';
import { Connection, PublicKey } from '@solana/web3.js'; import { Connection, PublicKey } from '@solana/web3.js';
import { BigNumber, ethers } from 'ethers'; import { BigNumber, ethers } from 'ethers';
@ -841,13 +841,13 @@ class ContextFunder {
private async bridgeToArbitrum(l2Chain: ChainName, amount: BigNumber) { private async bridgeToArbitrum(l2Chain: ChainName, amount: BigNumber) {
const l1Chain = L2ToL1[l2Chain]; const l1Chain = L2ToL1[l2Chain];
const l2Network = await getL2Network( const l2Network = await getArbitrumNetwork(
this.multiProvider.getEvmChainId(l2Chain), this.multiProvider.getEvmChainId(l2Chain),
); );
const ethBridger = new EthBridger(l2Network); const ethBridger = new EthBridger(l2Network);
return ethBridger.deposit({ return ethBridger.deposit({
amount, amount,
l1Signer: this.multiProvider.getSigner(l1Chain), parentSigner: this.multiProvider.getSigner(l1Chain),
overrides: this.multiProvider.getTransactionOverrides(l1Chain), overrides: this.multiProvider.getTransactionOverrides(l1Chain),
}); });
} }

@ -4,7 +4,7 @@
"version": "7.1.0", "version": "7.1.0",
"dependencies": { "dependencies": {
"@arbitrum/sdk": "^4.0.0", "@arbitrum/sdk": "^4.0.0",
"@aws-sdk/client-s3": "^3.74.0", "@aws-sdk/client-s3": "^3.577.0",
"@chain-registry/types": "^0.50.14", "@chain-registry/types": "^0.50.14",
"@cosmjs/cosmwasm-stargate": "^0.32.4", "@cosmjs/cosmwasm-stargate": "^0.32.4",
"@cosmjs/stargate": "^0.32.4", "@cosmjs/stargate": "^0.32.4",
@ -28,13 +28,13 @@
"@nomiclabs/hardhat-ethers": "^2.2.3", "@nomiclabs/hardhat-ethers": "^2.2.3",
"@nomiclabs/hardhat-waffle": "^2.0.6", "@nomiclabs/hardhat-waffle": "^2.0.6",
"@types/mocha": "^10.0.1", "@types/mocha": "^10.0.1",
"@types/node": "^16.9.1", "@types/node": "^18.14.5",
"@types/sinon": "^17.0.1", "@types/sinon": "^17.0.1",
"@types/sinon-chai": "^3.2.12", "@types/sinon-chai": "^3.2.12",
"@types/ws": "^8.5.5", "@types/ws": "^8.5.5",
"@typescript-eslint/eslint-plugin": "^8.1.6", "@typescript-eslint/eslint-plugin": "^8.1.6",
"@typescript-eslint/parser": "^8.1.6", "@typescript-eslint/parser": "^8.1.6",
"chai": "4.5.0", "chai": "^4.5.0",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
"eslint": "^9.15.0", "eslint": "^9.15.0",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
@ -46,7 +46,7 @@
"prettier": "^2.8.8", "prettier": "^2.8.8",
"sinon": "^13.0.2", "sinon": "^13.0.2",
"ts-node": "^10.8.0", "ts-node": "^10.8.0",
"tsx": "^4.7.1", "tsx": "^4.19.1",
"typescript": "5.3.3", "typescript": "5.3.3",
"yaml": "2.4.5" "yaml": "2.4.5"
}, },

@ -19,7 +19,7 @@
"@types/sinon-chai": "^3.2.12", "@types/sinon-chai": "^3.2.12",
"@typescript-eslint/eslint-plugin": "^8.1.6", "@typescript-eslint/eslint-plugin": "^8.1.6",
"@typescript-eslint/parser": "^8.1.6", "@typescript-eslint/parser": "^8.1.6",
"chai": "4.5.0", "chai": "^4.5.0",
"eslint": "^9.15.0", "eslint": "^9.15.0",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.6.3", "eslint-import-resolver-typescript": "^3.6.3",

@ -18,7 +18,7 @@
"@solana/web3.js": "^1.95.4", "@solana/web3.js": "^1.95.4",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"react-tooltip": "^5.28.0", "react-tooltip": "^5.28.0",
"viem": "^2.21.41", "viem": "^2.21.45",
"wagmi": "^2.12.26" "wagmi": "^2.12.26"
}, },
"devDependencies": { "devDependencies": {
@ -37,7 +37,7 @@
"@storybook/react-vite": "^7.6.14", "@storybook/react-vite": "^7.6.14",
"@storybook/test": "^7.6.14", "@storybook/test": "^7.6.14",
"@tanstack/react-query": "^5.59.20", "@tanstack/react-query": "^5.59.20",
"@types/node": "^18.11.18", "@types/node": "^18.14.5",
"@types/react": "^18.0.27", "@types/react": "^18.0.27",
"@types/react-dom": "^18.0.10", "@types/react-dom": "^18.0.10",
"@types/ws": "^8.5.5", "@types/ws": "^8.5.5",

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save