From 72ebc46887481ce1887da22933c75cff9251fbaf Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Mon, 9 Dec 2024 14:44:17 -0500 Subject: [PATCH 01/34] feat: sets up monorepo --- .eslintignore | 7 +- .eslintrc.js | 3 +- .prettierignore | 8 +- package.json | 113 +++--------------- packages/sdk/.env-sample | 20 ++++ packages/sdk/.eslintrc.js | 6 + packages/sdk/.prettierrc.js | 1 + packages/sdk/package.json | 102 ++++++++++++++++ {scripts => packages/sdk/scripts}/builder | 0 .../sdk/scripts}/cancelRetryable.ts | 0 .../sdk/scripts}/checkRetryableStatus.ts | 0 .../sdk/scripts}/cleanCompileContracts.ts | 0 .../sdk/scripts}/deployStandard.ts | 0 {scripts => packages/sdk/scripts}/genAbi.js | 0 .../sdk/scripts}/genNetwork.ts | 0 .../sdk/scripts}/getCLargs.ts | 0 .../sdk/scripts}/instantiate_bridge.ts | 0 {scripts => packages/sdk/scripts}/lib.ts | 0 .../sdk/scripts}/postProcessDocs.js | 0 .../sdk/scripts}/redeemRetryable.ts | 0 {scripts => packages/sdk/scripts}/scrap.ts | 0 .../sdk/scripts}/sendL2SignedMsg.ts | 0 .../sdk/scripts}/setArbCustomGateways.ts | 0 .../sdk/scripts}/setStandardGateways.ts | 0 .../sdk/scripts}/testSetup.ts | 0 .../sdk/scripts}/upgrade_weth.ts | 0 {scripts => packages/sdk/scripts}/util.ts | 0 {src => packages/sdk/src}/index.ts | 0 .../src}/lib/abi-bold/BoldRollupUserLogic.ts | 0 .../factories/BoldRollupUserLogic__factory.ts | 0 .../sdk/src}/lib/assetBridger/assetBridger.ts | 0 .../sdk/src}/lib/assetBridger/erc20Bridger.ts | 0 .../sdk/src}/lib/assetBridger/ethBridger.ts | 0 .../sdk/src}/lib/assetBridger/l1l3Bridger.ts | 0 .../sdk/src}/lib/dataEntities/Outbox.json | 0 .../sdk/src}/lib/dataEntities/address.ts | 0 .../sdk/src}/lib/dataEntities/constants.ts | 0 .../sdk/src}/lib/dataEntities/errors.ts | 0 .../sdk/src}/lib/dataEntities/event.ts | 0 .../sdk/src}/lib/dataEntities/message.ts | 0 .../sdk/src}/lib/dataEntities/networks.ts | 0 .../src}/lib/dataEntities/retryableData.ts | 0 .../sdk/src}/lib/dataEntities/rpc.ts | 0 .../src}/lib/dataEntities/signerOrProvider.ts | 0 .../lib/dataEntities/transactionRequest.ts | 0 {src => packages/sdk/src}/lib/inbox/inbox.ts | 0 .../src}/lib/message/ChildToParentMessage.ts | 0 .../message/ChildToParentMessageClassic.ts | 0 .../lib/message/ChildToParentMessageNitro.ts | 0 .../sdk/src}/lib/message/ChildTransaction.ts | 0 .../src}/lib/message/ParentToChildMessage.ts | 0 .../message/ParentToChildMessageCreator.ts | 0 .../ParentToChildMessageGasEstimator.ts | 0 .../sdk/src}/lib/message/ParentTransaction.ts | 0 .../sdk/src}/lib/message/messageDataParser.ts | 0 .../sdk/src}/lib/utils/arbProvider.ts | 0 .../src}/lib/utils/byte_serialize_params.ts | 0 .../sdk/src}/lib/utils/calldata.ts | 0 .../sdk/src}/lib/utils/eventFetcher.ts | 0 {src => packages/sdk/src}/lib/utils/lib.ts | 0 .../sdk/src}/lib/utils/multicall.ts | 0 {src => packages/sdk/src}/lib/utils/types.ts | 0 .../sdk/tests}/fork/inbox.test.ts | 0 .../childTransactionReceipt.test.ts | 0 .../customFeeTokenEthBridger.test.ts | 0 .../customFeeTokenTestHelpers.ts | 0 .../custom-fee-token/mochaExtensions.ts | 0 .../tests}/integration/customerc20.test.ts | 0 .../sdk/tests}/integration/eth.test.ts | 0 ...bitrumNetworkInformationFromRollup.test.ts | 0 .../sdk/tests}/integration/helper/greeter.ts | 0 .../tests}/integration/l1l3Bridger.test.ts | 0 .../parentToChildMessageCreator.test.ts | 0 .../parentToChildMessageGasEstimator.test.ts | 0 .../tests}/integration/retryableData.test.ts | 0 .../sdk/tests}/integration/sanity.test.ts | 0 .../tests}/integration/sendChildmsg.test.ts | 0 .../tests}/integration/standarderc20.test.ts | 0 .../sdk/tests}/integration/testHelpers.ts | 0 .../sdk/tests}/integration/weth.test.ts | 0 .../sdk/tests}/unit/addressAlias.test.ts | 0 .../sdk/tests}/unit/calldata.test.ts | 0 .../tests}/unit/childBlocksForL1Block.test.ts | 0 .../unit/childToParentMessageEvents.test.ts | 0 .../sdk/tests}/unit/messageDataParser.test.ts | 0 .../sdk/tests}/unit/multicall.test.ts | 0 .../sdk/tests}/unit/nativeToken.test.ts | 0 .../sdk/tests}/unit/network.test.ts | 0 .../unit/parentToChildMessageEvents.test.ts | 0 packages/sdk/tsconfig.json | 9 ++ packages/sdk/typedoc.json | 7 ++ packages/sdk/typedoc_md.js | 25 ++++ tsconfig.json | 5 +- typedoc.json | 10 +- yarn.lock | 42 +++++-- 95 files changed, 229 insertions(+), 129 deletions(-) create mode 100644 packages/sdk/.env-sample create mode 100644 packages/sdk/.eslintrc.js create mode 100644 packages/sdk/.prettierrc.js create mode 100644 packages/sdk/package.json rename {scripts => packages/sdk/scripts}/builder (100%) rename {scripts => packages/sdk/scripts}/cancelRetryable.ts (100%) rename {scripts => packages/sdk/scripts}/checkRetryableStatus.ts (100%) rename {scripts => packages/sdk/scripts}/cleanCompileContracts.ts (100%) rename {scripts => packages/sdk/scripts}/deployStandard.ts (100%) rename {scripts => packages/sdk/scripts}/genAbi.js (100%) rename {scripts => packages/sdk/scripts}/genNetwork.ts (100%) rename {scripts => packages/sdk/scripts}/getCLargs.ts (100%) rename {scripts => packages/sdk/scripts}/instantiate_bridge.ts (100%) rename {scripts => packages/sdk/scripts}/lib.ts (100%) rename {scripts => packages/sdk/scripts}/postProcessDocs.js (100%) rename {scripts => packages/sdk/scripts}/redeemRetryable.ts (100%) rename {scripts => packages/sdk/scripts}/scrap.ts (100%) rename {scripts => packages/sdk/scripts}/sendL2SignedMsg.ts (100%) rename {scripts => packages/sdk/scripts}/setArbCustomGateways.ts (100%) rename {scripts => packages/sdk/scripts}/setStandardGateways.ts (100%) rename {scripts => packages/sdk/scripts}/testSetup.ts (100%) rename {scripts => packages/sdk/scripts}/upgrade_weth.ts (100%) rename {scripts => packages/sdk/scripts}/util.ts (100%) rename {src => packages/sdk/src}/index.ts (100%) rename {src => packages/sdk/src}/lib/abi-bold/BoldRollupUserLogic.ts (100%) rename {src => packages/sdk/src}/lib/abi-bold/factories/BoldRollupUserLogic__factory.ts (100%) rename {src => packages/sdk/src}/lib/assetBridger/assetBridger.ts (100%) rename {src => packages/sdk/src}/lib/assetBridger/erc20Bridger.ts (100%) rename {src => packages/sdk/src}/lib/assetBridger/ethBridger.ts (100%) rename {src => packages/sdk/src}/lib/assetBridger/l1l3Bridger.ts (100%) rename {src => packages/sdk/src}/lib/dataEntities/Outbox.json (100%) rename {src => packages/sdk/src}/lib/dataEntities/address.ts (100%) rename {src => packages/sdk/src}/lib/dataEntities/constants.ts (100%) rename {src => packages/sdk/src}/lib/dataEntities/errors.ts (100%) rename {src => packages/sdk/src}/lib/dataEntities/event.ts (100%) rename {src => packages/sdk/src}/lib/dataEntities/message.ts (100%) rename {src => packages/sdk/src}/lib/dataEntities/networks.ts (100%) rename {src => packages/sdk/src}/lib/dataEntities/retryableData.ts (100%) rename {src => packages/sdk/src}/lib/dataEntities/rpc.ts (100%) rename {src => packages/sdk/src}/lib/dataEntities/signerOrProvider.ts (100%) rename {src => packages/sdk/src}/lib/dataEntities/transactionRequest.ts (100%) rename {src => packages/sdk/src}/lib/inbox/inbox.ts (100%) rename {src => packages/sdk/src}/lib/message/ChildToParentMessage.ts (100%) rename {src => packages/sdk/src}/lib/message/ChildToParentMessageClassic.ts (100%) rename {src => packages/sdk/src}/lib/message/ChildToParentMessageNitro.ts (100%) rename {src => packages/sdk/src}/lib/message/ChildTransaction.ts (100%) rename {src => packages/sdk/src}/lib/message/ParentToChildMessage.ts (100%) rename {src => packages/sdk/src}/lib/message/ParentToChildMessageCreator.ts (100%) rename {src => packages/sdk/src}/lib/message/ParentToChildMessageGasEstimator.ts (100%) rename {src => packages/sdk/src}/lib/message/ParentTransaction.ts (100%) rename {src => packages/sdk/src}/lib/message/messageDataParser.ts (100%) rename {src => packages/sdk/src}/lib/utils/arbProvider.ts (100%) rename {src => packages/sdk/src}/lib/utils/byte_serialize_params.ts (100%) rename {src => packages/sdk/src}/lib/utils/calldata.ts (100%) rename {src => packages/sdk/src}/lib/utils/eventFetcher.ts (100%) rename {src => packages/sdk/src}/lib/utils/lib.ts (100%) rename {src => packages/sdk/src}/lib/utils/multicall.ts (100%) rename {src => packages/sdk/src}/lib/utils/types.ts (100%) rename {tests => packages/sdk/tests}/fork/inbox.test.ts (100%) rename {tests => packages/sdk/tests}/integration/childTransactionReceipt.test.ts (100%) rename {tests => packages/sdk/tests}/integration/custom-fee-token/customFeeTokenEthBridger.test.ts (100%) rename {tests => packages/sdk/tests}/integration/custom-fee-token/customFeeTokenTestHelpers.ts (100%) rename {tests => packages/sdk/tests}/integration/custom-fee-token/mochaExtensions.ts (100%) rename {tests => packages/sdk/tests}/integration/customerc20.test.ts (100%) rename {tests => packages/sdk/tests}/integration/eth.test.ts (100%) rename {tests => packages/sdk/tests}/integration/getArbitrumNetworkInformationFromRollup.test.ts (100%) rename {tests => packages/sdk/tests}/integration/helper/greeter.ts (100%) rename {tests => packages/sdk/tests}/integration/l1l3Bridger.test.ts (100%) rename {tests => packages/sdk/tests}/integration/parentToChildMessageCreator.test.ts (100%) rename {tests => packages/sdk/tests}/integration/parentToChildMessageGasEstimator.test.ts (100%) rename {tests => packages/sdk/tests}/integration/retryableData.test.ts (100%) rename {tests => packages/sdk/tests}/integration/sanity.test.ts (100%) rename {tests => packages/sdk/tests}/integration/sendChildmsg.test.ts (100%) rename {tests => packages/sdk/tests}/integration/standarderc20.test.ts (100%) rename {tests => packages/sdk/tests}/integration/testHelpers.ts (100%) rename {tests => packages/sdk/tests}/integration/weth.test.ts (100%) rename {tests => packages/sdk/tests}/unit/addressAlias.test.ts (100%) rename {tests => packages/sdk/tests}/unit/calldata.test.ts (100%) rename {tests => packages/sdk/tests}/unit/childBlocksForL1Block.test.ts (100%) rename {tests => packages/sdk/tests}/unit/childToParentMessageEvents.test.ts (100%) rename {tests => packages/sdk/tests}/unit/messageDataParser.test.ts (100%) rename {tests => packages/sdk/tests}/unit/multicall.test.ts (100%) rename {tests => packages/sdk/tests}/unit/nativeToken.test.ts (100%) rename {tests => packages/sdk/tests}/unit/network.test.ts (100%) rename {tests => packages/sdk/tests}/unit/parentToChildMessageEvents.test.ts (100%) create mode 100644 packages/sdk/tsconfig.json create mode 100644 packages/sdk/typedoc.json create mode 100644 packages/sdk/typedoc_md.js diff --git a/.eslintignore b/.eslintignore index 99ead71778..5fca775c9a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,6 @@ -dist/** -node_modules/** -coverage/** +node_modules +dist +coverage src/lib/abi +.nyc_output docs/** diff --git a/.eslintrc.js b/.eslintrc.js index 23d5ab1a2a..598cb933b1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,4 +1,5 @@ module.exports = { + root: true, env: { commonjs: true, es6: true, @@ -50,7 +51,7 @@ module.exports = { }, }, { - files: ['src/**/*.ts', 'src/**/*.tsx'], + files: ['**/src/**/*.ts', '**/src/**/*.tsx'], parser: '@typescript-eslint/parser', parserOptions: { project: 'tsconfig.json', diff --git a/.prettierignore b/.prettierignore index ee20e44d90..de7a9759e3 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,5 +1,5 @@ -build/** -cache/** -dist/** -src/lib/abi/** +node_modules +dist +coverage +src/lib/abi .nyc_output diff --git a/package.json b/package.json index fad6ee2bb0..cf3f1f43d1 100644 --- a/package.json +++ b/package.json @@ -1,102 +1,23 @@ { - "name": "@arbitrum/sdk", - "version": "4.0.2", - "description": "Typescript library client-side interactions with Arbitrum", - "author": "Offchain Labs, Inc.", - "license": "Apache-2.0", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "repository": { - "type": "git", - "url": "git+https://github.com/offchainlabs/arbitrum-sdk.git" + "name": "@arbitrum/monorepo", + "version": "0.0.0", + "private": true, + "workspaces": { + "packages": [ + "packages/*" + ], + "nohoist": [ + "**/typechain/**", + "**/@typechain/**" + ] }, - "engines": { - "node": ">=v11", - "npm": "please-use-yarn", - "yarn": ">= 1.0.0" - }, - "bugs": { - "url": "https://github.com/offchainlabs/arbitrum-sdk/issues" + "resolutions": { + "@ethersproject/*": "^5.1.0" }, - "homepage": "https://offchainlabs.com", "scripts": { - "audit:ci": "audit-ci --config ./audit-ci.jsonc", - "prepare": "yarn run gen:abi", - "gen:abi": "node ./scripts/genAbi.js", - "gen:network": "ts-node ./scripts/genNetwork.ts", - "prepublishOnly": "yarn build && yarn format", - "preversion": "yarn lint", - "prebuild": "yarn gen:abi", - "build": "./scripts/builder", - "watch": "tsc --watch", - "test": "mocha", - "test:coverage": "nyc mocha", - "test:fork": "SHOULD_FORK=1 hardhat test tests/fork/*.test.ts", - "test:integration": "mocha tests/integration/ --timeout 30000000 --bail", - "test:unit": "mocha --parallel tests/unit/ --timeout 30000 --bail", - "test:ci": "nyc --reporter=lcovonly mocha --reporter xunit", - "lint": "eslint .", - "format": "prettier './**/*.{js,json,md,ts,yml}' '!./src/lib/abi' --write && yarn run lint --fix", - "clean:compile": "ts-node scripts/cleanCompileContracts.ts", - "checkRetryable": "ts-node scripts/checkRetryableStatus.ts", - "redeemRetryable": "ts-node scripts/redeemRetryable.ts", - "setStandard": "ts-node scripts/setStandardGateways.ts", - "setCustom": "ts-node scripts/setArbCustomGateways.ts", - "cancelRetryable": "ts-node scripts/cancelRetryable.ts", - "bridgeStandardToken": "ts-node scripts/deployStandard.ts" - }, - "dependencies": { - "@ethersproject/address": "^5.0.8", - "@ethersproject/bignumber": "^5.1.1", - "@ethersproject/bytes": "^5.0.8", - "async-mutex": "^0.4.0", - "ethers": "^5.1.0" - }, - "devDependencies": { - "@arbitrum/nitro-contracts": "^1.1.1", - "@arbitrum/token-bridge-contracts": "^1.2.1", - "@nomiclabs/hardhat-ethers": "^2.0.4", - "@offchainlabs/l1-l3-teleport-contracts": "1.0.1", - "@typechain/ethers-v5": "9.0.0", - "@types/chai": "^4.2.11", - "@types/mocha": "^9.0.0", - "@types/prompts": "^2.0.14", - "@types/yargs": "^17.0.9", - "@typescript-eslint/eslint-plugin": "^5.14.0", - "@typescript-eslint/eslint-plugin-tslint": "^5.27.1", - "@typescript-eslint/parser": "^5.14.0", - "audit-ci": "^6.3.0", - "axios": "^1.7.4", - "chai": "^4.2.0", - "chalk": "^4.1.0", - "dotenv": "^10.0.0", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-mocha": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "hardhat": "^2.18.3", - "mocha": "^9.2.1", - "nyc": "^15.1.0", - "prettier": "^2.3.2", - "prettier-plugin-solidity": "^1.0.0-beta.17", - "prompts": "^2.4.2", - "ts-mockito": "^2.6.1", - "ts-node": "^10.2.1", - "tslint": "^6.1.3", - "typechain": "7.0.0", - "typescript": "^4.9.5", - "yargs": "^17.3.1" - }, - "files": [ - "dist/**/*" - ], - "resolutions": { - "lodash.pick": "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz", - "**/@ethersproject/providers/ws": "7.5.10", - "**/hardhat/ws": "7.5.10", - "**/hardhat/@sentry/node/cookie": "0.7.0", - "**/micromatch": "4.0.8", - "**/elliptic": "6.6.0", - "**/secp256k1": "4.0.4" + "build": "yarn workspace @arbitrum/sdk build", + "test": "yarn workspace @arbitrum/sdk test", + "lint": "yarn workspace @arbitrum/sdk lint", + "format": "yarn workspace @arbitrum/sdk format" } } diff --git a/packages/sdk/.env-sample b/packages/sdk/.env-sample new file mode 100644 index 0000000000..4d42503b58 --- /dev/null +++ b/packages/sdk/.env-sample @@ -0,0 +1,20 @@ +ARB_URL="http://127.0.0.1:8547" +ETH_URL="http://127.0.0.1:8545" +ORBIT_URL="http://127.0.0.1:3347" + +ARB_KEY="b6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659" +ETH_KEY="b6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659" +ORBIT_KEY="b6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659" + +INFURA_KEY="2323232323232323232" +SHOULD_FORK="0" + +MAINNET_RPC="https://mainnet.infura.io/v3/2323" +ARB_ONE_RPC="https://arb1.arbitrum.io/rpc" + +SEPOLIA_RPC="https://sepolia.infura.io/v3/2323" +SEPOLIA_ROLLUP_TESTNET_RPC="https://sepolia-rollup.arbitrum.io/rpc" + +NOVA_RPC="soontm" + +ORBIT_TEST="0" diff --git a/packages/sdk/.eslintrc.js b/packages/sdk/.eslintrc.js new file mode 100644 index 0000000000..cfa6138eb4 --- /dev/null +++ b/packages/sdk/.eslintrc.js @@ -0,0 +1,6 @@ +module.exports = { + extends: ['../../.eslintrc.js'], + parserOptions: { + project: './tsconfig.json', + }, +} diff --git a/packages/sdk/.prettierrc.js b/packages/sdk/.prettierrc.js new file mode 100644 index 0000000000..5100fc98ab --- /dev/null +++ b/packages/sdk/.prettierrc.js @@ -0,0 +1 @@ +module.exports = require('../../.prettierrc.js') diff --git a/packages/sdk/package.json b/packages/sdk/package.json new file mode 100644 index 0000000000..fad6ee2bb0 --- /dev/null +++ b/packages/sdk/package.json @@ -0,0 +1,102 @@ +{ + "name": "@arbitrum/sdk", + "version": "4.0.2", + "description": "Typescript library client-side interactions with Arbitrum", + "author": "Offchain Labs, Inc.", + "license": "Apache-2.0", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "repository": { + "type": "git", + "url": "git+https://github.com/offchainlabs/arbitrum-sdk.git" + }, + "engines": { + "node": ">=v11", + "npm": "please-use-yarn", + "yarn": ">= 1.0.0" + }, + "bugs": { + "url": "https://github.com/offchainlabs/arbitrum-sdk/issues" + }, + "homepage": "https://offchainlabs.com", + "scripts": { + "audit:ci": "audit-ci --config ./audit-ci.jsonc", + "prepare": "yarn run gen:abi", + "gen:abi": "node ./scripts/genAbi.js", + "gen:network": "ts-node ./scripts/genNetwork.ts", + "prepublishOnly": "yarn build && yarn format", + "preversion": "yarn lint", + "prebuild": "yarn gen:abi", + "build": "./scripts/builder", + "watch": "tsc --watch", + "test": "mocha", + "test:coverage": "nyc mocha", + "test:fork": "SHOULD_FORK=1 hardhat test tests/fork/*.test.ts", + "test:integration": "mocha tests/integration/ --timeout 30000000 --bail", + "test:unit": "mocha --parallel tests/unit/ --timeout 30000 --bail", + "test:ci": "nyc --reporter=lcovonly mocha --reporter xunit", + "lint": "eslint .", + "format": "prettier './**/*.{js,json,md,ts,yml}' '!./src/lib/abi' --write && yarn run lint --fix", + "clean:compile": "ts-node scripts/cleanCompileContracts.ts", + "checkRetryable": "ts-node scripts/checkRetryableStatus.ts", + "redeemRetryable": "ts-node scripts/redeemRetryable.ts", + "setStandard": "ts-node scripts/setStandardGateways.ts", + "setCustom": "ts-node scripts/setArbCustomGateways.ts", + "cancelRetryable": "ts-node scripts/cancelRetryable.ts", + "bridgeStandardToken": "ts-node scripts/deployStandard.ts" + }, + "dependencies": { + "@ethersproject/address": "^5.0.8", + "@ethersproject/bignumber": "^5.1.1", + "@ethersproject/bytes": "^5.0.8", + "async-mutex": "^0.4.0", + "ethers": "^5.1.0" + }, + "devDependencies": { + "@arbitrum/nitro-contracts": "^1.1.1", + "@arbitrum/token-bridge-contracts": "^1.2.1", + "@nomiclabs/hardhat-ethers": "^2.0.4", + "@offchainlabs/l1-l3-teleport-contracts": "1.0.1", + "@typechain/ethers-v5": "9.0.0", + "@types/chai": "^4.2.11", + "@types/mocha": "^9.0.0", + "@types/prompts": "^2.0.14", + "@types/yargs": "^17.0.9", + "@typescript-eslint/eslint-plugin": "^5.14.0", + "@typescript-eslint/eslint-plugin-tslint": "^5.27.1", + "@typescript-eslint/parser": "^5.14.0", + "audit-ci": "^6.3.0", + "axios": "^1.7.4", + "chai": "^4.2.0", + "chalk": "^4.1.0", + "dotenv": "^10.0.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-mocha": "^9.0.0", + "eslint-plugin-prettier": "^4.0.0", + "hardhat": "^2.18.3", + "mocha": "^9.2.1", + "nyc": "^15.1.0", + "prettier": "^2.3.2", + "prettier-plugin-solidity": "^1.0.0-beta.17", + "prompts": "^2.4.2", + "ts-mockito": "^2.6.1", + "ts-node": "^10.2.1", + "tslint": "^6.1.3", + "typechain": "7.0.0", + "typescript": "^4.9.5", + "yargs": "^17.3.1" + }, + "files": [ + "dist/**/*" + ], + "resolutions": { + "lodash.pick": "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz", + "**/@ethersproject/providers/ws": "7.5.10", + "**/hardhat/ws": "7.5.10", + "**/hardhat/@sentry/node/cookie": "0.7.0", + "**/micromatch": "4.0.8", + "**/elliptic": "6.6.0", + "**/secp256k1": "4.0.4" + } +} diff --git a/scripts/builder b/packages/sdk/scripts/builder similarity index 100% rename from scripts/builder rename to packages/sdk/scripts/builder diff --git a/scripts/cancelRetryable.ts b/packages/sdk/scripts/cancelRetryable.ts similarity index 100% rename from scripts/cancelRetryable.ts rename to packages/sdk/scripts/cancelRetryable.ts diff --git a/scripts/checkRetryableStatus.ts b/packages/sdk/scripts/checkRetryableStatus.ts similarity index 100% rename from scripts/checkRetryableStatus.ts rename to packages/sdk/scripts/checkRetryableStatus.ts diff --git a/scripts/cleanCompileContracts.ts b/packages/sdk/scripts/cleanCompileContracts.ts similarity index 100% rename from scripts/cleanCompileContracts.ts rename to packages/sdk/scripts/cleanCompileContracts.ts diff --git a/scripts/deployStandard.ts b/packages/sdk/scripts/deployStandard.ts similarity index 100% rename from scripts/deployStandard.ts rename to packages/sdk/scripts/deployStandard.ts diff --git a/scripts/genAbi.js b/packages/sdk/scripts/genAbi.js similarity index 100% rename from scripts/genAbi.js rename to packages/sdk/scripts/genAbi.js diff --git a/scripts/genNetwork.ts b/packages/sdk/scripts/genNetwork.ts similarity index 100% rename from scripts/genNetwork.ts rename to packages/sdk/scripts/genNetwork.ts diff --git a/scripts/getCLargs.ts b/packages/sdk/scripts/getCLargs.ts similarity index 100% rename from scripts/getCLargs.ts rename to packages/sdk/scripts/getCLargs.ts diff --git a/scripts/instantiate_bridge.ts b/packages/sdk/scripts/instantiate_bridge.ts similarity index 100% rename from scripts/instantiate_bridge.ts rename to packages/sdk/scripts/instantiate_bridge.ts diff --git a/scripts/lib.ts b/packages/sdk/scripts/lib.ts similarity index 100% rename from scripts/lib.ts rename to packages/sdk/scripts/lib.ts diff --git a/scripts/postProcessDocs.js b/packages/sdk/scripts/postProcessDocs.js similarity index 100% rename from scripts/postProcessDocs.js rename to packages/sdk/scripts/postProcessDocs.js diff --git a/scripts/redeemRetryable.ts b/packages/sdk/scripts/redeemRetryable.ts similarity index 100% rename from scripts/redeemRetryable.ts rename to packages/sdk/scripts/redeemRetryable.ts diff --git a/scripts/scrap.ts b/packages/sdk/scripts/scrap.ts similarity index 100% rename from scripts/scrap.ts rename to packages/sdk/scripts/scrap.ts diff --git a/scripts/sendL2SignedMsg.ts b/packages/sdk/scripts/sendL2SignedMsg.ts similarity index 100% rename from scripts/sendL2SignedMsg.ts rename to packages/sdk/scripts/sendL2SignedMsg.ts diff --git a/scripts/setArbCustomGateways.ts b/packages/sdk/scripts/setArbCustomGateways.ts similarity index 100% rename from scripts/setArbCustomGateways.ts rename to packages/sdk/scripts/setArbCustomGateways.ts diff --git a/scripts/setStandardGateways.ts b/packages/sdk/scripts/setStandardGateways.ts similarity index 100% rename from scripts/setStandardGateways.ts rename to packages/sdk/scripts/setStandardGateways.ts diff --git a/scripts/testSetup.ts b/packages/sdk/scripts/testSetup.ts similarity index 100% rename from scripts/testSetup.ts rename to packages/sdk/scripts/testSetup.ts diff --git a/scripts/upgrade_weth.ts b/packages/sdk/scripts/upgrade_weth.ts similarity index 100% rename from scripts/upgrade_weth.ts rename to packages/sdk/scripts/upgrade_weth.ts diff --git a/scripts/util.ts b/packages/sdk/scripts/util.ts similarity index 100% rename from scripts/util.ts rename to packages/sdk/scripts/util.ts diff --git a/src/index.ts b/packages/sdk/src/index.ts similarity index 100% rename from src/index.ts rename to packages/sdk/src/index.ts diff --git a/src/lib/abi-bold/BoldRollupUserLogic.ts b/packages/sdk/src/lib/abi-bold/BoldRollupUserLogic.ts similarity index 100% rename from src/lib/abi-bold/BoldRollupUserLogic.ts rename to packages/sdk/src/lib/abi-bold/BoldRollupUserLogic.ts diff --git a/src/lib/abi-bold/factories/BoldRollupUserLogic__factory.ts b/packages/sdk/src/lib/abi-bold/factories/BoldRollupUserLogic__factory.ts similarity index 100% rename from src/lib/abi-bold/factories/BoldRollupUserLogic__factory.ts rename to packages/sdk/src/lib/abi-bold/factories/BoldRollupUserLogic__factory.ts diff --git a/src/lib/assetBridger/assetBridger.ts b/packages/sdk/src/lib/assetBridger/assetBridger.ts similarity index 100% rename from src/lib/assetBridger/assetBridger.ts rename to packages/sdk/src/lib/assetBridger/assetBridger.ts diff --git a/src/lib/assetBridger/erc20Bridger.ts b/packages/sdk/src/lib/assetBridger/erc20Bridger.ts similarity index 100% rename from src/lib/assetBridger/erc20Bridger.ts rename to packages/sdk/src/lib/assetBridger/erc20Bridger.ts diff --git a/src/lib/assetBridger/ethBridger.ts b/packages/sdk/src/lib/assetBridger/ethBridger.ts similarity index 100% rename from src/lib/assetBridger/ethBridger.ts rename to packages/sdk/src/lib/assetBridger/ethBridger.ts diff --git a/src/lib/assetBridger/l1l3Bridger.ts b/packages/sdk/src/lib/assetBridger/l1l3Bridger.ts similarity index 100% rename from src/lib/assetBridger/l1l3Bridger.ts rename to packages/sdk/src/lib/assetBridger/l1l3Bridger.ts diff --git a/src/lib/dataEntities/Outbox.json b/packages/sdk/src/lib/dataEntities/Outbox.json similarity index 100% rename from src/lib/dataEntities/Outbox.json rename to packages/sdk/src/lib/dataEntities/Outbox.json diff --git a/src/lib/dataEntities/address.ts b/packages/sdk/src/lib/dataEntities/address.ts similarity index 100% rename from src/lib/dataEntities/address.ts rename to packages/sdk/src/lib/dataEntities/address.ts diff --git a/src/lib/dataEntities/constants.ts b/packages/sdk/src/lib/dataEntities/constants.ts similarity index 100% rename from src/lib/dataEntities/constants.ts rename to packages/sdk/src/lib/dataEntities/constants.ts diff --git a/src/lib/dataEntities/errors.ts b/packages/sdk/src/lib/dataEntities/errors.ts similarity index 100% rename from src/lib/dataEntities/errors.ts rename to packages/sdk/src/lib/dataEntities/errors.ts diff --git a/src/lib/dataEntities/event.ts b/packages/sdk/src/lib/dataEntities/event.ts similarity index 100% rename from src/lib/dataEntities/event.ts rename to packages/sdk/src/lib/dataEntities/event.ts diff --git a/src/lib/dataEntities/message.ts b/packages/sdk/src/lib/dataEntities/message.ts similarity index 100% rename from src/lib/dataEntities/message.ts rename to packages/sdk/src/lib/dataEntities/message.ts diff --git a/src/lib/dataEntities/networks.ts b/packages/sdk/src/lib/dataEntities/networks.ts similarity index 100% rename from src/lib/dataEntities/networks.ts rename to packages/sdk/src/lib/dataEntities/networks.ts diff --git a/src/lib/dataEntities/retryableData.ts b/packages/sdk/src/lib/dataEntities/retryableData.ts similarity index 100% rename from src/lib/dataEntities/retryableData.ts rename to packages/sdk/src/lib/dataEntities/retryableData.ts diff --git a/src/lib/dataEntities/rpc.ts b/packages/sdk/src/lib/dataEntities/rpc.ts similarity index 100% rename from src/lib/dataEntities/rpc.ts rename to packages/sdk/src/lib/dataEntities/rpc.ts diff --git a/src/lib/dataEntities/signerOrProvider.ts b/packages/sdk/src/lib/dataEntities/signerOrProvider.ts similarity index 100% rename from src/lib/dataEntities/signerOrProvider.ts rename to packages/sdk/src/lib/dataEntities/signerOrProvider.ts diff --git a/src/lib/dataEntities/transactionRequest.ts b/packages/sdk/src/lib/dataEntities/transactionRequest.ts similarity index 100% rename from src/lib/dataEntities/transactionRequest.ts rename to packages/sdk/src/lib/dataEntities/transactionRequest.ts diff --git a/src/lib/inbox/inbox.ts b/packages/sdk/src/lib/inbox/inbox.ts similarity index 100% rename from src/lib/inbox/inbox.ts rename to packages/sdk/src/lib/inbox/inbox.ts diff --git a/src/lib/message/ChildToParentMessage.ts b/packages/sdk/src/lib/message/ChildToParentMessage.ts similarity index 100% rename from src/lib/message/ChildToParentMessage.ts rename to packages/sdk/src/lib/message/ChildToParentMessage.ts diff --git a/src/lib/message/ChildToParentMessageClassic.ts b/packages/sdk/src/lib/message/ChildToParentMessageClassic.ts similarity index 100% rename from src/lib/message/ChildToParentMessageClassic.ts rename to packages/sdk/src/lib/message/ChildToParentMessageClassic.ts diff --git a/src/lib/message/ChildToParentMessageNitro.ts b/packages/sdk/src/lib/message/ChildToParentMessageNitro.ts similarity index 100% rename from src/lib/message/ChildToParentMessageNitro.ts rename to packages/sdk/src/lib/message/ChildToParentMessageNitro.ts diff --git a/src/lib/message/ChildTransaction.ts b/packages/sdk/src/lib/message/ChildTransaction.ts similarity index 100% rename from src/lib/message/ChildTransaction.ts rename to packages/sdk/src/lib/message/ChildTransaction.ts diff --git a/src/lib/message/ParentToChildMessage.ts b/packages/sdk/src/lib/message/ParentToChildMessage.ts similarity index 100% rename from src/lib/message/ParentToChildMessage.ts rename to packages/sdk/src/lib/message/ParentToChildMessage.ts diff --git a/src/lib/message/ParentToChildMessageCreator.ts b/packages/sdk/src/lib/message/ParentToChildMessageCreator.ts similarity index 100% rename from src/lib/message/ParentToChildMessageCreator.ts rename to packages/sdk/src/lib/message/ParentToChildMessageCreator.ts diff --git a/src/lib/message/ParentToChildMessageGasEstimator.ts b/packages/sdk/src/lib/message/ParentToChildMessageGasEstimator.ts similarity index 100% rename from src/lib/message/ParentToChildMessageGasEstimator.ts rename to packages/sdk/src/lib/message/ParentToChildMessageGasEstimator.ts diff --git a/src/lib/message/ParentTransaction.ts b/packages/sdk/src/lib/message/ParentTransaction.ts similarity index 100% rename from src/lib/message/ParentTransaction.ts rename to packages/sdk/src/lib/message/ParentTransaction.ts diff --git a/src/lib/message/messageDataParser.ts b/packages/sdk/src/lib/message/messageDataParser.ts similarity index 100% rename from src/lib/message/messageDataParser.ts rename to packages/sdk/src/lib/message/messageDataParser.ts diff --git a/src/lib/utils/arbProvider.ts b/packages/sdk/src/lib/utils/arbProvider.ts similarity index 100% rename from src/lib/utils/arbProvider.ts rename to packages/sdk/src/lib/utils/arbProvider.ts diff --git a/src/lib/utils/byte_serialize_params.ts b/packages/sdk/src/lib/utils/byte_serialize_params.ts similarity index 100% rename from src/lib/utils/byte_serialize_params.ts rename to packages/sdk/src/lib/utils/byte_serialize_params.ts diff --git a/src/lib/utils/calldata.ts b/packages/sdk/src/lib/utils/calldata.ts similarity index 100% rename from src/lib/utils/calldata.ts rename to packages/sdk/src/lib/utils/calldata.ts diff --git a/src/lib/utils/eventFetcher.ts b/packages/sdk/src/lib/utils/eventFetcher.ts similarity index 100% rename from src/lib/utils/eventFetcher.ts rename to packages/sdk/src/lib/utils/eventFetcher.ts diff --git a/src/lib/utils/lib.ts b/packages/sdk/src/lib/utils/lib.ts similarity index 100% rename from src/lib/utils/lib.ts rename to packages/sdk/src/lib/utils/lib.ts diff --git a/src/lib/utils/multicall.ts b/packages/sdk/src/lib/utils/multicall.ts similarity index 100% rename from src/lib/utils/multicall.ts rename to packages/sdk/src/lib/utils/multicall.ts diff --git a/src/lib/utils/types.ts b/packages/sdk/src/lib/utils/types.ts similarity index 100% rename from src/lib/utils/types.ts rename to packages/sdk/src/lib/utils/types.ts diff --git a/tests/fork/inbox.test.ts b/packages/sdk/tests/fork/inbox.test.ts similarity index 100% rename from tests/fork/inbox.test.ts rename to packages/sdk/tests/fork/inbox.test.ts diff --git a/tests/integration/childTransactionReceipt.test.ts b/packages/sdk/tests/integration/childTransactionReceipt.test.ts similarity index 100% rename from tests/integration/childTransactionReceipt.test.ts rename to packages/sdk/tests/integration/childTransactionReceipt.test.ts diff --git a/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts b/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts similarity index 100% rename from tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts rename to packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts diff --git a/tests/integration/custom-fee-token/customFeeTokenTestHelpers.ts b/packages/sdk/tests/integration/custom-fee-token/customFeeTokenTestHelpers.ts similarity index 100% rename from tests/integration/custom-fee-token/customFeeTokenTestHelpers.ts rename to packages/sdk/tests/integration/custom-fee-token/customFeeTokenTestHelpers.ts diff --git a/tests/integration/custom-fee-token/mochaExtensions.ts b/packages/sdk/tests/integration/custom-fee-token/mochaExtensions.ts similarity index 100% rename from tests/integration/custom-fee-token/mochaExtensions.ts rename to packages/sdk/tests/integration/custom-fee-token/mochaExtensions.ts diff --git a/tests/integration/customerc20.test.ts b/packages/sdk/tests/integration/customerc20.test.ts similarity index 100% rename from tests/integration/customerc20.test.ts rename to packages/sdk/tests/integration/customerc20.test.ts diff --git a/tests/integration/eth.test.ts b/packages/sdk/tests/integration/eth.test.ts similarity index 100% rename from tests/integration/eth.test.ts rename to packages/sdk/tests/integration/eth.test.ts diff --git a/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts b/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts similarity index 100% rename from tests/integration/getArbitrumNetworkInformationFromRollup.test.ts rename to packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts diff --git a/tests/integration/helper/greeter.ts b/packages/sdk/tests/integration/helper/greeter.ts similarity index 100% rename from tests/integration/helper/greeter.ts rename to packages/sdk/tests/integration/helper/greeter.ts diff --git a/tests/integration/l1l3Bridger.test.ts b/packages/sdk/tests/integration/l1l3Bridger.test.ts similarity index 100% rename from tests/integration/l1l3Bridger.test.ts rename to packages/sdk/tests/integration/l1l3Bridger.test.ts diff --git a/tests/integration/parentToChildMessageCreator.test.ts b/packages/sdk/tests/integration/parentToChildMessageCreator.test.ts similarity index 100% rename from tests/integration/parentToChildMessageCreator.test.ts rename to packages/sdk/tests/integration/parentToChildMessageCreator.test.ts diff --git a/tests/integration/parentToChildMessageGasEstimator.test.ts b/packages/sdk/tests/integration/parentToChildMessageGasEstimator.test.ts similarity index 100% rename from tests/integration/parentToChildMessageGasEstimator.test.ts rename to packages/sdk/tests/integration/parentToChildMessageGasEstimator.test.ts diff --git a/tests/integration/retryableData.test.ts b/packages/sdk/tests/integration/retryableData.test.ts similarity index 100% rename from tests/integration/retryableData.test.ts rename to packages/sdk/tests/integration/retryableData.test.ts diff --git a/tests/integration/sanity.test.ts b/packages/sdk/tests/integration/sanity.test.ts similarity index 100% rename from tests/integration/sanity.test.ts rename to packages/sdk/tests/integration/sanity.test.ts diff --git a/tests/integration/sendChildmsg.test.ts b/packages/sdk/tests/integration/sendChildmsg.test.ts similarity index 100% rename from tests/integration/sendChildmsg.test.ts rename to packages/sdk/tests/integration/sendChildmsg.test.ts diff --git a/tests/integration/standarderc20.test.ts b/packages/sdk/tests/integration/standarderc20.test.ts similarity index 100% rename from tests/integration/standarderc20.test.ts rename to packages/sdk/tests/integration/standarderc20.test.ts diff --git a/tests/integration/testHelpers.ts b/packages/sdk/tests/integration/testHelpers.ts similarity index 100% rename from tests/integration/testHelpers.ts rename to packages/sdk/tests/integration/testHelpers.ts diff --git a/tests/integration/weth.test.ts b/packages/sdk/tests/integration/weth.test.ts similarity index 100% rename from tests/integration/weth.test.ts rename to packages/sdk/tests/integration/weth.test.ts diff --git a/tests/unit/addressAlias.test.ts b/packages/sdk/tests/unit/addressAlias.test.ts similarity index 100% rename from tests/unit/addressAlias.test.ts rename to packages/sdk/tests/unit/addressAlias.test.ts diff --git a/tests/unit/calldata.test.ts b/packages/sdk/tests/unit/calldata.test.ts similarity index 100% rename from tests/unit/calldata.test.ts rename to packages/sdk/tests/unit/calldata.test.ts diff --git a/tests/unit/childBlocksForL1Block.test.ts b/packages/sdk/tests/unit/childBlocksForL1Block.test.ts similarity index 100% rename from tests/unit/childBlocksForL1Block.test.ts rename to packages/sdk/tests/unit/childBlocksForL1Block.test.ts diff --git a/tests/unit/childToParentMessageEvents.test.ts b/packages/sdk/tests/unit/childToParentMessageEvents.test.ts similarity index 100% rename from tests/unit/childToParentMessageEvents.test.ts rename to packages/sdk/tests/unit/childToParentMessageEvents.test.ts diff --git a/tests/unit/messageDataParser.test.ts b/packages/sdk/tests/unit/messageDataParser.test.ts similarity index 100% rename from tests/unit/messageDataParser.test.ts rename to packages/sdk/tests/unit/messageDataParser.test.ts diff --git a/tests/unit/multicall.test.ts b/packages/sdk/tests/unit/multicall.test.ts similarity index 100% rename from tests/unit/multicall.test.ts rename to packages/sdk/tests/unit/multicall.test.ts diff --git a/tests/unit/nativeToken.test.ts b/packages/sdk/tests/unit/nativeToken.test.ts similarity index 100% rename from tests/unit/nativeToken.test.ts rename to packages/sdk/tests/unit/nativeToken.test.ts diff --git a/tests/unit/network.test.ts b/packages/sdk/tests/unit/network.test.ts similarity index 100% rename from tests/unit/network.test.ts rename to packages/sdk/tests/unit/network.test.ts diff --git a/tests/unit/parentToChildMessageEvents.test.ts b/packages/sdk/tests/unit/parentToChildMessageEvents.test.ts similarity index 100% rename from tests/unit/parentToChildMessageEvents.test.ts rename to packages/sdk/tests/unit/parentToChildMessageEvents.test.ts diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json new file mode 100644 index 0000000000..ea622e65bd --- /dev/null +++ b/packages/sdk/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist" + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.js"], + "exclude": ["node_modules", "dist", "tests", "scripts"] +} diff --git a/packages/sdk/typedoc.json b/packages/sdk/typedoc.json new file mode 100644 index 0000000000..955ddac1a5 --- /dev/null +++ b/packages/sdk/typedoc.json @@ -0,0 +1,7 @@ +{ + "extends": ["../../typedoc.json"], + "entryPoints": ["./src/lib"], + "exclude": ["./src/lib/abi"], + "customCss": "./theme/style.css", + "out": "docs" +} diff --git a/packages/sdk/typedoc_md.js b/packages/sdk/typedoc_md.js new file mode 100644 index 0000000000..e0e43069c3 --- /dev/null +++ b/packages/sdk/typedoc_md.js @@ -0,0 +1,25 @@ +// References: +// - https://typedoc.org/guides/overview/ +// - https://github.com/tgreyuk/typedoc-plugin-markdown + +/** @type {import('typedoc').TypeDocOptions} */ +module.exports = { + // Input options + entryPoints: ['./src/lib'], + entryPointStrategy: 'expand', + exclude: ['./src/lib/abi'], + excludeNotDocumented: true, + excludeInternal: true, + + // Output options + out: 'docs', + + // Plugins + plugin: ['typedoc-plugin-markdown'], + + // typedoc-plugin-markdown options + // entryDocument: 'modules.md', + hideBreadcrumbs: true, + hideInPageTOC: true, + hideMembersSymbol: true, +} diff --git a/tsconfig.json b/tsconfig.json index 3a5901b621..abb38d25c3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,8 +3,6 @@ "target": "ES2017", "module": "commonjs", "declaration": true, - "rootDir": "./src", - "outDir": "./dist", "strict": true, "allowJs": true, "noImplicitAny": true, @@ -15,6 +13,5 @@ "resolveJsonModule": true, "esModuleInterop": true, "experimentalDecorators": true - }, - "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.js"] + } } diff --git a/typedoc.json b/typedoc.json index 945c460072..fe328e797e 100644 --- a/typedoc.json +++ b/typedoc.json @@ -1,16 +1,8 @@ { - // Input options - "entryPoints": ["./src/lib"], "entryPointStrategy": "expand", - "exclude": ["./src/lib/abi"], "excludeNotDocumented": true, "excludeInternal": true, - "customCss": "./theme/style.css", - "sidebarLinks": { "Arbitrum Docs": "https://docs.arbitrum.io" - }, - - // Output options - "out": "docs" + } } diff --git a/yarn.lock b/yarn.lock index 07788bae1e..7cffa987cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2528,10 +2528,10 @@ convert-svg-to-png@^0.6.4: dependencies: convert-svg-core "^0.6.4" -cookie@0.7.0, cookie@^0.4.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.0.tgz#2148f68a77245d5c2c0005d264bc3e08cfa0655d" - integrity sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ== +cookie@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== crc-32@^1.2.0: version "1.2.2" @@ -2760,7 +2760,20 @@ electron-to-chromium@^1.4.535: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.556.tgz#97385917eb6ea3ac6a3378cf87bb39ee1db96e76" integrity sha512-6RPN0hHfzDU8D56E72YkDvnLw5Cj2NMXZGg3UkgyoHxjVhG99KZpsKgBWMmTy0Ei89xwan+rbRsVB9yzATmYzQ== -elliptic@6.5.4, elliptic@6.6.0, elliptic@^6.5.2, elliptic@^6.5.7: +elliptic@6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +elliptic@^6.5.2, elliptic@^6.5.7: version "6.6.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.0.tgz#5919ec723286c1edf28685aa89261d4761afa210" integrity sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA== @@ -4340,7 +4353,7 @@ lodash.omit@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg== -lodash.pick@^4.4.0, "lodash.pick@https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz": +lodash.pick@^4.4.0: version "4.17.21" resolved "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz#af60acc8255a4eb9a7c698a4de55b6ec6993edc2" @@ -4445,7 +4458,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@4.0.8, micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -5284,7 +5297,7 @@ scrypt-js@3.0.1, scrypt-js@^3.0.0: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== -secp256k1@4.0.4, secp256k1@^4.0.1: +secp256k1@^4.0.1: version "4.0.4" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.4.tgz#58f0bfe1830fe777d9ca1ffc7574962a8189f8ab" integrity sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw== @@ -6116,16 +6129,21 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@7.4.6, ws@7.5.10, ws@^7.4.6: - version "7.5.10" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" - integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== ws@8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== +ws@^7.4.6: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" From 7523c4a2fd89bc4a5445324283af47c3d6322db8 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:39:35 -0500 Subject: [PATCH 02/34] move some config --- .eslintignore | 7 ++- .prettierignore | 8 ++-- package.json | 28 +++++++----- packages/sdk/.env-sample | 20 --------- packages/sdk/.eslintrc.js | 89 ++++++++++++++++++++++++++++++++++++- packages/sdk/.prettierrc.js | 23 +++++++++- packages/sdk/package.json | 11 +---- packages/sdk/tsconfig.json | 5 ++- packages/sdk/typedoc.json | 11 ++++- tsconfig.json | 7 ++- typedoc.json | 10 ++++- yarn.lock | 42 +++++------------ 12 files changed, 175 insertions(+), 86 deletions(-) delete mode 100644 packages/sdk/.env-sample diff --git a/.eslintignore b/.eslintignore index 5fca775c9a..99ead71778 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,6 +1,5 @@ -node_modules -dist -coverage +dist/** +node_modules/** +coverage/** src/lib/abi -.nyc_output docs/** diff --git a/.prettierignore b/.prettierignore index de7a9759e3..ee20e44d90 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,5 +1,5 @@ -node_modules -dist -coverage -src/lib/abi +build/** +cache/** +dist/** +src/lib/abi/** .nyc_output diff --git a/package.json b/package.json index cf3f1f43d1..8a8ba4a11c 100644 --- a/package.json +++ b/package.json @@ -2,22 +2,28 @@ "name": "@arbitrum/monorepo", "version": "0.0.0", "private": true, + "scripts": { + "audit:ci": "audit-ci --config ./audit-ci.jsonc", + "build": "yarn workspace @arbitrum/sdk build", + "lint": "yarn workspace @arbitrum/sdk lint", + "format": "yarn workspace @arbitrum/sdk format", + "test:unit": "yarn workspace @arbitrum/sdk test:unit", + "test:integration": "yarn workspace @arbitrum/sdk test:integration", + "gen:abi": "yarn workspace @arbitrum/sdk gen:abi", + "gen:network": "yarn workspace @arbitrum/sdk gen:network" + }, "workspaces": { "packages": [ "packages/*" - ], - "nohoist": [ - "**/typechain/**", - "**/@typechain/**" ] }, "resolutions": { - "@ethersproject/*": "^5.1.0" - }, - "scripts": { - "build": "yarn workspace @arbitrum/sdk build", - "test": "yarn workspace @arbitrum/sdk test", - "lint": "yarn workspace @arbitrum/sdk lint", - "format": "yarn workspace @arbitrum/sdk format" + "lodash.pick": "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz", + "**/@ethersproject/providers/ws": "7.5.10", + "**/hardhat/ws": "7.5.10", + "**/hardhat/@sentry/node/cookie": "0.7.0", + "**/micromatch": "4.0.8", + "**/elliptic": "6.6.0", + "**/secp256k1": "4.0.4" } } diff --git a/packages/sdk/.env-sample b/packages/sdk/.env-sample deleted file mode 100644 index 4d42503b58..0000000000 --- a/packages/sdk/.env-sample +++ /dev/null @@ -1,20 +0,0 @@ -ARB_URL="http://127.0.0.1:8547" -ETH_URL="http://127.0.0.1:8545" -ORBIT_URL="http://127.0.0.1:3347" - -ARB_KEY="b6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659" -ETH_KEY="b6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659" -ORBIT_KEY="b6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659" - -INFURA_KEY="2323232323232323232" -SHOULD_FORK="0" - -MAINNET_RPC="https://mainnet.infura.io/v3/2323" -ARB_ONE_RPC="https://arb1.arbitrum.io/rpc" - -SEPOLIA_RPC="https://sepolia.infura.io/v3/2323" -SEPOLIA_ROLLUP_TESTNET_RPC="https://sepolia-rollup.arbitrum.io/rpc" - -NOVA_RPC="soontm" - -ORBIT_TEST="0" diff --git a/packages/sdk/.eslintrc.js b/packages/sdk/.eslintrc.js index cfa6138eb4..23d5ab1a2a 100644 --- a/packages/sdk/.eslintrc.js +++ b/packages/sdk/.eslintrc.js @@ -1,6 +1,91 @@ module.exports = { - extends: ['../../.eslintrc.js'], + env: { + commonjs: true, + es6: true, + node: true, + }, + plugins: ['prettier'], + extends: [ + 'eslint:recommended', + 'plugin:prettier/recommended', // Enables eslint-plugin-prettier and displays prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array. + ], parserOptions: { - project: './tsconfig.json', + ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features + sourceType: 'module', // Allows for the use of imports + }, + rules: { + 'prettier/prettier': 'error', + 'no-unused-vars': 'off', + 'prefer-const': [2, { destructuring: 'all' }], + 'object-curly-spacing': ['error', 'always'], }, + overrides: [ + { + // this config is run against test files (same as the one bellow but not limited to `src` folder) + files: ['*.ts', '*.tsx'], + parser: '@typescript-eslint/parser', + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:prettier/recommended', + ], + plugins: ['@typescript-eslint', 'prettier'], + rules: { + 'no-empty-pattern': 'warn', + 'prettier/prettier': ['error', { singleQuote: true }], + '@typescript-eslint/member-delimiter-style': ['off'], + '@typescript-eslint/no-explicit-any': ['off'], + '@typescript-eslint/no-use-before-define': ['off'], + '@typescript-eslint/no-non-null-assertion': ['off'], + '@typescript-eslint/ban-ts-comment': ['warn'], + '@typescript-eslint/no-unused-vars': [ + 'warn', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + }, + ], + 'no-implicit-coercion': 'error', + }, + }, + { + files: ['src/**/*.ts', 'src/**/*.tsx'], + parser: '@typescript-eslint/parser', + parserOptions: { + project: 'tsconfig.json', + }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:prettier/recommended', + ], + plugins: ['@typescript-eslint', 'prettier', '@typescript-eslint/tslint'], + rules: { + 'no-empty-pattern': 'warn', + 'prettier/prettier': ['error', { singleQuote: true }], + '@typescript-eslint/member-delimiter-style': ['off'], + '@typescript-eslint/no-explicit-any': ['off'], + '@typescript-eslint/no-use-before-define': ['off'], + '@typescript-eslint/no-non-null-assertion': ['off'], + '@typescript-eslint/ban-ts-comment': ['warn'], + '@typescript-eslint/no-unused-vars': [ + 'warn', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + }, + ], + '@typescript-eslint/tslint/config': [ + 'error', + { + rules: { 'strict-comparisons': true }, + }, + ], + 'no-implicit-coercion': 'error', + '@typescript-eslint/no-shadow': ['error'], + }, + }, + ], } diff --git a/packages/sdk/.prettierrc.js b/packages/sdk/.prettierrc.js index 5100fc98ab..ad1d0f567d 100644 --- a/packages/sdk/.prettierrc.js +++ b/packages/sdk/.prettierrc.js @@ -1 +1,22 @@ -module.exports = require('../../.prettierrc.js') +module.exports = { + semi: false, + trailingComma: 'es5', + singleQuote: true, + printWidth: 80, + tabWidth: 2, + arrowParens: 'avoid', + bracketSpacing: true, + overrides: [ + { + files: '*.sol', + options: { + printWidth: 100, + tabWidth: 4, + useTabs: false, + singleQuote: false, + bracketSpacing: true, + explicitTypes: 'always', + }, + }, + ], +} diff --git a/packages/sdk/package.json b/packages/sdk/package.json index fad6ee2bb0..e0ef24bc12 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -89,14 +89,5 @@ }, "files": [ "dist/**/*" - ], - "resolutions": { - "lodash.pick": "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz", - "**/@ethersproject/providers/ws": "7.5.10", - "**/hardhat/ws": "7.5.10", - "**/hardhat/@sentry/node/cookie": "0.7.0", - "**/micromatch": "4.0.8", - "**/elliptic": "6.6.0", - "**/secp256k1": "4.0.4" - } + ] } diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json index ea622e65bd..f04f0ef3e4 100644 --- a/packages/sdk/tsconfig.json +++ b/packages/sdk/tsconfig.json @@ -2,7 +2,10 @@ "extends": "../../tsconfig.json", "compilerOptions": { "rootDir": "./src", - "outDir": "./dist" + "outDir": "./dist", + "paths": { + "@ethersproject/*": ["../../node_modules/@ethersproject/*"] + } }, "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.js"], "exclude": ["node_modules", "dist", "tests", "scripts"] diff --git a/packages/sdk/typedoc.json b/packages/sdk/typedoc.json index 955ddac1a5..945c460072 100644 --- a/packages/sdk/typedoc.json +++ b/packages/sdk/typedoc.json @@ -1,7 +1,16 @@ { - "extends": ["../../typedoc.json"], + // Input options "entryPoints": ["./src/lib"], + "entryPointStrategy": "expand", "exclude": ["./src/lib/abi"], + "excludeNotDocumented": true, + "excludeInternal": true, "customCss": "./theme/style.css", + + "sidebarLinks": { + "Arbitrum Docs": "https://docs.arbitrum.io" + }, + + // Output options "out": "docs" } diff --git a/tsconfig.json b/tsconfig.json index abb38d25c3..8a1d3dee8d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "target": "ES2017", "module": "commonjs", + "moduleResolution": "node", "declaration": true, "strict": true, "allowJs": true, @@ -12,6 +13,10 @@ "noImplicitThis": true, "resolveJsonModule": true, "esModuleInterop": true, - "experimentalDecorators": true + "experimentalDecorators": true, + "skipLibCheck": true, + "paths": { + "@ethersproject/*": ["./node_modules/@ethersproject/*"] + } } } diff --git a/typedoc.json b/typedoc.json index fe328e797e..945c460072 100644 --- a/typedoc.json +++ b/typedoc.json @@ -1,8 +1,16 @@ { + // Input options + "entryPoints": ["./src/lib"], "entryPointStrategy": "expand", + "exclude": ["./src/lib/abi"], "excludeNotDocumented": true, "excludeInternal": true, + "customCss": "./theme/style.css", + "sidebarLinks": { "Arbitrum Docs": "https://docs.arbitrum.io" - } + }, + + // Output options + "out": "docs" } diff --git a/yarn.lock b/yarn.lock index 7cffa987cd..07788bae1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2528,10 +2528,10 @@ convert-svg-to-png@^0.6.4: dependencies: convert-svg-core "^0.6.4" -cookie@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie@0.7.0, cookie@^0.4.1: + version "0.7.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.0.tgz#2148f68a77245d5c2c0005d264bc3e08cfa0655d" + integrity sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ== crc-32@^1.2.0: version "1.2.2" @@ -2760,20 +2760,7 @@ electron-to-chromium@^1.4.535: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.556.tgz#97385917eb6ea3ac6a3378cf87bb39ee1db96e76" integrity sha512-6RPN0hHfzDU8D56E72YkDvnLw5Cj2NMXZGg3UkgyoHxjVhG99KZpsKgBWMmTy0Ei89xwan+rbRsVB9yzATmYzQ== -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -elliptic@^6.5.2, elliptic@^6.5.7: +elliptic@6.5.4, elliptic@6.6.0, elliptic@^6.5.2, elliptic@^6.5.7: version "6.6.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.0.tgz#5919ec723286c1edf28685aa89261d4761afa210" integrity sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA== @@ -4353,7 +4340,7 @@ lodash.omit@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg== -lodash.pick@^4.4.0: +lodash.pick@^4.4.0, "lodash.pick@https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz": version "4.17.21" resolved "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz#af60acc8255a4eb9a7c698a4de55b6ec6993edc2" @@ -4458,7 +4445,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@4.0.8, micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -5297,7 +5284,7 @@ scrypt-js@3.0.1, scrypt-js@^3.0.0: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== -secp256k1@^4.0.1: +secp256k1@4.0.4, secp256k1@^4.0.1: version "4.0.4" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.4.tgz#58f0bfe1830fe777d9ca1ffc7574962a8189f8ab" integrity sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw== @@ -6129,21 +6116,16 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +ws@7.4.6, ws@7.5.10, ws@^7.4.6: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== -ws@^7.4.6: - version "7.5.10" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" - integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== - y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" From 80db7a84b25d5e83de78db82469a266b3e4a5ef0 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:43:05 -0500 Subject: [PATCH 03/34] fix config items --- packages/sdk/.eslintrc.js | 91 ------------------------------------- packages/sdk/.prettierrc.js | 22 --------- typedoc.json | 16 ------- typedoc_md.js | 25 ---------- 4 files changed, 154 deletions(-) delete mode 100644 packages/sdk/.eslintrc.js delete mode 100644 packages/sdk/.prettierrc.js delete mode 100644 typedoc.json delete mode 100644 typedoc_md.js diff --git a/packages/sdk/.eslintrc.js b/packages/sdk/.eslintrc.js deleted file mode 100644 index 23d5ab1a2a..0000000000 --- a/packages/sdk/.eslintrc.js +++ /dev/null @@ -1,91 +0,0 @@ -module.exports = { - env: { - commonjs: true, - es6: true, - node: true, - }, - plugins: ['prettier'], - extends: [ - 'eslint:recommended', - 'plugin:prettier/recommended', // Enables eslint-plugin-prettier and displays prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array. - ], - parserOptions: { - ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features - sourceType: 'module', // Allows for the use of imports - }, - rules: { - 'prettier/prettier': 'error', - 'no-unused-vars': 'off', - 'prefer-const': [2, { destructuring: 'all' }], - 'object-curly-spacing': ['error', 'always'], - }, - overrides: [ - { - // this config is run against test files (same as the one bellow but not limited to `src` folder) - files: ['*.ts', '*.tsx'], - parser: '@typescript-eslint/parser', - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:prettier/recommended', - ], - plugins: ['@typescript-eslint', 'prettier'], - rules: { - 'no-empty-pattern': 'warn', - 'prettier/prettier': ['error', { singleQuote: true }], - '@typescript-eslint/member-delimiter-style': ['off'], - '@typescript-eslint/no-explicit-any': ['off'], - '@typescript-eslint/no-use-before-define': ['off'], - '@typescript-eslint/no-non-null-assertion': ['off'], - '@typescript-eslint/ban-ts-comment': ['warn'], - '@typescript-eslint/no-unused-vars': [ - 'warn', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^_', - }, - ], - 'no-implicit-coercion': 'error', - }, - }, - { - files: ['src/**/*.ts', 'src/**/*.tsx'], - parser: '@typescript-eslint/parser', - parserOptions: { - project: 'tsconfig.json', - }, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:prettier/recommended', - ], - plugins: ['@typescript-eslint', 'prettier', '@typescript-eslint/tslint'], - rules: { - 'no-empty-pattern': 'warn', - 'prettier/prettier': ['error', { singleQuote: true }], - '@typescript-eslint/member-delimiter-style': ['off'], - '@typescript-eslint/no-explicit-any': ['off'], - '@typescript-eslint/no-use-before-define': ['off'], - '@typescript-eslint/no-non-null-assertion': ['off'], - '@typescript-eslint/ban-ts-comment': ['warn'], - '@typescript-eslint/no-unused-vars': [ - 'warn', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^_', - }, - ], - '@typescript-eslint/tslint/config': [ - 'error', - { - rules: { 'strict-comparisons': true }, - }, - ], - 'no-implicit-coercion': 'error', - '@typescript-eslint/no-shadow': ['error'], - }, - }, - ], -} diff --git a/packages/sdk/.prettierrc.js b/packages/sdk/.prettierrc.js deleted file mode 100644 index ad1d0f567d..0000000000 --- a/packages/sdk/.prettierrc.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - semi: false, - trailingComma: 'es5', - singleQuote: true, - printWidth: 80, - tabWidth: 2, - arrowParens: 'avoid', - bracketSpacing: true, - overrides: [ - { - files: '*.sol', - options: { - printWidth: 100, - tabWidth: 4, - useTabs: false, - singleQuote: false, - bracketSpacing: true, - explicitTypes: 'always', - }, - }, - ], -} diff --git a/typedoc.json b/typedoc.json deleted file mode 100644 index 945c460072..0000000000 --- a/typedoc.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - // Input options - "entryPoints": ["./src/lib"], - "entryPointStrategy": "expand", - "exclude": ["./src/lib/abi"], - "excludeNotDocumented": true, - "excludeInternal": true, - "customCss": "./theme/style.css", - - "sidebarLinks": { - "Arbitrum Docs": "https://docs.arbitrum.io" - }, - - // Output options - "out": "docs" -} diff --git a/typedoc_md.js b/typedoc_md.js deleted file mode 100644 index e0e43069c3..0000000000 --- a/typedoc_md.js +++ /dev/null @@ -1,25 +0,0 @@ -// References: -// - https://typedoc.org/guides/overview/ -// - https://github.com/tgreyuk/typedoc-plugin-markdown - -/** @type {import('typedoc').TypeDocOptions} */ -module.exports = { - // Input options - entryPoints: ['./src/lib'], - entryPointStrategy: 'expand', - exclude: ['./src/lib/abi'], - excludeNotDocumented: true, - excludeInternal: true, - - // Output options - out: 'docs', - - // Plugins - plugin: ['typedoc-plugin-markdown'], - - // typedoc-plugin-markdown options - // entryDocument: 'modules.md', - hideBreadcrumbs: true, - hideInPageTOC: true, - hideMembersSymbol: true, -} From a96be4ca3c60ac256598cb66d5d953ac32e8c153 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:46:37 -0500 Subject: [PATCH 04/34] remove extra changes --- tsconfig.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index 8a1d3dee8d..333b8b6aa1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,6 @@ "compilerOptions": { "target": "ES2017", "module": "commonjs", - "moduleResolution": "node", "declaration": true, "strict": true, "allowJs": true, @@ -14,7 +13,6 @@ "resolveJsonModule": true, "esModuleInterop": true, "experimentalDecorators": true, - "skipLibCheck": true, "paths": { "@ethersproject/*": ["./node_modules/@ethersproject/*"] } From 072e54c7ac95b14a18a6e6f90168b80851557b4e Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:55:18 -0500 Subject: [PATCH 05/34] remove more --- packages/sdk/tsconfig.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json index f04f0ef3e4..7a8be1da3f 100644 --- a/packages/sdk/tsconfig.json +++ b/packages/sdk/tsconfig.json @@ -3,10 +3,6 @@ "compilerOptions": { "rootDir": "./src", "outDir": "./dist", - "paths": { - "@ethersproject/*": ["../../node_modules/@ethersproject/*"] - } }, "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.js"], - "exclude": ["node_modules", "dist", "tests", "scripts"] } From 8cfe6fc60ab9091e36b34b20d14dbd7f5300fae3 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 10 Dec 2024 14:12:09 -0500 Subject: [PATCH 06/34] update linting/formatting --- .eslintignore => packages/sdk/.eslintignore | 0 packages/sdk/.eslintrc | 8 ++++++++ .prettierignore => packages/sdk/.prettierignore | 0 packages/sdk/.prettierrc | 1 + packages/sdk/tsconfig.json | 12 ++++++++++-- 5 files changed, 19 insertions(+), 2 deletions(-) rename .eslintignore => packages/sdk/.eslintignore (100%) create mode 100644 packages/sdk/.eslintrc rename .prettierignore => packages/sdk/.prettierignore (100%) create mode 100644 packages/sdk/.prettierrc diff --git a/.eslintignore b/packages/sdk/.eslintignore similarity index 100% rename from .eslintignore rename to packages/sdk/.eslintignore diff --git a/packages/sdk/.eslintrc b/packages/sdk/.eslintrc new file mode 100644 index 0000000000..271e4ecbc3 --- /dev/null +++ b/packages/sdk/.eslintrc @@ -0,0 +1,8 @@ +{ + "root": false, + "extends": ["../../.eslintrc.js"], + "parserOptions": { + "project": "./tsconfig.json", + "tsconfigRootDir": "." + } +} \ No newline at end of file diff --git a/.prettierignore b/packages/sdk/.prettierignore similarity index 100% rename from .prettierignore rename to packages/sdk/.prettierignore diff --git a/packages/sdk/.prettierrc b/packages/sdk/.prettierrc new file mode 100644 index 0000000000..c178a95d7a --- /dev/null +++ b/packages/sdk/.prettierrc @@ -0,0 +1 @@ +../../.prettierrc.js \ No newline at end of file diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json index 7a8be1da3f..c139d307d0 100644 --- a/packages/sdk/tsconfig.json +++ b/packages/sdk/tsconfig.json @@ -2,7 +2,15 @@ "extends": "../../tsconfig.json", "compilerOptions": { "rootDir": "./src", - "outDir": "./dist", + "outDir": "./dist" }, - "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.js"], + "include": [ + "src/**/*.ts", + "src/**/*.d.ts", + "src/**/*.js", + "tests/**/*.ts", + "scripts/**/*.ts", + "**/*.test.ts" + ], + "exclude": ["dist", "node_modules"] } From 349365cc238f7c7713280d9f8a7da1376efb513f Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 10 Dec 2024 14:46:15 -0500 Subject: [PATCH 07/34] restore typechain nohoise --- package.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package.json b/package.json index 8a8ba4a11c..ec479bcbe5 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,10 @@ "workspaces": { "packages": [ "packages/*" + ], + "nohoist": [ + "**/typechain/**", + "**/@typechain/**" ] }, "resolutions": { From f02b23d5885d8ebf5c0657ea2b7cb80f2ea1b94c Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 10 Dec 2024 16:31:38 -0500 Subject: [PATCH 08/34] update linter settings and deps locale --- .eslintrc.js | 2 +- package.json | 35 +++++++++++++++++++++++++++++++++++ packages/sdk/.eslintrc | 6 +++--- packages/sdk/package.json | 35 ----------------------------------- packages/sdk/tsconfig.json | 11 ++--------- 5 files changed, 41 insertions(+), 48 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 598cb933b1..8c99e12c50 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -51,7 +51,7 @@ module.exports = { }, }, { - files: ['**/src/**/*.ts', '**/src/**/*.tsx'], + files: ['src/**/*.ts', 'src/**/*.tsx'], parser: '@typescript-eslint/parser', parserOptions: { project: 'tsconfig.json', diff --git a/package.json b/package.json index ec479bcbe5..2a75a0ab2b 100644 --- a/package.json +++ b/package.json @@ -29,5 +29,40 @@ "**/micromatch": "4.0.8", "**/elliptic": "6.6.0", "**/secp256k1": "4.0.4" + }, + "devDependencies": { + "@arbitrum/nitro-contracts": "^1.1.1", + "@arbitrum/token-bridge-contracts": "^1.2.1", + "@nomiclabs/hardhat-ethers": "^2.0.4", + "@offchainlabs/l1-l3-teleport-contracts": "1.0.1", + "@typechain/ethers-v5": "9.0.0", + "@types/chai": "^4.2.11", + "@types/mocha": "^9.0.0", + "@types/prompts": "^2.0.14", + "@types/yargs": "^17.0.9", + "@typescript-eslint/eslint-plugin": "^5.14.0", + "@typescript-eslint/eslint-plugin-tslint": "^5.27.1", + "@typescript-eslint/parser": "^5.14.0", + "audit-ci": "^6.3.0", + "axios": "^1.7.4", + "chai": "^4.2.0", + "chalk": "^4.1.0", + "dotenv": "^10.0.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-mocha": "^9.0.0", + "eslint-plugin-prettier": "^4.0.0", + "hardhat": "^2.18.3", + "mocha": "^9.2.1", + "nyc": "^15.1.0", + "prettier": "^2.3.2", + "prettier-plugin-solidity": "^1.0.0-beta.17", + "prompts": "^2.4.2", + "ts-mockito": "^2.6.1", + "ts-node": "^10.2.1", + "tslint": "^6.1.3", + "typechain": "7.0.0", + "typescript": "^4.9.5", + "yargs": "^17.3.1" } } diff --git a/packages/sdk/.eslintrc b/packages/sdk/.eslintrc index 271e4ecbc3..bde91889ba 100644 --- a/packages/sdk/.eslintrc +++ b/packages/sdk/.eslintrc @@ -2,7 +2,7 @@ "root": false, "extends": ["../../.eslintrc.js"], "parserOptions": { - "project": "./tsconfig.json", - "tsconfigRootDir": "." - } + "files": ["src/**/*.ts", "src/**/*.js"] + }, + "ignorePatterns": ["dist/**/*", "node_modules/**/*"] } \ No newline at end of file diff --git a/packages/sdk/package.json b/packages/sdk/package.json index e0ef24bc12..303f9608a2 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -52,41 +52,6 @@ "async-mutex": "^0.4.0", "ethers": "^5.1.0" }, - "devDependencies": { - "@arbitrum/nitro-contracts": "^1.1.1", - "@arbitrum/token-bridge-contracts": "^1.2.1", - "@nomiclabs/hardhat-ethers": "^2.0.4", - "@offchainlabs/l1-l3-teleport-contracts": "1.0.1", - "@typechain/ethers-v5": "9.0.0", - "@types/chai": "^4.2.11", - "@types/mocha": "^9.0.0", - "@types/prompts": "^2.0.14", - "@types/yargs": "^17.0.9", - "@typescript-eslint/eslint-plugin": "^5.14.0", - "@typescript-eslint/eslint-plugin-tslint": "^5.27.1", - "@typescript-eslint/parser": "^5.14.0", - "audit-ci": "^6.3.0", - "axios": "^1.7.4", - "chai": "^4.2.0", - "chalk": "^4.1.0", - "dotenv": "^10.0.0", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-mocha": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "hardhat": "^2.18.3", - "mocha": "^9.2.1", - "nyc": "^15.1.0", - "prettier": "^2.3.2", - "prettier-plugin-solidity": "^1.0.0-beta.17", - "prompts": "^2.4.2", - "ts-mockito": "^2.6.1", - "ts-node": "^10.2.1", - "tslint": "^6.1.3", - "typechain": "7.0.0", - "typescript": "^4.9.5", - "yargs": "^17.3.1" - }, "files": [ "dist/**/*" ] diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json index c139d307d0..1e92aa929c 100644 --- a/packages/sdk/tsconfig.json +++ b/packages/sdk/tsconfig.json @@ -4,13 +4,6 @@ "rootDir": "./src", "outDir": "./dist" }, - "include": [ - "src/**/*.ts", - "src/**/*.d.ts", - "src/**/*.js", - "tests/**/*.ts", - "scripts/**/*.ts", - "**/*.test.ts" - ], - "exclude": ["dist", "node_modules"] + "include": ["src/**/*.ts", "src/**/*.d.ts"], + "exclude": ["node_modules", "dist", "tests", "scripts"] } From 006dd92bde41153213b1bb2643fd885255181b8b Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 10 Dec 2024 16:41:37 -0500 Subject: [PATCH 09/34] revert deps change --- package.json | 22 +++++++++------------- packages/sdk/package.json | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 2a75a0ab2b..63a3add424 100644 --- a/package.json +++ b/package.json @@ -15,21 +15,8 @@ "workspaces": { "packages": [ "packages/*" - ], - "nohoist": [ - "**/typechain/**", - "**/@typechain/**" ] }, - "resolutions": { - "lodash.pick": "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz", - "**/@ethersproject/providers/ws": "7.5.10", - "**/hardhat/ws": "7.5.10", - "**/hardhat/@sentry/node/cookie": "0.7.0", - "**/micromatch": "4.0.8", - "**/elliptic": "6.6.0", - "**/secp256k1": "4.0.4" - }, "devDependencies": { "@arbitrum/nitro-contracts": "^1.1.1", "@arbitrum/token-bridge-contracts": "^1.2.1", @@ -64,5 +51,14 @@ "typechain": "7.0.0", "typescript": "^4.9.5", "yargs": "^17.3.1" + }, + "resolutions": { + "lodash.pick": "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz", + "**/@ethersproject/providers/ws": "7.5.10", + "**/hardhat/ws": "7.5.10", + "**/hardhat/@sentry/node/cookie": "0.7.0", + "**/micromatch": "4.0.8", + "**/elliptic": "6.6.0", + "**/secp256k1": "4.0.4" } } diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 303f9608a2..e0ef24bc12 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -52,6 +52,41 @@ "async-mutex": "^0.4.0", "ethers": "^5.1.0" }, + "devDependencies": { + "@arbitrum/nitro-contracts": "^1.1.1", + "@arbitrum/token-bridge-contracts": "^1.2.1", + "@nomiclabs/hardhat-ethers": "^2.0.4", + "@offchainlabs/l1-l3-teleport-contracts": "1.0.1", + "@typechain/ethers-v5": "9.0.0", + "@types/chai": "^4.2.11", + "@types/mocha": "^9.0.0", + "@types/prompts": "^2.0.14", + "@types/yargs": "^17.0.9", + "@typescript-eslint/eslint-plugin": "^5.14.0", + "@typescript-eslint/eslint-plugin-tslint": "^5.27.1", + "@typescript-eslint/parser": "^5.14.0", + "audit-ci": "^6.3.0", + "axios": "^1.7.4", + "chai": "^4.2.0", + "chalk": "^4.1.0", + "dotenv": "^10.0.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-mocha": "^9.0.0", + "eslint-plugin-prettier": "^4.0.0", + "hardhat": "^2.18.3", + "mocha": "^9.2.1", + "nyc": "^15.1.0", + "prettier": "^2.3.2", + "prettier-plugin-solidity": "^1.0.0-beta.17", + "prompts": "^2.4.2", + "ts-mockito": "^2.6.1", + "ts-node": "^10.2.1", + "tslint": "^6.1.3", + "typechain": "7.0.0", + "typescript": "^4.9.5", + "yargs": "^17.3.1" + }, "files": [ "dist/**/*" ] From b362bb9351ee2371885715a6faefc2d84f320f3e Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 10 Dec 2024 16:50:12 -0500 Subject: [PATCH 10/34] revert hoist --- package.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package.json b/package.json index 63a3add424..494f65d3c1 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,10 @@ "workspaces": { "packages": [ "packages/*" + ], + "nohoist": [ + "**/typechain/**", + "**/@typechain/**" ] }, "devDependencies": { From 9d48d6290ce349bfaf7254785966c386c9ce1315 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:20:35 -0500 Subject: [PATCH 11/34] test change to lock file --- yarn.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/yarn.lock b/yarn.lock index 07788bae1e..4b6fb47a54 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4536,6 +4536,7 @@ mnemonist@^0.38.0: integrity sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg== dependencies: obliterator "^2.0.0" + mocha@^10.0.0: version "10.2.0" From 4723065fb63194cee3bbdb15c647fdb464afde38 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:43:11 -0500 Subject: [PATCH 12/34] debug --- .github/workflows/build-test.yml | 6 ++++++ packages/sdk/package.json | 35 -------------------------------- 2 files changed, 6 insertions(+), 35 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index f26f04748a..89e2701408 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -25,6 +25,9 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main + with: + # TODO: Fix cache key implementation - using random value is not optimal for caching + cache-key: ${{ github.run_id }}-${{ github.run_number }} lint: name: Lint on Node.js v${{ matrix.node-version }} @@ -195,5 +198,8 @@ jobs: - name: Generate network file run: yarn gen:network + - name: debug + run: pwd && ls && cd packages && ls && cd sdk && ls + - name: Run integration tests run: CI=true yarn test:integration diff --git a/packages/sdk/package.json b/packages/sdk/package.json index e0ef24bc12..303f9608a2 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -52,41 +52,6 @@ "async-mutex": "^0.4.0", "ethers": "^5.1.0" }, - "devDependencies": { - "@arbitrum/nitro-contracts": "^1.1.1", - "@arbitrum/token-bridge-contracts": "^1.2.1", - "@nomiclabs/hardhat-ethers": "^2.0.4", - "@offchainlabs/l1-l3-teleport-contracts": "1.0.1", - "@typechain/ethers-v5": "9.0.0", - "@types/chai": "^4.2.11", - "@types/mocha": "^9.0.0", - "@types/prompts": "^2.0.14", - "@types/yargs": "^17.0.9", - "@typescript-eslint/eslint-plugin": "^5.14.0", - "@typescript-eslint/eslint-plugin-tslint": "^5.27.1", - "@typescript-eslint/parser": "^5.14.0", - "audit-ci": "^6.3.0", - "axios": "^1.7.4", - "chai": "^4.2.0", - "chalk": "^4.1.0", - "dotenv": "^10.0.0", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-mocha": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "hardhat": "^2.18.3", - "mocha": "^9.2.1", - "nyc": "^15.1.0", - "prettier": "^2.3.2", - "prettier-plugin-solidity": "^1.0.0-beta.17", - "prompts": "^2.4.2", - "ts-mockito": "^2.6.1", - "ts-node": "^10.2.1", - "tslint": "^6.1.3", - "typechain": "7.0.0", - "typescript": "^4.9.5", - "yargs": "^17.3.1" - }, "files": [ "dist/**/*" ] From f92e150e5e5c59e47b39eccbb4480de0c0777d80 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:03:48 -0500 Subject: [PATCH 13/34] update dotenv --- .github/workflows/build-test.yml | 3 --- packages/sdk/scripts/deployStandard.ts | 3 ++- packages/sdk/scripts/genNetwork.ts | 2 +- packages/sdk/scripts/instantiate_bridge.ts | 2 +- packages/sdk/scripts/testSetup.ts | 2 +- .../custom-fee-token/customFeeTokenEthBridger.test.ts | 3 ++- packages/sdk/tests/integration/eth.test.ts | 3 ++- .../getArbitrumNetworkInformationFromRollup.test.ts | 3 ++- 8 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 89e2701408..ed8b65df83 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -198,8 +198,5 @@ jobs: - name: Generate network file run: yarn gen:network - - name: debug - run: pwd && ls && cd packages && ls && cd sdk && ls - - name: Run integration tests run: CI=true yarn test:integration diff --git a/packages/sdk/scripts/deployStandard.ts b/packages/sdk/scripts/deployStandard.ts index 0fb68cdc5a..e222f77229 100644 --- a/packages/sdk/scripts/deployStandard.ts +++ b/packages/sdk/scripts/deployStandard.ts @@ -5,7 +5,8 @@ import { constants, BigNumber, utils } from 'ethers' import { MultiCaller } from '../src' import axios from 'axios' import prompt from 'prompts' -dotenv.config() +import path from 'path' +dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) const privKey = process.env.PRIVKEY as string if (!privKey) { diff --git a/packages/sdk/scripts/genNetwork.ts b/packages/sdk/scripts/genNetwork.ts index f991bc2660..05cae9d0bc 100644 --- a/packages/sdk/scripts/genNetwork.ts +++ b/packages/sdk/scripts/genNetwork.ts @@ -1,5 +1,5 @@ import * as dotenv from 'dotenv' -dotenv.config() +dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) import { execSync } from 'child_process' import * as fs from 'fs' diff --git a/packages/sdk/scripts/instantiate_bridge.ts b/packages/sdk/scripts/instantiate_bridge.ts index 747a81e8b6..a34008b086 100644 --- a/packages/sdk/scripts/instantiate_bridge.ts +++ b/packages/sdk/scripts/instantiate_bridge.ts @@ -29,7 +29,7 @@ import { import { Signer } from 'ethers' import { AdminErc20Bridger } from '../src/lib/assetBridger/erc20Bridger' -dotenv.config() +dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) const arbKey = process.env['ARB_KEY'] as string const ethKey = process.env['ETH_KEY'] as string diff --git a/packages/sdk/scripts/testSetup.ts b/packages/sdk/scripts/testSetup.ts index 10bc2c68ba..dc8239b418 100644 --- a/packages/sdk/scripts/testSetup.ts +++ b/packages/sdk/scripts/testSetup.ts @@ -41,7 +41,7 @@ import { } from '../tests/integration/custom-fee-token/customFeeTokenTestHelpers' import { fundParentSigner } from '../tests/integration/testHelpers' -dotenv.config() +dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) const isTestingOrbitChains = process.env.ORBIT_TEST === '1' diff --git a/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts b/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts index a2fb36b9a0..8395fc8b6d 100644 --- a/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts +++ b/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts @@ -19,6 +19,7 @@ import { expect } from 'chai' import { ethers, constants, Wallet } from 'ethers' import dotenv from 'dotenv' +import path from 'path' import { parseEther, parseUnits } from '@ethersproject/units' @@ -34,7 +35,7 @@ import { ChildToParentMessageStatus } from '../../../src' import { ChildToParentMessage } from '../../../src/lib/message/ChildToParentMessage' import { getNativeTokenDecimals } from '../../../src/lib/utils/lib' -dotenv.config() +dotenv.config({ path: path.resolve(__dirname, '../../../../.env') }) describeOnlyWhenCustomGasToken( 'EthBridger (with custom fee token)', diff --git a/packages/sdk/tests/integration/eth.test.ts b/packages/sdk/tests/integration/eth.test.ts index 6c2aacedc8..b9744ebcbe 100644 --- a/packages/sdk/tests/integration/eth.test.ts +++ b/packages/sdk/tests/integration/eth.test.ts @@ -18,6 +18,7 @@ import { expect } from 'chai' import dotenv from 'dotenv' +import path from 'path' import { Wallet } from '@ethersproject/wallet' import { parseEther } from '@ethersproject/units' @@ -44,7 +45,7 @@ import { } from '../../src/lib/utils/lib' import { parseUnits } from 'ethers/lib/utils' -dotenv.config() +dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) describe('Ether', async () => { beforeEach('skipIfMainnet', async function () { diff --git a/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts b/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts index 92f2569937..3b68a04c7f 100644 --- a/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts +++ b/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts @@ -1,3 +1,4 @@ +import path from 'path' import dotenv from 'dotenv' import { JsonRpcProvider } from '@ethersproject/providers' import { constants } from 'ethers' @@ -8,7 +9,7 @@ import { getArbitrumNetworkInformationFromRollup, } from '../../src/lib/dataEntities/networks' -dotenv.config() +dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) describe('getArbitrumNetworkInformationFromRollup', () => { it('fetches information about arbitrum one', async () => { From 1174942b67dbfc312aea2d0a72501c58a206c665 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:12:17 -0500 Subject: [PATCH 14/34] fix lint --- .../integration/getArbitrumNetworkInformationFromRollup.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts b/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts index 3b68a04c7f..5e662a0ef6 100644 --- a/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts +++ b/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts @@ -1,4 +1,4 @@ -import path from 'path' +import path from 'path' import dotenv from 'dotenv' import { JsonRpcProvider } from '@ethersproject/providers' import { constants } from 'ethers' From 9edac93625de20b46b2ac2d17159258ae9d28eab Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:26:28 -0500 Subject: [PATCH 15/34] fix imports --- packages/sdk/scripts/deployStandard.ts | 4 ++-- packages/sdk/scripts/genNetwork.ts | 1 + packages/sdk/scripts/instantiate_bridge.ts | 2 +- packages/sdk/scripts/testSetup.ts | 2 +- .../custom-fee-token/customFeeTokenEthBridger.test.ts | 4 ++-- packages/sdk/tests/integration/eth.test.ts | 4 ++-- .../getArbitrumNetworkInformationFromRollup.test.ts | 4 ++-- 7 files changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/sdk/scripts/deployStandard.ts b/packages/sdk/scripts/deployStandard.ts index e222f77229..f909e419ea 100644 --- a/packages/sdk/scripts/deployStandard.ts +++ b/packages/sdk/scripts/deployStandard.ts @@ -1,11 +1,11 @@ import { instantiateBridge } from './instantiate_bridge' -import dotenv from 'dotenv' +import * as dotenv from 'dotenv' import args from './getCLargs' import { constants, BigNumber, utils } from 'ethers' import { MultiCaller } from '../src' import axios from 'axios' import prompt from 'prompts' -import path from 'path' +import * as path from 'path' dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) const privKey = process.env.PRIVKEY as string diff --git a/packages/sdk/scripts/genNetwork.ts b/packages/sdk/scripts/genNetwork.ts index 05cae9d0bc..fe4898f603 100644 --- a/packages/sdk/scripts/genNetwork.ts +++ b/packages/sdk/scripts/genNetwork.ts @@ -1,4 +1,5 @@ import * as dotenv from 'dotenv' +import * as path from 'path' dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) import { execSync } from 'child_process' import * as fs from 'fs' diff --git a/packages/sdk/scripts/instantiate_bridge.ts b/packages/sdk/scripts/instantiate_bridge.ts index a34008b086..5cfea9c282 100644 --- a/packages/sdk/scripts/instantiate_bridge.ts +++ b/packages/sdk/scripts/instantiate_bridge.ts @@ -19,7 +19,7 @@ import { JsonRpcProvider } from '@ethersproject/providers' import { Wallet } from '@ethersproject/wallet' -import dotenv from 'dotenv' +import * as dotenv from 'dotenv' import args from './getCLargs' import { EthBridger, InboxTools, Erc20Bridger } from '../src' import { diff --git a/packages/sdk/scripts/testSetup.ts b/packages/sdk/scripts/testSetup.ts index dc8239b418..569b54460e 100644 --- a/packages/sdk/scripts/testSetup.ts +++ b/packages/sdk/scripts/testSetup.ts @@ -19,7 +19,7 @@ import { JsonRpcProvider } from '@ethersproject/providers' import { Wallet } from '@ethersproject/wallet' import { Provider } from '@ethersproject/abstract-provider' -import dotenv from 'dotenv' +import * as dotenv from 'dotenv' import { EthBridger, InboxTools, Erc20Bridger } from '../src' import { diff --git a/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts b/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts index 8395fc8b6d..f6d19fdf15 100644 --- a/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts +++ b/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts @@ -18,8 +18,8 @@ import { expect } from 'chai' import { ethers, constants, Wallet } from 'ethers' -import dotenv from 'dotenv' -import path from 'path' +import * as dotenv from 'dotenv' +import * as path from 'path' import { parseEther, parseUnits } from '@ethersproject/units' diff --git a/packages/sdk/tests/integration/eth.test.ts b/packages/sdk/tests/integration/eth.test.ts index b9744ebcbe..0882a602e9 100644 --- a/packages/sdk/tests/integration/eth.test.ts +++ b/packages/sdk/tests/integration/eth.test.ts @@ -17,8 +17,8 @@ 'use strict' import { expect } from 'chai' -import dotenv from 'dotenv' -import path from 'path' +import * as dotenv from 'dotenv' +import * as path from 'path' import { Wallet } from '@ethersproject/wallet' import { parseEther } from '@ethersproject/units' diff --git a/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts b/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts index 5e662a0ef6..5b7806178e 100644 --- a/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts +++ b/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts @@ -1,5 +1,5 @@ -import path from 'path' -import dotenv from 'dotenv' +import * as path from 'path' +import * as dotenv from 'dotenv' import { JsonRpcProvider } from '@ethersproject/providers' import { constants } from 'ethers' import { expect } from 'chai' From 9030353a2e0e185264fe01bcde233ba08786c6fe Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:58:55 -0500 Subject: [PATCH 16/34] revert debug tests --- .github/workflows/build-test.yml | 3 --- yarn.lock | 1 - 2 files changed, 4 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index ed8b65df83..f26f04748a 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -25,9 +25,6 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main - with: - # TODO: Fix cache key implementation - using random value is not optimal for caching - cache-key: ${{ github.run_id }}-${{ github.run_number }} lint: name: Lint on Node.js v${{ matrix.node-version }} diff --git a/yarn.lock b/yarn.lock index 4b6fb47a54..07788bae1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4536,7 +4536,6 @@ mnemonist@^0.38.0: integrity sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg== dependencies: obliterator "^2.0.0" - mocha@^10.0.0: version "10.2.0" From c58abd38ea7b85ff3bbf619d05a926a54c14606e Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Thu, 12 Dec 2024 09:07:07 -0500 Subject: [PATCH 17/34] simplify how env is loaded --- packages/sdk/scripts/deployStandard.ts | 6 +++--- packages/sdk/scripts/genNetwork.ts | 6 +++--- packages/sdk/scripts/instantiate_bridge.ts | 4 ++-- packages/sdk/scripts/testSetup.ts | 4 ++-- packages/sdk/src/lib/utils/env.ts | 6 ++++++ .../custom-fee-token/customFeeTokenEthBridger.test.ts | 5 ++--- packages/sdk/tests/integration/eth.test.ts | 6 ++---- .../getArbitrumNetworkInformationFromRollup.test.ts | 5 ++--- 8 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 packages/sdk/src/lib/utils/env.ts diff --git a/packages/sdk/scripts/deployStandard.ts b/packages/sdk/scripts/deployStandard.ts index f909e419ea..8dacd102c9 100644 --- a/packages/sdk/scripts/deployStandard.ts +++ b/packages/sdk/scripts/deployStandard.ts @@ -1,12 +1,12 @@ import { instantiateBridge } from './instantiate_bridge' -import * as dotenv from 'dotenv' +import { loadEnv } from '../src/lib/utils/env' import args from './getCLargs' import { constants, BigNumber, utils } from 'ethers' import { MultiCaller } from '../src' import axios from 'axios' import prompt from 'prompts' -import * as path from 'path' -dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) + +loadEnv() const privKey = process.env.PRIVKEY as string if (!privKey) { diff --git a/packages/sdk/scripts/genNetwork.ts b/packages/sdk/scripts/genNetwork.ts index fe4898f603..be6b4270b1 100644 --- a/packages/sdk/scripts/genNetwork.ts +++ b/packages/sdk/scripts/genNetwork.ts @@ -1,6 +1,4 @@ -import * as dotenv from 'dotenv' -import * as path from 'path' -dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) +import { loadEnv } from '../src/lib/utils/env' import { execSync } from 'child_process' import * as fs from 'fs' @@ -12,6 +10,8 @@ import { mapL2NetworkToArbitrumNetwork, } from '../src/lib/dataEntities/networks' +loadEnv() + const isTestingOrbitChains = process.env.ORBIT_TEST === '1' function getLocalNetworksFromContainer(which: 'l1l2' | 'l2l3'): any { diff --git a/packages/sdk/scripts/instantiate_bridge.ts b/packages/sdk/scripts/instantiate_bridge.ts index 5cfea9c282..d73719755a 100644 --- a/packages/sdk/scripts/instantiate_bridge.ts +++ b/packages/sdk/scripts/instantiate_bridge.ts @@ -18,8 +18,8 @@ import { JsonRpcProvider } from '@ethersproject/providers' import { Wallet } from '@ethersproject/wallet' +import { loadEnv } from '../src/lib/utils/env' -import * as dotenv from 'dotenv' import args from './getCLargs' import { EthBridger, InboxTools, Erc20Bridger } from '../src' import { @@ -29,7 +29,7 @@ import { import { Signer } from 'ethers' import { AdminErc20Bridger } from '../src/lib/assetBridger/erc20Bridger' -dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) +loadEnv() const arbKey = process.env['ARB_KEY'] as string const ethKey = process.env['ETH_KEY'] as string diff --git a/packages/sdk/scripts/testSetup.ts b/packages/sdk/scripts/testSetup.ts index 569b54460e..2967eaded0 100644 --- a/packages/sdk/scripts/testSetup.ts +++ b/packages/sdk/scripts/testSetup.ts @@ -19,7 +19,7 @@ import { JsonRpcProvider } from '@ethersproject/providers' import { Wallet } from '@ethersproject/wallet' import { Provider } from '@ethersproject/abstract-provider' -import * as dotenv from 'dotenv' +import { loadEnv } from '../src/lib/utils/env' import { EthBridger, InboxTools, Erc20Bridger } from '../src' import { @@ -41,7 +41,7 @@ import { } from '../tests/integration/custom-fee-token/customFeeTokenTestHelpers' import { fundParentSigner } from '../tests/integration/testHelpers' -dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) +loadEnv() const isTestingOrbitChains = process.env.ORBIT_TEST === '1' diff --git a/packages/sdk/src/lib/utils/env.ts b/packages/sdk/src/lib/utils/env.ts new file mode 100644 index 0000000000..89e34b0945 --- /dev/null +++ b/packages/sdk/src/lib/utils/env.ts @@ -0,0 +1,6 @@ +import * as dotenv from 'dotenv' +import * as path from 'path' + +export const loadEnv = () => { + dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) +} diff --git a/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts b/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts index f6d19fdf15..7e20f3cbe8 100644 --- a/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts +++ b/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts @@ -18,8 +18,7 @@ import { expect } from 'chai' import { ethers, constants, Wallet } from 'ethers' -import * as dotenv from 'dotenv' -import * as path from 'path' +import { loadEnv } from '../../../src/lib/utils/env' import { parseEther, parseUnits } from '@ethersproject/units' @@ -35,7 +34,7 @@ import { ChildToParentMessageStatus } from '../../../src' import { ChildToParentMessage } from '../../../src/lib/message/ChildToParentMessage' import { getNativeTokenDecimals } from '../../../src/lib/utils/lib' -dotenv.config({ path: path.resolve(__dirname, '../../../../.env') }) +loadEnv() describeOnlyWhenCustomGasToken( 'EthBridger (with custom fee token)', diff --git a/packages/sdk/tests/integration/eth.test.ts b/packages/sdk/tests/integration/eth.test.ts index 0882a602e9..dcaa576092 100644 --- a/packages/sdk/tests/integration/eth.test.ts +++ b/packages/sdk/tests/integration/eth.test.ts @@ -17,9 +17,7 @@ 'use strict' import { expect } from 'chai' -import * as dotenv from 'dotenv' -import * as path from 'path' - +import { loadEnv } from '../../src/lib/utils/env' import { Wallet } from '@ethersproject/wallet' import { parseEther } from '@ethersproject/units' import { constants } from 'ethers' @@ -45,7 +43,7 @@ import { } from '../../src/lib/utils/lib' import { parseUnits } from 'ethers/lib/utils' -dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) +loadEnv() describe('Ether', async () => { beforeEach('skipIfMainnet', async function () { diff --git a/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts b/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts index 5b7806178e..bf4a79bb68 100644 --- a/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts +++ b/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts @@ -1,15 +1,14 @@ -import * as path from 'path' -import * as dotenv from 'dotenv' import { JsonRpcProvider } from '@ethersproject/providers' import { constants } from 'ethers' import { expect } from 'chai' +import { loadEnv } from '../../src/lib/utils/env' import { getArbitrumNetwork, getArbitrumNetworkInformationFromRollup, } from '../../src/lib/dataEntities/networks' -dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) +loadEnv() describe('getArbitrumNetworkInformationFromRollup', () => { it('fetches information about arbitrum one', async () => { From 85ec17d7fd36e67a524d5d7ae1453ddc310be708 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Thu, 12 Dec 2024 09:14:48 -0500 Subject: [PATCH 18/34] change prettier file type --- packages/sdk/.prettierrc | 1 - packages/sdk/.prettierrc.js | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) delete mode 100644 packages/sdk/.prettierrc create mode 100644 packages/sdk/.prettierrc.js diff --git a/packages/sdk/.prettierrc b/packages/sdk/.prettierrc deleted file mode 100644 index c178a95d7a..0000000000 --- a/packages/sdk/.prettierrc +++ /dev/null @@ -1 +0,0 @@ -../../.prettierrc.js \ No newline at end of file diff --git a/packages/sdk/.prettierrc.js b/packages/sdk/.prettierrc.js new file mode 100644 index 0000000000..008736fae8 --- /dev/null +++ b/packages/sdk/.prettierrc.js @@ -0,0 +1,5 @@ +const baseConfig = require('../../.prettierrc.js') + +module.exports = { + ...baseConfig, +} From 1db4f38c04330322c68203d833cc256569a8b4db Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Thu, 12 Dec 2024 09:23:09 -0500 Subject: [PATCH 19/34] bump yarnlock for ci --- yarn.lock | 1 - 1 file changed, 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 07788bae1e..17f7e5e162 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,7 +1,6 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 - "@aduh95/viz.js@^3.7.0": version "3.7.0" resolved "https://registry.yarnpkg.com/@aduh95/viz.js/-/viz.js-3.7.0.tgz#a20d86c5fc8f6abebdc39b96a4326e10375d77c0" From 5dc312eac5cea6fa4df4ea9fc2d880afd36edd94 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Thu, 12 Dec 2024 10:36:08 -0500 Subject: [PATCH 20/34] revert cachekey to test --- .github/workflows/build-test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index f26f04748a..cc1083c581 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -25,6 +25,8 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main + with: + cache-key: ${{ github.run_id }}-${{ github.run_number }} lint: name: Lint on Node.js v${{ matrix.node-version }} From 6205d1016dbfe9118eebfd00c99189fb8f533746 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Thu, 12 Dec 2024 11:32:10 -0500 Subject: [PATCH 21/34] test no hoise fix env --- package.json | 6 ------ packages/sdk/src/lib/utils/env.ts | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/package.json b/package.json index 494f65d3c1..21e09ec6a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,4 @@ { - "name": "@arbitrum/monorepo", - "version": "0.0.0", "private": true, "scripts": { "audit:ci": "audit-ci --config ./audit-ci.jsonc", @@ -15,10 +13,6 @@ "workspaces": { "packages": [ "packages/*" - ], - "nohoist": [ - "**/typechain/**", - "**/@typechain/**" ] }, "devDependencies": { diff --git a/packages/sdk/src/lib/utils/env.ts b/packages/sdk/src/lib/utils/env.ts index 89e34b0945..f8c855ad3d 100644 --- a/packages/sdk/src/lib/utils/env.ts +++ b/packages/sdk/src/lib/utils/env.ts @@ -2,5 +2,5 @@ import * as dotenv from 'dotenv' import * as path from 'path' export const loadEnv = () => { - dotenv.config({ path: path.resolve(__dirname, '../../../.env') }) + dotenv.config({ path: path.resolve(__dirname, '../../../../../.env') }) } From 121cd2d56684a5c80f2f8009e2db121717bbacf3 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Fri, 13 Dec 2024 11:18:58 -0500 Subject: [PATCH 22/34] swap cache key --- .github/workflows/build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index cc1083c581..0d24dda86a 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -26,7 +26,7 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main with: - cache-key: ${{ github.run_id }}-${{ github.run_number }} + cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo lint: name: Lint on Node.js v${{ matrix.node-version }} From 88b994a180649c2601f6215e36345bac17d366cd Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Fri, 13 Dec 2024 11:41:22 -0500 Subject: [PATCH 23/34] fix pr comments --- package.json | 9 -------- packages/sdk/package.json | 15 +++++++++++--- yarn.lock | 43 ++++++++++++++++++++++++++++----------- 3 files changed, 43 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index 21e09ec6a5..489a76c28e 100644 --- a/package.json +++ b/package.json @@ -49,14 +49,5 @@ "typechain": "7.0.0", "typescript": "^4.9.5", "yargs": "^17.3.1" - }, - "resolutions": { - "lodash.pick": "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz", - "**/@ethersproject/providers/ws": "7.5.10", - "**/hardhat/ws": "7.5.10", - "**/hardhat/@sentry/node/cookie": "0.7.0", - "**/micromatch": "4.0.8", - "**/elliptic": "6.6.0", - "**/secp256k1": "4.0.4" } } diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 303f9608a2..4b3094cc8f 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -19,6 +19,9 @@ "url": "https://github.com/offchainlabs/arbitrum-sdk/issues" }, "homepage": "https://offchainlabs.com", + "files": [ + "dist/**/*" + ], "scripts": { "audit:ci": "audit-ci --config ./audit-ci.jsonc", "prepare": "yarn run gen:abi", @@ -52,7 +55,13 @@ "async-mutex": "^0.4.0", "ethers": "^5.1.0" }, - "files": [ - "dist/**/*" - ] + "resolutions": { + "lodash.pick": "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz", + "**/@ethersproject/providers/ws": "7.5.10", + "**/hardhat/ws": "7.5.10", + "**/hardhat/@sentry/node/cookie": "0.7.0", + "**/micromatch": "4.0.8", + "**/elliptic": "6.6.0", + "**/secp256k1": "4.0.4" + } } diff --git a/yarn.lock b/yarn.lock index 17f7e5e162..7cffa987cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6 +1,7 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 + "@aduh95/viz.js@^3.7.0": version "3.7.0" resolved "https://registry.yarnpkg.com/@aduh95/viz.js/-/viz.js-3.7.0.tgz#a20d86c5fc8f6abebdc39b96a4326e10375d77c0" @@ -2527,10 +2528,10 @@ convert-svg-to-png@^0.6.4: dependencies: convert-svg-core "^0.6.4" -cookie@0.7.0, cookie@^0.4.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.0.tgz#2148f68a77245d5c2c0005d264bc3e08cfa0655d" - integrity sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ== +cookie@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== crc-32@^1.2.0: version "1.2.2" @@ -2759,7 +2760,20 @@ electron-to-chromium@^1.4.535: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.556.tgz#97385917eb6ea3ac6a3378cf87bb39ee1db96e76" integrity sha512-6RPN0hHfzDU8D56E72YkDvnLw5Cj2NMXZGg3UkgyoHxjVhG99KZpsKgBWMmTy0Ei89xwan+rbRsVB9yzATmYzQ== -elliptic@6.5.4, elliptic@6.6.0, elliptic@^6.5.2, elliptic@^6.5.7: +elliptic@6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +elliptic@^6.5.2, elliptic@^6.5.7: version "6.6.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.0.tgz#5919ec723286c1edf28685aa89261d4761afa210" integrity sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA== @@ -4339,7 +4353,7 @@ lodash.omit@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg== -lodash.pick@^4.4.0, "lodash.pick@https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz": +lodash.pick@^4.4.0: version "4.17.21" resolved "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz#af60acc8255a4eb9a7c698a4de55b6ec6993edc2" @@ -4444,7 +4458,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@4.0.8, micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -5283,7 +5297,7 @@ scrypt-js@3.0.1, scrypt-js@^3.0.0: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== -secp256k1@4.0.4, secp256k1@^4.0.1: +secp256k1@^4.0.1: version "4.0.4" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.4.tgz#58f0bfe1830fe777d9ca1ffc7574962a8189f8ab" integrity sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw== @@ -6115,16 +6129,21 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@7.4.6, ws@7.5.10, ws@^7.4.6: - version "7.5.10" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" - integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== ws@8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== +ws@^7.4.6: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" From c80b628e46d9ed68e410e8cd047eea56ca2e5ac0 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Fri, 13 Dec 2024 11:45:29 -0500 Subject: [PATCH 24/34] revert resolution change --- package.json | 9 +++++++++ packages/sdk/package.json | 9 --------- yarn.lock | 42 +++++++++++---------------------------- 3 files changed, 21 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index 489a76c28e..21e09ec6a5 100644 --- a/package.json +++ b/package.json @@ -49,5 +49,14 @@ "typechain": "7.0.0", "typescript": "^4.9.5", "yargs": "^17.3.1" + }, + "resolutions": { + "lodash.pick": "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz", + "**/@ethersproject/providers/ws": "7.5.10", + "**/hardhat/ws": "7.5.10", + "**/hardhat/@sentry/node/cookie": "0.7.0", + "**/micromatch": "4.0.8", + "**/elliptic": "6.6.0", + "**/secp256k1": "4.0.4" } } diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 4b3094cc8f..f6c17b6cfd 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -54,14 +54,5 @@ "@ethersproject/bytes": "^5.0.8", "async-mutex": "^0.4.0", "ethers": "^5.1.0" - }, - "resolutions": { - "lodash.pick": "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz", - "**/@ethersproject/providers/ws": "7.5.10", - "**/hardhat/ws": "7.5.10", - "**/hardhat/@sentry/node/cookie": "0.7.0", - "**/micromatch": "4.0.8", - "**/elliptic": "6.6.0", - "**/secp256k1": "4.0.4" } } diff --git a/yarn.lock b/yarn.lock index 7cffa987cd..07788bae1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2528,10 +2528,10 @@ convert-svg-to-png@^0.6.4: dependencies: convert-svg-core "^0.6.4" -cookie@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie@0.7.0, cookie@^0.4.1: + version "0.7.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.0.tgz#2148f68a77245d5c2c0005d264bc3e08cfa0655d" + integrity sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ== crc-32@^1.2.0: version "1.2.2" @@ -2760,20 +2760,7 @@ electron-to-chromium@^1.4.535: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.556.tgz#97385917eb6ea3ac6a3378cf87bb39ee1db96e76" integrity sha512-6RPN0hHfzDU8D56E72YkDvnLw5Cj2NMXZGg3UkgyoHxjVhG99KZpsKgBWMmTy0Ei89xwan+rbRsVB9yzATmYzQ== -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -elliptic@^6.5.2, elliptic@^6.5.7: +elliptic@6.5.4, elliptic@6.6.0, elliptic@^6.5.2, elliptic@^6.5.7: version "6.6.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.0.tgz#5919ec723286c1edf28685aa89261d4761afa210" integrity sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA== @@ -4353,7 +4340,7 @@ lodash.omit@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg== -lodash.pick@^4.4.0: +lodash.pick@^4.4.0, "lodash.pick@https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz": version "4.17.21" resolved "https://github.com/lodash/lodash/archive/refs/tags/4.17.21.tar.gz#af60acc8255a4eb9a7c698a4de55b6ec6993edc2" @@ -4458,7 +4445,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@4.0.8, micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -5297,7 +5284,7 @@ scrypt-js@3.0.1, scrypt-js@^3.0.0: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== -secp256k1@^4.0.1: +secp256k1@4.0.4, secp256k1@^4.0.1: version "4.0.4" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.4.tgz#58f0bfe1830fe777d9ca1ffc7574962a8189f8ab" integrity sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw== @@ -6129,21 +6116,16 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +ws@7.4.6, ws@7.5.10, ws@^7.4.6: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== -ws@^7.4.6: - version "7.5.10" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" - integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== - y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" From 4d064220672079d65a213b7f717518d04bc3124e Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Fri, 13 Dec 2024 12:36:13 -0500 Subject: [PATCH 25/34] test cache key --- .github/workflows/build-test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 0d24dda86a..2abb5afb78 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -26,7 +26,9 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main with: - cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo + # cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo + cache-key: ${{ github.run_id }}-${{ github.run_number }} + lint: name: Lint on Node.js v${{ matrix.node-version }} From 36bda6a9c0a47fb9ceb56a91bdce7aa2424dc1ec Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Fri, 13 Dec 2024 13:56:05 -0500 Subject: [PATCH 26/34] test different thing --- .github/workflows/build-test.yml | 3 +-- yarn.lock | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 2abb5afb78..d7f5f5ea89 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -26,8 +26,7 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main with: - # cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo - cache-key: ${{ github.run_id }}-${{ github.run_number }} + cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo lint: diff --git a/yarn.lock b/yarn.lock index 07788bae1e..fa8dd11ca2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,7 @@ # yarn lockfile v1 + "@aduh95/viz.js@^3.7.0": version "3.7.0" resolved "https://registry.yarnpkg.com/@aduh95/viz.js/-/viz.js-3.7.0.tgz#a20d86c5fc8f6abebdc39b96a4326e10375d77c0" From 5c4e9c607cd44d6e9c87dd5179f3445dd91053ae Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Fri, 13 Dec 2024 14:55:17 -0500 Subject: [PATCH 27/34] test --- .github/workflows/build-test.yml | 2 ++ yarn.lock | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index d7f5f5ea89..2305123e9c 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -179,6 +179,8 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main + with: + cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo - name: Set up the local node uses: OffchainLabs/actions/run-nitro-test-node@main diff --git a/yarn.lock b/yarn.lock index fa8dd11ca2..07788bae1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,6 @@ # yarn lockfile v1 - "@aduh95/viz.js@^3.7.0": version "3.7.0" resolved "https://registry.yarnpkg.com/@aduh95/viz.js/-/viz.js-3.7.0.tgz#a20d86c5fc8f6abebdc39b96a4326e10375d77c0" From b2581fcadd0f5b3bb496395e95c54a1d119f7c87 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Fri, 13 Dec 2024 15:01:18 -0500 Subject: [PATCH 28/34] update cachekey --- .github/workflows/build-test.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 2305123e9c..388da18b44 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -6,6 +6,7 @@ on: env: MAINNET_RPC: ${{ secrets.MAINNET_RPC }} + CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo jobs: install: @@ -26,7 +27,7 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main with: - cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo + cache-key: ${{ env.CACHE_KEY }} lint: @@ -51,6 +52,8 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main + with: + cache-key: ${{ env.CACHE_KEY }} - name: Lint sdk run: | @@ -96,6 +99,8 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main + with: + cache-key: ${{ env.CACHE_KEY }} - run: yarn audit:ci @@ -117,6 +122,8 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main + with: + cache-key: ${{ env.CACHE_KEY }} - name: Build run: | @@ -180,7 +187,7 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main with: - cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo + cache-key: ${{ env.CACHE_KEY }} - name: Set up the local node uses: OffchainLabs/actions/run-nitro-test-node@main From e602f8fdf763b90b68c33981579f6bfa8a2274af Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Fri, 13 Dec 2024 15:12:23 -0500 Subject: [PATCH 29/34] fix extra space --- .github/workflows/build-test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 388da18b44..18dc4856a0 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -29,7 +29,6 @@ jobs: with: cache-key: ${{ env.CACHE_KEY }} - lint: name: Lint on Node.js v${{ matrix.node-version }} runs-on: ubuntu-latest From 73bc1dd20c1862137138f071f485664e2eaa478e Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 17 Dec 2024 14:44:39 -0500 Subject: [PATCH 30/34] test renaming cachekey runner --- .github/workflows/build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 18dc4856a0..2aa5bb8020 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -6,7 +6,7 @@ on: env: MAINNET_RPC: ${{ secrets.MAINNET_RPC }} - CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo + CACHE_KEY: ${{ github.runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo jobs: install: From e2f9f73fc0a4497a9c59b0b4ac3a83d99eaa1b87 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 17 Dec 2024 14:45:45 -0500 Subject: [PATCH 31/34] fix hashfiles --- .github/workflows/build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 2aa5bb8020..cbf958d4e1 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -6,7 +6,7 @@ on: env: MAINNET_RPC: ${{ secrets.MAINNET_RPC }} - CACHE_KEY: ${{ github.runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo + CACHE_KEY: ${{ github.runner.os }}-yarn-${{ github.hashFiles('yarn.lock') }}-monorepo jobs: install: From b4e107aaa0912a983199354ede5a2fb919c2203e Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 17 Dec 2024 14:52:41 -0500 Subject: [PATCH 32/34] test moving cachekey --- .github/workflows/build-test.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index cbf958d4e1..d077ea3529 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -6,7 +6,6 @@ on: env: MAINNET_RPC: ${{ secrets.MAINNET_RPC }} - CACHE_KEY: ${{ github.runner.os }}-yarn-${{ github.hashFiles('yarn.lock') }}-monorepo jobs: install: @@ -15,6 +14,8 @@ jobs: strategy: matrix: node-version: [18, 20] + env: + CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo steps: - name: Checkout uses: actions/checkout@v3 @@ -39,6 +40,7 @@ jobs: permissions: checks: write # https://github.com/mikepenz/action-junit-report/issues/23#issuecomment-1412597753 env: + CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo TEST_PATH: /tmp/test-results steps: - name: Checkout @@ -87,6 +89,8 @@ jobs: matrix: node-version: [18, 20] needs: install + env: + CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo steps: - name: Checkout uses: actions/checkout@v3 @@ -110,6 +114,8 @@ jobs: matrix: node-version: [18, 20] needs: install + env: + CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo steps: - name: Checkout uses: actions/checkout@v3 @@ -172,6 +178,7 @@ jobs: needs: install env: + CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo ORBIT_TEST: ${{ matrix.orbit-test }} DECIMALS: ${{ matrix.decimals || '18' }} steps: From 8c2914dd9094017e78835de7839102e98a188ff1 Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 17 Dec 2024 14:54:46 -0500 Subject: [PATCH 33/34] move cache key to install points --- .github/workflows/build-test.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index d077ea3529..fc22c3ab0c 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -28,7 +28,7 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main with: - cache-key: ${{ env.CACHE_KEY }} + cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo lint: name: Lint on Node.js v${{ matrix.node-version }} @@ -54,7 +54,7 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main with: - cache-key: ${{ env.CACHE_KEY }} + cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo - name: Lint sdk run: | @@ -103,7 +103,7 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main with: - cache-key: ${{ env.CACHE_KEY }} + cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo - run: yarn audit:ci @@ -128,7 +128,7 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main with: - cache-key: ${{ env.CACHE_KEY }} + cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo - name: Build run: | @@ -193,7 +193,7 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main with: - cache-key: ${{ env.CACHE_KEY }} + cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo - name: Set up the local node uses: OffchainLabs/actions/run-nitro-test-node@main From cd9bebf9a51685d57ac3307e42aee69b92c8b5af Mon Sep 17 00:00:00 2001 From: Doug Lance <4741454+douglance@users.noreply.github.com> Date: Tue, 17 Dec 2024 14:55:59 -0500 Subject: [PATCH 34/34] remove CACHE_KEY --- .github/workflows/build-test.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index fc22c3ab0c..de5855ad59 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -14,8 +14,6 @@ jobs: strategy: matrix: node-version: [18, 20] - env: - CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo steps: - name: Checkout uses: actions/checkout@v3 @@ -40,7 +38,6 @@ jobs: permissions: checks: write # https://github.com/mikepenz/action-junit-report/issues/23#issuecomment-1412597753 env: - CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo TEST_PATH: /tmp/test-results steps: - name: Checkout @@ -89,8 +86,6 @@ jobs: matrix: node-version: [18, 20] needs: install - env: - CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo steps: - name: Checkout uses: actions/checkout@v3 @@ -114,8 +109,6 @@ jobs: matrix: node-version: [18, 20] needs: install - env: - CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo steps: - name: Checkout uses: actions/checkout@v3 @@ -178,7 +171,6 @@ jobs: needs: install env: - CACHE_KEY: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo ORBIT_TEST: ${{ matrix.orbit-test }} DECIMALS: ${{ matrix.decimals || '18' }} steps: