diff --git a/.eslintrc.js b/.eslintrc.js index 23d5ab1a2a..8c99e12c50 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,4 +1,5 @@ module.exports = { + root: true, env: { commonjs: true, es6: true, diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index f26f04748a..de5855ad59 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: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo lint: name: Lint on Node.js v${{ matrix.node-version }} @@ -48,6 +50,8 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main + with: + cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo - name: Lint sdk run: | @@ -93,6 +97,8 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main + with: + cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo - run: yarn audit:ci @@ -114,6 +120,8 @@ jobs: - name: Install node_modules uses: OffchainLabs/actions/node-modules/install@main + with: + cache-key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-monorepo - name: Build run: | @@ -176,6 +184,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/package.json b/package.json index fad6ee2bb0..21e09ec6a5 100644 --- a/package.json +++ b/package.json @@ -1,56 +1,19 @@ { - "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", + "private": true, "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" + "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" }, - "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" + "workspaces": { + "packages": [ + "packages/*" + ] }, "devDependencies": { "@arbitrum/nitro-contracts": "^1.1.1", @@ -87,9 +50,6 @@ "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", 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..bde91889ba --- /dev/null +++ b/packages/sdk/.eslintrc @@ -0,0 +1,8 @@ +{ + "root": false, + "extends": ["../../.eslintrc.js"], + "parserOptions": { + "files": ["src/**/*.ts", "src/**/*.js"] + }, + "ignorePatterns": ["dist/**/*", "node_modules/**/*"] +} \ 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.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, +} diff --git a/packages/sdk/package.json b/packages/sdk/package.json new file mode 100644 index 0000000000..f6c17b6cfd --- /dev/null +++ b/packages/sdk/package.json @@ -0,0 +1,58 @@ +{ + "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", + "files": [ + "dist/**/*" + ], + "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" + } +} 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 98% rename from scripts/deployStandard.ts rename to packages/sdk/scripts/deployStandard.ts index 0fb68cdc5a..8dacd102c9 100644 --- a/scripts/deployStandard.ts +++ b/packages/sdk/scripts/deployStandard.ts @@ -1,11 +1,12 @@ import { instantiateBridge } from './instantiate_bridge' -import 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' -dotenv.config() + +loadEnv() const privKey = process.env.PRIVKEY as string if (!privKey) { 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 98% rename from scripts/genNetwork.ts rename to packages/sdk/scripts/genNetwork.ts index f991bc2660..be6b4270b1 100644 --- a/scripts/genNetwork.ts +++ b/packages/sdk/scripts/genNetwork.ts @@ -1,5 +1,4 @@ -import * as dotenv from 'dotenv' -dotenv.config() +import { loadEnv } from '../src/lib/utils/env' import { execSync } from 'child_process' import * as fs from 'fs' @@ -11,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/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 98% rename from scripts/instantiate_bridge.ts rename to packages/sdk/scripts/instantiate_bridge.ts index 747a81e8b6..d73719755a 100644 --- a/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 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() +loadEnv() const arbKey = process.env['ARB_KEY'] as string const ethKey = process.env['ETH_KEY'] as string 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 98% rename from scripts/testSetup.ts rename to packages/sdk/scripts/testSetup.ts index 10bc2c68ba..2967eaded0 100644 --- a/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 { 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() +loadEnv() const isTestingOrbitChains = process.env.ORBIT_TEST === '1' 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/packages/sdk/src/lib/utils/env.ts b/packages/sdk/src/lib/utils/env.ts new file mode 100644 index 0000000000..f8c855ad3d --- /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/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 99% rename from tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts rename to packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts index a2fb36b9a0..7e20f3cbe8 100644 --- a/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts +++ b/packages/sdk/tests/integration/custom-fee-token/customFeeTokenEthBridger.test.ts @@ -18,7 +18,7 @@ import { expect } from 'chai' import { ethers, constants, Wallet } from 'ethers' -import dotenv from 'dotenv' +import { loadEnv } from '../../../src/lib/utils/env' import { parseEther, parseUnits } from '@ethersproject/units' @@ -34,7 +34,7 @@ import { ChildToParentMessageStatus } from '../../../src' import { ChildToParentMessage } from '../../../src/lib/message/ChildToParentMessage' import { getNativeTokenDecimals } from '../../../src/lib/utils/lib' -dotenv.config() +loadEnv() describeOnlyWhenCustomGasToken( 'EthBridger (with custom fee token)', 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 99% rename from tests/integration/eth.test.ts rename to packages/sdk/tests/integration/eth.test.ts index 6c2aacedc8..dcaa576092 100644 --- a/tests/integration/eth.test.ts +++ b/packages/sdk/tests/integration/eth.test.ts @@ -17,8 +17,7 @@ 'use strict' import { expect } from 'chai' -import dotenv from 'dotenv' - +import { loadEnv } from '../../src/lib/utils/env' import { Wallet } from '@ethersproject/wallet' import { parseEther } from '@ethersproject/units' import { constants } from 'ethers' @@ -44,7 +43,7 @@ import { } from '../../src/lib/utils/lib' import { parseUnits } from 'ethers/lib/utils' -dotenv.config() +loadEnv() describe('Ether', async () => { beforeEach('skipIfMainnet', async function () { diff --git a/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts b/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts similarity index 97% rename from tests/integration/getArbitrumNetworkInformationFromRollup.test.ts rename to packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts index 92f2569937..bf4a79bb68 100644 --- a/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts +++ b/packages/sdk/tests/integration/getArbitrumNetworkInformationFromRollup.test.ts @@ -1,14 +1,14 @@ -import 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() +loadEnv() describe('getArbitrumNetworkInformationFromRollup', () => { it('fetches information about arbitrum one', async () => { 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..1e92aa929c --- /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"], + "exclude": ["node_modules", "dist", "tests", "scripts"] +} diff --git a/typedoc.json b/packages/sdk/typedoc.json similarity index 100% rename from typedoc.json rename to packages/sdk/typedoc.json diff --git a/typedoc_md.js b/packages/sdk/typedoc_md.js similarity index 100% rename from typedoc_md.js rename to packages/sdk/typedoc_md.js diff --git a/tsconfig.json b/tsconfig.json index 3a5901b621..333b8b6aa1 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, @@ -14,7 +12,9 @@ "noImplicitThis": true, "resolveJsonModule": true, "esModuleInterop": true, - "experimentalDecorators": true - }, - "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.js"] + "experimentalDecorators": true, + "paths": { + "@ethersproject/*": ["./node_modules/@ethersproject/*"] + } + } }