From 5e210318a0ed762a7a3e3a8cece024266efca15f Mon Sep 17 00:00:00 2001 From: Aaron DeRuvo Date: Fri, 22 Sep 2023 16:54:34 +0200 Subject: [PATCH] EXPLICIT Dependencies (#10615) no dep imported shall be excluded from package.json --- dependency-graph.json | 10 ++++- packages/celotool/tslint.json | 6 +++ packages/cli/package.json | 4 ++ packages/dev-utils/package.json | 1 + packages/env-tests/package.json | 3 ++ .../combiner/package.json | 5 +++ .../phone-number-privacy/combiner/tslint.json | 8 +++- .../phone-number-privacy/common/package.json | 3 ++ .../phone-number-privacy/monitor/package.json | 2 + .../phone-number-privacy/signer/package.json | 7 ++++ .../signer/src/tracing.ts | 5 +-- .../phone-number-privacy/signer/tslint.json | 3 +- packages/protocol/tslint.json | 1 + packages/sdk/connect/package.json | 11 +++--- packages/sdk/contractkit/package.json | 1 + .../sdk/contractkit/src/wrappers/Accounts.ts | 2 +- packages/sdk/encrypted-backup/package.json | 2 + packages/sdk/explorer/package.json | 1 + packages/sdk/governance/package.json | 1 + packages/sdk/phone-utils/package.json | 3 +- packages/sdk/utils/package.json | 3 ++ packages/sdk/wallets/wallet-base/package.json | 4 +- .../sdk/wallets/wallet-hsm-aws/package.json | 1 + .../sdk/wallets/wallet-hsm-azure/package.json | 1 + .../sdk/wallets/wallet-hsm-gcp/package.json | 1 + packages/sdk/wallets/wallet-hsm/package.json | 4 ++ .../sdk/wallets/wallet-ledger/package.json | 6 +++ .../sdk/wallets/wallet-remote/package.json | 4 +- packages/sdk/wallets/wallet-rpc/package.json | 6 ++- .../sdk/wallets/wallet-rpc/src/rpc-signer.ts | 2 +- packages/typescript/tslint.json | 5 ++- yarn.lock | 37 ++++++++++++++++++- 32 files changed, 133 insertions(+), 20 deletions(-) diff --git a/dependency-graph.json b/dependency-graph.json index 0e826914ea7..09cb3ad8123 100644 --- a/dependency-graph.json +++ b/dependency-graph.json @@ -19,6 +19,8 @@ "@celo/celocli": { "location": "packages/cli", "dependencies": [ + "@celo/base", + "@celo/connect", "@celo/contractkit", "@celo/cryptographic-utils", "@celo/dev-utils", @@ -96,6 +98,7 @@ "@celo/phone-number-privacy-monitor": { "location": "packages/phone-number-privacy/monitor", "dependencies": [ + "@celo/base", "@celo/contractkit", "@celo/cryptographic-utils", "@celo/encrypted-backup", @@ -152,10 +155,12 @@ "location": "packages/sdk/encrypted-backup", "dependencies": [ "@celo/base", + "@celo/connect", "@celo/dev-utils", "@celo/identity", "@celo/phone-number-privacy-common", - "@celo/utils" + "@celo/utils", + "@celo/wallet-local" ] }, "@celo/explorer": { @@ -246,6 +251,7 @@ "@celo/wallet-hsm-azure": { "location": "packages/sdk/wallets/wallet-hsm-azure", "dependencies": [ + "@celo/base", "@celo/connect", "@celo/utils", "@celo/wallet-base", @@ -272,6 +278,7 @@ "@celo/wallet-ledger": { "location": "packages/sdk/wallets/wallet-ledger", "dependencies": [ + "@celo/base", "@celo/connect", "@celo/utils", "@celo/wallet-base", @@ -297,6 +304,7 @@ "@celo/wallet-rpc": { "location": "packages/sdk/wallets/wallet-rpc", "dependencies": [ + "@celo/base", "@celo/connect", "@celo/contractkit", "@celo/dev-utils", diff --git a/packages/celotool/tslint.json b/packages/celotool/tslint.json index b1e6a53d435..ae0e82b60fb 100644 --- a/packages/celotool/tslint.json +++ b/packages/celotool/tslint.json @@ -4,6 +4,12 @@ "exclude": ["**/__mocks__/**", "**/lcov-report/**"] }, "rules": { + "no-implicit-dependencies": [ + false, + [ + "src" + ] + ], "no-relative-imports": false, "max-classes-per-file": [true, 2], "no-global-arrow-functions": false, diff --git a/packages/cli/package.json b/packages/cli/package.json index 2916d8f20c7..a0fc0b69aab 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -32,6 +32,8 @@ "test": "TZ=UTC jest --runInBand" }, "dependencies": { + "@celo/base": "^5.0.4", + "@celo/connect": "^5.0.4", "@celo/contractkit": "^5.0.4", "@celo/explorer": "^5.0.4", "@celo/governance": "^5.0.4", @@ -43,6 +45,8 @@ "@celo/wallet-ledger": "^5.0.4", "@celo/wallet-local": "^5.0.4", "@ledgerhq/hw-transport-node-hid": "^6.27.4", + "@oclif/parser": "^3.8.16", + "@oclif/errors": "^1.3.6", "@oclif/command": "^1.6.0", "@oclif/config": "^1.6.0", "@oclif/plugin-autocomplete": "^0.1.5", diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index b82e287000c..360bf9326cb 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -16,6 +16,7 @@ "lint": "tslint -c tslint.json --project ." }, "dependencies": { + "ganache": "npm:@celo/ganache@7.8.0-unofficial.0", "bignumber.js": "^9.0.0", "web3": "1.10.0", "web3-core-helpers": "1.10.0", diff --git a/packages/env-tests/package.json b/packages/env-tests/package.json index 98bd1346f1d..732839e6f99 100644 --- a/packages/env-tests/package.json +++ b/packages/env-tests/package.json @@ -12,9 +12,11 @@ "@celo/identity": "5.0.4", "@celo/phone-utils": "5.0.4", "@celo/cryptographic-utils": "5.0.4", + "bignumber.js": "^9.0.0", "bunyan": "1.8.12", "bunyan-gke-stackdriver": "0.1.2", "bunyan-debug-stream": "2.0.0", + "dotenv": "8.2.0", "jest": "^29.0.2", "moment": "^2.29.0", @@ -31,6 +33,7 @@ "staging-test": "CELO_ENV=staging CELO_PROVIDER=https://staging-forno.celo-networks-dev.org jest --runInBand" }, "devDependencies": { + "@jest/globals": "^29.5.0", "typescript": "4.4.3" } } \ No newline at end of file diff --git a/packages/phone-number-privacy/combiner/package.json b/packages/phone-number-privacy/combiner/package.json index b9401eaa9a7..47e7b4d68a6 100644 --- a/packages/phone-number-privacy/combiner/package.json +++ b/packages/phone-number-privacy/combiner/package.json @@ -36,16 +36,21 @@ "@celo/poprf": "^0.1.9", "@types/bunyan": "^1.8.8", "@opentelemetry/api": "^1.4.1", + "@opentelemetry/resources": "1.17.0", + "@opentelemetry/instrumentation": "^0.41.2", "@opentelemetry/auto-instrumentations-node": "^0.38.0", "@opentelemetry/exporter-jaeger": "^1.15.2", "@opentelemetry/propagator-ot-trace": "^0.27.0", "@opentelemetry/sdk-metrics": "^1.15.2", "@opentelemetry/sdk-node": "^0.41.2", "@opentelemetry/sdk-trace-web": "^1.15.2", + "@opentelemetry/sdk-trace-node": "1.15.2", "@opentelemetry/sdk-trace-base": "^1.17.0", "@opentelemetry/semantic-conventions": "^1.15.2", "blind-threshold-bls": "npm:@celo/blind-threshold-bls@1.0.0-beta", "dotenv": "^8.2.0", + "io-ts": "2.0.1", + "bunyan": "1.8.12", "express": "^4.17.1", "firebase-admin": "^11.10.1", "firebase-functions": "^4.4.1", diff --git a/packages/phone-number-privacy/combiner/tslint.json b/packages/phone-number-privacy/combiner/tslint.json index 5fc86ecb716..35e8972b590 100644 --- a/packages/phone-number-privacy/combiner/tslint.json +++ b/packages/phone-number-privacy/combiner/tslint.json @@ -1,7 +1,13 @@ { "extends": ["@celo/typescript/tslint.json"], "rules": { + "no-implicit-dependencies": [ + true, + [ + "node:assert" + ] + ], "no-global-arrow-functions": false, - "no-console": true + "no-console": true } } diff --git a/packages/phone-number-privacy/common/package.json b/packages/phone-number-privacy/common/package.json index 0474c2dc025..03fda8fa0a8 100644 --- a/packages/phone-number-privacy/common/package.json +++ b/packages/phone-number-privacy/common/package.json @@ -30,6 +30,9 @@ "dotenv": "^8.2.0", "elliptic": "^6.5.4", "io-ts": "2.0.1", + "fp-ts": "2.1.1", + "express": "^4.17.6", + "node-fetch": "^2.6.9", "is-base64": "^1.1.0", "@opentelemetry/api": "^1.4.1", "@opentelemetry/auto-instrumentations-node": "^0.38.0", diff --git a/packages/phone-number-privacy/monitor/package.json b/packages/phone-number-privacy/monitor/package.json index c2f329e7e54..a3e02aeeff1 100644 --- a/packages/phone-number-privacy/monitor/package.json +++ b/packages/phone-number-privacy/monitor/package.json @@ -22,6 +22,7 @@ "loadTest": "ts-node src/scripts/run-load-test.ts run" }, "dependencies": { + "@celo/base": "^5.0.4", "@celo/contractkit": "^5.0.4", "@celo/cryptographic-utils": "^5.0.4", "@celo/encrypted-backup": "^5.0.4", @@ -29,6 +30,7 @@ "@celo/wallet-local": "^5.0.4", "@celo/phone-number-privacy-common": "^3.0.3", "@celo/utils": "^5.0.4", + "yargs": "^14.0.0", "firebase-admin": "^9.12.0", "firebase-functions": "^3.15.7" }, diff --git a/packages/phone-number-privacy/signer/package.json b/packages/phone-number-privacy/signer/package.json index 34ff3f0e55c..7b047e81a4f 100644 --- a/packages/phone-number-privacy/signer/package.json +++ b/packages/phone-number-privacy/signer/package.json @@ -38,6 +38,8 @@ }, "dependencies": { "@celo/base": "^5.0.4", + "bunyan": "1.8.12", + "bignumber.js": "^9.0.0", "blind-threshold-bls": "npm:@celo/blind-threshold-bls@1.0.0-beta", "@celo/contractkit": "^5.0.4", "@celo/phone-number-privacy-common": "^3.0.3", @@ -48,9 +50,14 @@ "@opentelemetry/api": "^1.4.1", "@opentelemetry/auto-instrumentations-node": "^0.38.0", "@opentelemetry/propagator-ot-trace": "^0.27.0", + "@opentelemetry/resources": "1.17.0", + "@opentelemetry/instrumentation": "^0.41.2", + "@opentelemetry/exporter-jaeger": "^1.15.2", "@opentelemetry/sdk-metrics": "^1.15.1", "@opentelemetry/sdk-node": "^0.41.1", "@opentelemetry/semantic-conventions": "^1.15.1", + "@opentelemetry/sdk-trace-base": "^1.17.0", + "@opentelemetry/sdk-trace-node": "1.15.2", "@opentelemetry/sdk-trace-web": "^1.15.1", "@types/bunyan": "^1.8.8", "aws-sdk": "^2.705.0", diff --git a/packages/phone-number-privacy/signer/src/tracing.ts b/packages/phone-number-privacy/signer/src/tracing.ts index 0d75525c9a7..6bdcd64d327 100644 --- a/packages/phone-number-privacy/signer/src/tracing.ts +++ b/packages/phone-number-privacy/signer/src/tracing.ts @@ -9,8 +9,7 @@ import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentation import { JaegerExporter } from '@opentelemetry/exporter-jaeger' import { registerInstrumentations } from '@opentelemetry/instrumentation' import { Resource } from '@opentelemetry/resources' -import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base' -import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node' +import { BatchSpanProcessor, NodeTracerProvider } from '@opentelemetry/sdk-trace-node' /* Some instrumentations included in auto-instrumentations-node: - https://www.npmjs.com/package/@opentelemetry/sdk-trace-web @@ -67,7 +66,7 @@ const resource = Resource.default().merge( new Resource({ [SemanticResourceAttributes.SERVICE_NAME]: process.env.TRACING_SERVICE_NAME, // 'testing-signer-tracing', - [SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0', + [SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0', // should be the same as package.json version? }) ) diff --git a/packages/phone-number-privacy/signer/tslint.json b/packages/phone-number-privacy/signer/tslint.json index 5fc86ecb716..0902a7148cd 100644 --- a/packages/phone-number-privacy/signer/tslint.json +++ b/packages/phone-number-privacy/signer/tslint.json @@ -1,7 +1,8 @@ { "extends": ["@celo/typescript/tslint.json"], "rules": { + "no-implicit-dependencies": [true, ["node:http"]], "no-global-arrow-functions": false, - "no-console": true + "no-console": true } } diff --git a/packages/protocol/tslint.json b/packages/protocol/tslint.json index eab49bb0281..7fbfa850046 100644 --- a/packages/protocol/tslint.json +++ b/packages/protocol/tslint.json @@ -5,6 +5,7 @@ "exclude": ["types/contracts/*", "lib/**"] }, "rules": { + "no-implicit-dependencies": false, "no-global-arrow-functions": false, "no-floating-promises": true, "no-string-literal": false, diff --git a/packages/sdk/connect/package.json b/packages/sdk/connect/package.json index a304779dc10..0cacc2c31c0 100644 --- a/packages/sdk/connect/package.json +++ b/packages/sdk/connect/package.json @@ -22,21 +22,22 @@ "prepublishOnly": "yarn build" }, "dependencies": { + "@ethereumjs/util": "8.0.5", "@types/debug": "^4.1.5", "@types/utf8": "^2.1.6", "@celo/base": "5.0.4", "@celo/utils": "5.0.4", "bignumber.js": "^9.0.0", "debug": "^4.1.1", - "utf8": "3.0.0" - }, - "devDependencies": { - "web3": "1.10.0", + "utf8": "3.0.0", "web3-core": "1.10.0", "web3-eth": "1.10.0", - "web3-eth-abi": "1.10.0", "web3-eth-contract": "1.10.0" }, + "devDependencies": { + "web3": "1.10.0", + "web3-eth-abi": "1.10.0" + }, "peerDependencies": { "web3": "1.10.0" }, diff --git a/packages/sdk/contractkit/package.json b/packages/sdk/contractkit/package.json index 8a447d3b783..9bacec7e9ff 100644 --- a/packages/sdk/contractkit/package.json +++ b/packages/sdk/contractkit/package.json @@ -52,6 +52,7 @@ "fetch-mock": "9.10.4", "ganache": "npm:@celo/ganache@7.8.0-unofficial.0", "jest": "^29.0.2", + "bn.js": "^5.1.0", "ts-node": "8.3.0", "typedoc": "^0.19.2", "typedoc-plugin-markdown": "^2.2.16", diff --git a/packages/sdk/contractkit/src/wrappers/Accounts.ts b/packages/sdk/contractkit/src/wrappers/Accounts.ts index ef3c447701f..1a5671982f1 100644 --- a/packages/sdk/contractkit/src/wrappers/Accounts.ts +++ b/packages/sdk/contractkit/src/wrappers/Accounts.ts @@ -8,7 +8,7 @@ import { } from '@celo/utils/lib/signatureUtils' import { soliditySha3 } from '@celo/utils/lib/solidity' import { authorizeSigner as buildAuthorizeSignerTypedData } from '@celo/utils/lib/typed-data-constructors' -import BN from 'bn.js' // just the types +import type BN from 'bn.js' // just the types import { Accounts } from '../generated/Accounts' import { newContractVersion } from '../versions' import { diff --git a/packages/sdk/encrypted-backup/package.json b/packages/sdk/encrypted-backup/package.json index 91d3b40d768..854c42cf104 100644 --- a/packages/sdk/encrypted-backup/package.json +++ b/packages/sdk/encrypted-backup/package.json @@ -25,8 +25,10 @@ "prepublishOnly": "yarn build" }, "dependencies": { + "@celo/connect": "5.0.4", "@celo/base": "5.0.4", "@celo/identity": "5.0.4", + "@celo/wallet-local": "5.0.4", "@celo/phone-number-privacy-common": "^3.0.3", "@celo/poprf": "^0.1.9", "@celo/utils": "5.0.4", diff --git a/packages/sdk/explorer/package.json b/packages/sdk/explorer/package.json index 2fc8e91a901..eddbde15b9b 100644 --- a/packages/sdk/explorer/package.json +++ b/packages/sdk/explorer/package.json @@ -28,6 +28,7 @@ "@celo/utils": "5.0.4", "@types/debug": "^4.1.5", "cross-fetch": "3.0.6", + "bignumber.js": "9.0.0", "debug": "^4.1.1" }, "devDependencies": { diff --git a/packages/sdk/governance/package.json b/packages/sdk/governance/package.json index 1cd38b3740a..f1b116fad35 100644 --- a/packages/sdk/governance/package.json +++ b/packages/sdk/governance/package.json @@ -30,6 +30,7 @@ "@types/debug": "^4.1.5", "@types/inquirer": "^6.5.0", "debug": "^4.1.1", + "bignumber.js": "^9.0.0", "ethereum-cryptography": "1.2.0", "inquirer": "^7.0.5" }, diff --git a/packages/sdk/phone-utils/package.json b/packages/sdk/phone-utils/package.json index 36863858643..26998ad6382 100644 --- a/packages/sdk/phone-utils/package.json +++ b/packages/sdk/phone-utils/package.json @@ -30,7 +30,8 @@ "country-data": "^0.0.31", "fp-ts": "2.1.1", "google-libphonenumber": "^3.2.27", - "io-ts": "2.0.1" + "io-ts": "2.0.1", + "web3-utils": "^1.10.0" }, "devDependencies": { "@celo/typescript": "0.0.1" diff --git a/packages/sdk/utils/package.json b/packages/sdk/utils/package.json index 1038975a6da..a4fd8b5a58b 100644 --- a/packages/sdk/utils/package.json +++ b/packages/sdk/utils/package.json @@ -24,13 +24,16 @@ "dependencies": { "@celo/base": "5.0.4", "@ethereumjs/util": "8.0.5", + "rlp": "^2.2.4", "@types/bn.js": "^5.1.0", "@types/elliptic": "^6.4.9", "@types/node": "^18.7.16", "bignumber.js": "^9.0.0", "elliptic": "^6.5.4", "ethereum-cryptography": "1.2.0", + "bn.js": "4.11.9", "io-ts": "2.0.1", + "fp-ts": "2.1.1", "web3-eth-abi": "1.10.0", "web3-utils": "1.10.0" }, diff --git a/packages/sdk/wallets/wallet-base/package.json b/packages/sdk/wallets/wallet-base/package.json index 5d7498db42c..34e905d7140 100644 --- a/packages/sdk/wallets/wallet-base/package.json +++ b/packages/sdk/wallets/wallet-base/package.json @@ -29,12 +29,14 @@ "@celo/base": "5.0.4", "@celo/utils": "5.0.4", "@ethereumjs/util": "8.0.5", + "@ethereumjs/rlp": "^5.0.0", "ethereum-cryptography": "^2.1.2", "@types/debug": "^4.1.5", "bignumber.js": "^9.0.0", "web3-eth-accounts": "1.10.0", "debug": "^4.1.1", - "eth-lib": "^0.2.8" + "eth-lib": "^0.2.8", + "web3": "1.10.0" }, "engines": { "node": ">=8.14.2" diff --git a/packages/sdk/wallets/wallet-hsm-aws/package.json b/packages/sdk/wallets/wallet-hsm-aws/package.json index 6d77d8501fa..8c5dc8b9f36 100644 --- a/packages/sdk/wallets/wallet-hsm-aws/package.json +++ b/packages/sdk/wallets/wallet-hsm-aws/package.json @@ -38,6 +38,7 @@ "devDependencies": { "@celo/connect": "5.0.4", "elliptic": "^6.5.4", + "dotenv": "^8.2.0", "web3": "1.10.0" }, "engines": { diff --git a/packages/sdk/wallets/wallet-hsm-azure/package.json b/packages/sdk/wallets/wallet-hsm-azure/package.json index dd123b3130f..ad6452a83fa 100644 --- a/packages/sdk/wallets/wallet-hsm-azure/package.json +++ b/packages/sdk/wallets/wallet-hsm-azure/package.json @@ -25,6 +25,7 @@ "@azure/identity": "^1.1.0", "@azure/keyvault-keys": "^4.1.0", "@azure/keyvault-secrets": "^4.1.0", + "@celo/base": "5.0.4", "@celo/utils": "5.0.4", "@celo/wallet-base": "5.0.4", "@celo/wallet-remote": "5.0.4", diff --git a/packages/sdk/wallets/wallet-hsm-gcp/package.json b/packages/sdk/wallets/wallet-hsm-gcp/package.json index f8ca23cda0d..2cb1ea1eece 100644 --- a/packages/sdk/wallets/wallet-hsm-gcp/package.json +++ b/packages/sdk/wallets/wallet-hsm-gcp/package.json @@ -36,6 +36,7 @@ "devDependencies": { "@celo/connect": "5.0.4", "elliptic": "^6.5.4", + "dotenv": "^8.2.0", "web3": "1.10.0" }, "engines": { diff --git a/packages/sdk/wallets/wallet-hsm/package.json b/packages/sdk/wallets/wallet-hsm/package.json index 8e8620f32f9..f7a99450502 100644 --- a/packages/sdk/wallets/wallet-hsm/package.json +++ b/packages/sdk/wallets/wallet-hsm/package.json @@ -29,9 +29,13 @@ "eth-lib": "^0.2.8", "@ethereumjs/util": "8.0.5", "asn1js": "^2.0.26", + "bignumber.js": "^9.0.0", "elliptic": "^6.5.4", "secp256k1": "^4.0.0" }, + "devDependencies": { + "dotenv": "^8.2.0" + }, "engines": { "node": ">=8.14.2" } diff --git a/packages/sdk/wallets/wallet-ledger/package.json b/packages/sdk/wallets/wallet-ledger/package.json index 2aa0f413d26..d077a1ddea2 100644 --- a/packages/sdk/wallets/wallet-ledger/package.json +++ b/packages/sdk/wallets/wallet-ledger/package.json @@ -22,17 +22,23 @@ "prepublishOnly": "yarn build" }, "dependencies": { + "@celo/base": "5.0.4", "@celo/utils": "5.0.4", "@celo/wallet-base": "5.0.4", "@celo/wallet-remote": "5.0.4", "@celo/connect": "5.0.4", "@ethereumjs/util": "8.0.5", "@ledgerhq/hw-app-eth": "~5.11.0", + "@ledgerhq/errors": "^5.50.0", "@ledgerhq/hw-transport": "~5.11.0", "debug": "^4.1.1", "eth-lib": "^0.2.8", "ethereum-cryptography": "1.2.0" }, + "devDependencies": { + "@ledgerhq/hw-transport-node-hid": "^6.27.4", + "web3": "1.10.0" + }, "engines": { "node": ">=8.14.2" } diff --git a/packages/sdk/wallets/wallet-remote/package.json b/packages/sdk/wallets/wallet-remote/package.json index 46e3427f3e6..28c534546c0 100644 --- a/packages/sdk/wallets/wallet-remote/package.json +++ b/packages/sdk/wallets/wallet-remote/package.json @@ -29,7 +29,9 @@ "@types/debug": "^4.1.5", "eth-lib": "^0.2.8" }, - "devDependencies": {}, + "devDependencies": { + "web3": "1.10.0" + }, "engines": { "node": ">=8.14.2" } diff --git a/packages/sdk/wallets/wallet-rpc/package.json b/packages/sdk/wallets/wallet-rpc/package.json index b69d872ea26..2a949f62270 100644 --- a/packages/sdk/wallets/wallet-rpc/package.json +++ b/packages/sdk/wallets/wallet-rpc/package.json @@ -22,6 +22,8 @@ "prepublishOnly": "yarn build" }, "dependencies": { + "@types/bn.js": "^5.1.0", + "@celo/base": "5.0.4", "@celo/connect": "5.0.4", "@celo/utils": "5.0.4", "@celo/wallet-base": "5.0.4", @@ -31,7 +33,9 @@ }, "devDependencies": { "@celo/dev-utils": "0.0.1", - "@celo/contractkit": "5.0.4" + "@celo/contractkit": "5.0.4", + "bn.js": "^5.1.0", + "web3": "1.10.0" }, "engines": { "node": ">=8.14.2" diff --git a/packages/sdk/wallets/wallet-rpc/src/rpc-signer.ts b/packages/sdk/wallets/wallet-rpc/src/rpc-signer.ts index 00fce4de197..d59a7cb965a 100644 --- a/packages/sdk/wallets/wallet-rpc/src/rpc-signer.ts +++ b/packages/sdk/wallets/wallet-rpc/src/rpc-signer.ts @@ -3,7 +3,7 @@ import { CeloTx, EncodedTransaction, RpcCaller, Signer } from '@celo/connect' import { EIP712TypedData } from '@celo/utils/lib/sign-typed-data-utils' import { decodeSig } from '@celo/wallet-base' import BigNumber from 'bignumber.js' -import BN from 'bn.js' +import type BN from 'bn.js' const INCORRECT_PASSWORD_ERROR = 'could not decrypt key with given password' const currentTimeInSeconds = () => Math.floor(Date.now() / 1000) diff --git a/packages/typescript/tslint.json b/packages/typescript/tslint.json index 1a0d6aaf4cc..27167350239 100644 --- a/packages/typescript/tslint.json +++ b/packages/typescript/tslint.json @@ -11,7 +11,10 @@ "no-reference": true, "no-duplicate-super": true, "member-access": false, - "no-implicit-dependencies": false, + "no-implicit-dependencies": [ + true, + "dev" + ], "interface-name": false, "no-submodule-imports": false, "object-literal-sort-keys": false, diff --git a/yarn.lock b/yarn.lock index dbba727f93c..5192ca6bf95 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1267,6 +1267,11 @@ resolved "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz" integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== +"@ethereumjs/rlp@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-5.0.0.tgz#dd81b32b2237bc32fb1b54534f8ff246a6c89d9b" + integrity sha512-WuS1l7GJmB0n0HsXLozCoEFc9IwYgf3l0gCkKVYgR67puVF1O4OpEaN0hWmm1c+iHUHFCKt1hJrvy5toLg+6ag== + "@ethereumjs/statemanager@1.0.4": version "1.0.4" resolved "https://registry.npmjs.org/@ethereumjs/statemanager/-/statemanager-1.0.4.tgz" @@ -1336,6 +1341,15 @@ "@ethereumjs/rlp" "^4.0.1" ethereum-cryptography "^1.1.2" +"@ethereumjs/util@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" + integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== + dependencies: + "@ethereumjs/rlp" "^4.0.1" + ethereum-cryptography "^2.0.0" + micro-ftch "^0.3.1" + "@ethereumjs/vm@npm:@celo/ethereumjs-vm@6.4.1-unofficial.0": version "6.4.1-unofficial.0" resolved "https://registry.npmjs.org/@celo/ethereumjs-vm/-/ethereumjs-vm-6.4.1-unofficial.0.tgz" @@ -8594,7 +8608,7 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^ resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0, bn.js@^5.2.1: +bn.js@^5.0.0, bn.js@^5.1.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== @@ -12734,7 +12748,7 @@ export-files@^2.0.1: dependencies: lazy-cache "^1.0.3" -express@^4.14.0, express@^4.16.4, express@^4.17.1: +express@^4.14.0, express@^4.16.4, express@^4.17.1, express@^4.17.6: version "4.18.2" resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== @@ -18758,6 +18772,11 @@ methods@^1.1.2, methods@~1.1.2: resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== +micro-ftch@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" + integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== + micromatch@^2.3.11, micromatch@^2.3.7: version "2.3.11" resolved "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz" @@ -27721,6 +27740,20 @@ web3-utils@1.8.2: randombytes "^2.1.0" utf8 "3.0.0" +web3-utils@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.2.tgz#361103d28a94d5e2a87ba15d776a62c33303eb44" + integrity sha512-TdApdzdse5YR+5GCX/b/vQnhhbj1KSAtfrDtRW7YS0kcWp1gkJsN62gw6GzCaNTeXookB7UrLtmDUuMv65qgow== + dependencies: + "@ethereumjs/util" "^8.1.0" + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereum-cryptography "^2.1.2" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + web3-utils@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-4.0.5.tgz#598d0ebbe1463c56ac1e838103a728a0a6bfdad7"