chore(sdk) use secret key env var in tests (#1406)

This commit is contained in:
Jonas Daniels
2023-07-27 05:29:05 +00:00
committed by GitHub
parent 75587c8b38
commit 4ed662e841
17 changed files with 299 additions and 55 deletions
+6
View File
@@ -0,0 +1,6 @@
# rename this file to .env and fill in the values
# this is not required to build the packages but will significantly increase test performance
# used for unit tests that hit real IPFS gateway
# get a secret key from https://thirdweb.com/create-api-key
TW_SECRET_KEY=""
+1
View File
@@ -17,6 +17,7 @@ yalc.lock
build/
playwright-report/
.vscode/
.env/
# Artifacts
packages/cli/artifacts/
File diff suppressed because one or more lines are too long
+1
View File
@@ -124,6 +124,7 @@
"@typescript-eslint/parser": "^5.60.1",
"chai": "^4.3.6",
"deep-equal-in-any-order": "^1.1.18",
"dotenv-mono": "^1.3.10",
"eslint": "^8.45.0",
"eslint-config-prettier": "^8.8.0",
"eslint-config-thirdweb": "workspace:*",
@@ -93,7 +93,9 @@ describe("Any EVM Keyless Deploy", async () => {
before(async () => {
[adminWallet, claimerWallet] = signers;
sdk = new ThirdwebSDK(adminWallet);
sdk = new ThirdwebSDK(adminWallet, {
secretKey: process.env.TW_SECRET_KEY,
});
});
beforeEach(async () => {
+2 -4
View File
@@ -1,10 +1,8 @@
import {
Abi,
AbiSchema,
ChainId,
CONTRACTS_MAP,
ContractType,
DEFAULT_IPFS_GATEWAY,
EditionDropInitializer,
EditionInitializer,
getNativeTokenByChainId,
@@ -76,7 +74,6 @@ const defaultProvider = hardhatEthers.provider;
let registryAddress: string;
let sdk: ThirdwebSDK;
const ipfsGatewayUrl = DEFAULT_IPFS_GATEWAY;
let signer: SignerWithAddress;
let signers: SignerWithAddress[];
let storage: ThirdwebStorage;
@@ -101,6 +98,7 @@ export const expectError = (e: unknown, message: string) => {
export const mochaHooks = {
beforeAll: async () => {
require("dotenv-mono").load();
signers = await hardhatEthers.getSigners();
implementations = {};
@@ -270,6 +268,7 @@ export const mochaHooks = {
sdk = new ThirdwebSDK(
signer,
{
secretKey: process.env.TW_SECRET_KEY,
gasSettings: {
maxPriceInGwei: 10000,
},
@@ -384,7 +383,6 @@ async function setupMarketplaceV3(): Promise<string> {
}
export {
ipfsGatewayUrl,
sdk,
signers,
jsonProvider,
+3 -1
View File
@@ -34,7 +34,9 @@ describe("Custom Contracts", async () => {
before(async () => {
[adminWallet, samWallet, bobWallet] = signers;
realSDK = new ThirdwebSDK(adminWallet);
realSDK = new ThirdwebSDK(adminWallet, {
secretKey: process.env.TW_SECRET_KEY,
});
simpleContractUri =
"ipfs://QmNPcYsXDAZvQZXCG73WSjdiwffZkNkoJYwrDDtcgM142A/0";
// if we update the test data - await uploadContractMetadata("Greeter", storage);
@@ -12,7 +12,9 @@ describe("Custom Contracts", async () => {
before(async () => {
[adminWallet] = signers;
realSDK = new ThirdwebSDK(adminWallet);
realSDK = new ThirdwebSDK(adminWallet, {
secretKey: process.env.TW_SECRET_KEY,
});
});
beforeEach(async () => {
+3
View File
@@ -13,6 +13,7 @@ describe("Gasless Forwarder", async () => {
const provider = ethers.getDefaultProvider(RPC_URL);
const wallet = Wallet.createRandom().connect(provider);
const sdk = new ThirdwebSDK(wallet, {
secretKey: process.env.TW_SECRET_KEY,
gasless: {
biconomy: {
apiKey: process.env.BICONOMY_API_KEY as string,
@@ -28,6 +29,7 @@ describe("Gasless Forwarder", async () => {
const provider = ethers.getDefaultProvider(RPC_URL);
const wallet = Wallet.createRandom().connect(provider);
const sdk = new ThirdwebSDK(wallet, {
secretKey: process.env.TW_SECRET_KEY,
gasless: {
openzeppelin: {
relayerUrl: "",
@@ -54,6 +56,7 @@ describe("Gasless Forwarder", async () => {
// const wallet = Wallet.createRandom().connect(provider);
const wallet = new Wallet("<PRIVATE KEY>", provider);
const sdk = new ThirdwebSDK(wallet, {
secretKey: process.env.TW_SECRET_KEY,
gasless: {
openzeppelin: {
relayerUrl: "<RELAYER URL>",
+6 -7
View File
@@ -2,7 +2,6 @@ import {
MockUploader,
MockDownloader,
ThirdwebStorage,
IpfsUploadBatchOptions,
FileOrBufferOrString,
} from "@thirdweb-dev/storage";
@@ -12,14 +11,14 @@ export function MockStorage(): ThirdwebStorage {
// Store mapping of URIs to files/objects
const uploader = new MockUploader(storage);
const downloader = new MockDownloader(storage);
return new ThirdwebStorage({ uploader, downloader });
return new ThirdwebStorage({
uploader,
downloader,
secretKey: process.env.TW_SECRET_KEY,
});
}
export async function mockUploadWithCID(
cid: any,
file: FileOrBufferOrString,
options?: IpfsUploadBatchOptions | undefined,
) {
export async function mockUploadWithCID(cid: any, file: FileOrBufferOrString) {
const [cidMain, id] = cid.split("/");
if (id) {
+12 -4
View File
@@ -61,7 +61,9 @@ describe("Publishing", async () => {
before("Upload abis", async () => {
[adminWallet, samWallet, bobWallet] = signers;
sdk = new ThirdwebSDK(adminWallet);
sdk = new ThirdwebSDK(adminWallet, {
secretKey: process.env.TW_SECRET_KEY,
});
simpleContractUri =
"ipfs://QmNPcYsXDAZvQZXCG73WSjdiwffZkNkoJYwrDDtcgM142A/0";
// if we change the test data - await uploadContractMetadata("Greeter", storage);
@@ -255,7 +257,9 @@ describe("Publishing", async () => {
});
it("test factory deploy", async () => {
const realSDK = new ThirdwebSDK(adminWallet);
const realSDK = new ThirdwebSDK(adminWallet, {
secretKey: process.env.TW_SECRET_KEY,
});
const pub = await realSDK.getPublisher();
const tx = await pub.publish(
"ipfs://QmfGqbJKvrVDhw747YPXKf26GiuXXo4GkwUg3FcjgYzx8r",
@@ -295,7 +299,9 @@ describe("Publishing", async () => {
});
it("test proxy deploy", async () => {
const realSDK = new ThirdwebSDK(adminWallet);
const realSDK = new ThirdwebSDK(adminWallet, {
secretKey: process.env.TW_SECRET_KEY,
});
const pub = realSDK.getPublisher();
const tx = await pub.publish(
"ipfs://QmfGqbJKvrVDhw747YPXKf26GiuXXo4GkwUg3FcjgYzx8r",
@@ -331,7 +337,9 @@ describe("Publishing", async () => {
});
it("SimpleAzuki enumerable", async () => {
const realSDK = new ThirdwebSDK(adminWallet);
const realSDK = new ThirdwebSDK(adminWallet, {
secretKey: process.env.TW_SECRET_KEY,
});
const pub = await realSDK.getPublisher();
const ipfsUri = "ipfs://QmTKKUUEU6GnG7VEEAAXpveeirREC1JNYntVJGhHKhqcYZ/0";
const tx = await pub.publish(ipfsUri, {
+42 -15
View File
@@ -28,58 +28,73 @@ describe("SDK Initialization", async () => {
});
it("should be able to be initialized with a chainId", async () => {
const sdk = new ThirdwebSDK(5);
const sdk = new ThirdwebSDK(5, { secretKey: process.env.TW_SECRET_KEY });
const network = await sdk.getProvider().getNetwork();
expect(network.chainId).to.equal(5);
});
it("should be able to be initialized with a chain name", async () => {
const sdk = new ThirdwebSDK("goerli");
const sdk = new ThirdwebSDK("goerli", {
secretKey: process.env.TW_SECRET_KEY,
});
const network = await sdk.getProvider().getNetwork();
expect(network.chainId).to.equal(5);
});
it("should be able to be initialized with a default chain", async () => {
const sdk = new ThirdwebSDK(Goerli);
const sdk = new ThirdwebSDK(Goerli, {
secretKey: process.env.TW_SECRET_KEY,
});
const network = await sdk.getProvider().getNetwork();
expect(network.chainId).to.equal(5);
});
it("should be able to be initialized with a custom chain", async () => {
const sdk = new ThirdwebSDK(Fncy);
const sdk = new ThirdwebSDK(Fncy, { secretKey: process.env.TW_SECRET_KEY });
const network = await sdk.getProvider().getNetwork();
expect(network.chainId).to.equal(Fncy.chainId);
});
it("should be able to be initialized with a signer that has a connected provider", async () => {
const sdk = new ThirdwebSDK(signer);
const sdk = new ThirdwebSDK(signer, {
secretKey: process.env.TW_SECRET_KEY,
});
const network = await sdk.getProvider().getNetwork();
expect(network.chainId).to.equal(31337);
});
it("Should be able to be initialized with just a provider", async () => {
const sdk = new ThirdwebSDK(provider);
const sdk = new ThirdwebSDK(provider, {
secretKey: process.env.TW_SECRET_KEY,
});
const network = await sdk.getProvider().getNetwork();
expect(network.chainId).to.equal(31337);
});
it("Should throw an error if initialized with an empty signer", async () => {
const emptySigner = ethers.Wallet.createRandom();
expect(() => new ThirdwebSDK(emptySigner)).to.throw(
expect(
() =>
new ThirdwebSDK(emptySigner, { secretKey: process.env.TW_SECRET_KEY }),
).to.throw(
"No provider passed to the SDK! Please make sure that your signer is connected to a provider!",
);
});
it("Should be able to be initialized with a private key", async () => {
const privateKey = ethers.Wallet.createRandom().privateKey;
const sdk = ThirdwebSDK.fromPrivateKey(privateKey, "goerli");
const sdk = ThirdwebSDK.fromPrivateKey(privateKey, "goerli", {
secretKey: process.env.TW_SECRET_KEY,
});
const network = await sdk.getProvider().getNetwork();
expect(network.chainId).to.equal(5);
});
it("Should be able to be initialized with a signer", async () => {
const emptySigner = ethers.Wallet.createRandom();
const sdk = ThirdwebSDK.fromSigner(emptySigner, "goerli");
const sdk = ThirdwebSDK.fromSigner(emptySigner, "goerli", {
secretKey: process.env.TW_SECRET_KEY,
});
const network = await sdk.getProvider().getNetwork();
expect(network.chainId).to.equal(5);
});
@@ -87,13 +102,17 @@ describe("SDK Initialization", async () => {
it("Should be able to be initialized with a wallet", async () => {
const emptySigner = ethers.Wallet.createRandom();
const wallet = new EthersWallet(emptySigner);
const sdk = await ThirdwebSDK.fromWallet(wallet, "goerli");
const sdk = await ThirdwebSDK.fromWallet(wallet, "goerli", {
secretKey: process.env.TW_SECRET_KEY,
});
const network = await sdk.getProvider().getNetwork();
expect(network.chainId).to.equal(5);
});
it("Should be able to connect directly via http RPC URL", async () => {
const sdk = new ThirdwebSDK("http://localhost:8545");
const sdk = new ThirdwebSDK("http://localhost:8545", {
secretKey: process.env.TW_SECRET_KEY,
});
const network = await sdk.getProvider().getNetwork();
expect([1337, 31337]).to.include(network.chainId);
});
@@ -104,7 +123,9 @@ describe("SDK Initialization", async () => {
process.exit(0);
});
const sdk = new ThirdwebSDK("ws://localhost:8545");
const sdk = new ThirdwebSDK("ws://localhost:8545", {
secretKey: process.env.TW_SECRET_KEY,
});
const network = await sdk.getProvider().getNetwork();
expect([1337, 31337]).to.include(network.chainId);
});
@@ -112,14 +133,20 @@ describe("SDK Initialization", async () => {
it("Should instantiate SDK storage with custom storage instance", async () => {
const sdk = new ThirdwebSDK(
"goerli",
undefined,
new ThirdwebStorage({ gatewayUrls: ["example.com"] }),
{ secretKey: process.env.TW_SECRET_KEY },
new ThirdwebStorage({
gatewayUrls: ["example.com"],
secretKey: process.env.TW_SECRET_KEY,
}),
);
expect(sdk.storage.getGatewayUrls()["ipfs://"]).to.contain("example.com");
});
it("Should instantiate SDK storage with gatewayUrls", async () => {
const sdk = new ThirdwebSDK("goerli", { gatewayUrls: ["example.com"] });
const sdk = new ThirdwebSDK("goerli", {
secretKey: process.env.TW_SECRET_KEY,
gatewayUrls: ["example.com"],
});
expect(sdk.storage.getGatewayUrls()["ipfs://"]).to.contain("example.com");
});
});
+3 -1
View File
@@ -37,7 +37,9 @@ describe("Tiered Drop Contract", async () => {
before(async () => {
[adminWallet, claimerWallet] = signers;
sdk = new ThirdwebSDK(adminWallet);
sdk = new ThirdwebSDK(adminWallet, {
secretKey: process.env.TW_SECRET_KEY,
});
contract = await deployTieredDrop();
});
+3 -1
View File
@@ -43,7 +43,9 @@ describe("Transactions", async () => {
"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",
adminWallet.provider,
);
const signerSdk = new ThirdwebSDK(wallet);
const signerSdk = new ThirdwebSDK(wallet, {
secretKey: process.env.TW_SECRET_KEY,
});
const address = await signerSdk.deployer.deployNFTCollection({
name: "NFT",
primary_sale_recipient: adminWallet.address,
+5 -1
View File
@@ -10,5 +10,9 @@ export function MockStorage(): ThirdwebStorage {
const uploader = new MockUploader(storage);
const downloader = new MockDownloader(storage);
return new ThirdwebStorage({ uploader, downloader });
return new ThirdwebStorage({
uploader,
downloader,
secretKey: process.env.TW_SECRET_KEY,
});
}
+203 -17
View File
@@ -1,5 +1,9 @@
lockfileVersion: '6.0'
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
overrides:
cross-fetch@>=3.0.0 <3.1.5: '>=3.1.5'
got@<11.8.5: '>=11.8.5'
@@ -156,7 +160,7 @@ importers:
version: link:../eslint-config-thirdweb
eslint-plugin-import:
specifier: ^2.26.0
version: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]3.0)
version: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]5.0)
eslint-plugin-inclusive-language:
specifier: ^2.2.0
version: 2.2.0
@@ -219,7 +223,7 @@ importers:
version: link:../eslint-config-thirdweb
jest:
specifier: ^29.4.3
version: 29.5.0(@types/[email protected])([email protected])
version: 29.5.0(@types/[email protected])
plop:
specifier: ^3.1.2
version: 3.1.2
@@ -600,7 +604,7 @@ importers:
version: 0.0.3([email protected])
eslint-plugin-import:
specifier: ^2.26.0
version: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]3.0)
version: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]5.0)
eslint-plugin-inclusive-language:
specifier: ^2.2.0
version: 2.2.0
@@ -724,7 +728,7 @@ importers:
version: 0.0.3([email protected])
eslint-plugin-import:
specifier: ^2.26.0
version: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]3.0)
version: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]5.0)
eslint-plugin-inclusive-language:
specifier: ^2.2.0
version: 2.2.0
@@ -867,7 +871,7 @@ importers:
version: link:../eslint-config-thirdweb
eslint-plugin-import:
specifier: ^2.26.0
version: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]3.0)
version: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]5.0)
eslint-plugin-inclusive-language:
specifier: ^2.2.0
version: 2.2.0
@@ -882,7 +886,7 @@ importers:
version: 47.0.14(@babel/[email protected])
jest:
specifier: ^29.4.3
version: 29.5.0(@types/[email protected])([email protected])
version: 29.5.0(@types/[email protected])
prettier:
specifier: ^3.0.0
version: 3.0.0
@@ -1080,6 +1084,9 @@ importers:
deep-equal-in-any-order:
specifier: ^1.1.18
version: 1.1.20
dotenv-mono:
specifier: ^1.3.10
version: 1.3.10
eslint:
specifier: ^8.45.0
version: 8.45.0
@@ -1094,7 +1101,7 @@ importers:
version: 0.0.3([email protected])
eslint-plugin-import:
specifier: ^2.26.0
version: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]3.0)
version: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]5.0)
eslint-plugin-inclusive-language:
specifier: ^2.2.0
version: 2.2.0
@@ -1163,7 +1170,7 @@ importers:
version: link:../eslint-config-thirdweb
jest:
specifier: ^29.4.3
version: 29.5.0(@types/node@18.16.18)(ts-node@10.9.1)
version: 29.5.0(@types/node@20.4.1)
prettier:
specifier: ^3.0.0
version: 3.0.0
@@ -4508,6 +4515,7 @@ packages:
dependencies:
eslint: 8.43.0
eslint-visitor-keys: 3.4.1
dev: true
/@eslint-community/[email protected]([email protected]):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
@@ -4537,6 +4545,7 @@ packages:
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
dev: true
/@eslint/[email protected]:
resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==}
@@ -4557,6 +4566,7 @@ packages:
/@eslint/[email protected]:
resolution: {integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@eslint/[email protected]:
resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==}
@@ -11037,6 +11047,7 @@ packages:
typescript: 5.1.6
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/[email protected]([email protected])([email protected]):
resolution: {integrity: sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==}
@@ -15147,14 +15158,31 @@ packages:
is-obj: 2.0.0
dev: false
/[email protected]:
resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==}
engines: {node: '>=12'}
dev: true
/[email protected]:
resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==}
dev: false
/[email protected]:
resolution: {integrity: sha512-xKsO4AdiQsZZWtPQeVYlD1r1oFgWemesbibykeD3I9PAcp6yEhdfIw5rc8uwxQONr1yEAcW+Q0656LpziDzwcg==}
dependencies:
dotenv: 16.3.1
dotenv-expand: 10.0.0
dev: true
/[email protected]:
resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==}
engines: {node: '>=10'}
/[email protected]:
resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==}
engines: {node: '>=12'}
dev: true
/[email protected]:
resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==}
engines: {node: '>=10'}
@@ -15769,7 +15797,7 @@ packages:
eslint: 8.45.0
eslint-import-resolver-node: 0.3.7
eslint-import-resolver-typescript: 3.5.3([email protected])([email protected])
eslint-plugin-import: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]3.0)
eslint-plugin-import: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]5.0)
eslint-plugin-jsx-a11y: 6.7.1([email protected])
eslint-plugin-react: 7.32.2([email protected])
eslint-plugin-react-hooks: 4.6.0([email protected])
@@ -15831,7 +15859,7 @@ packages:
confusing-browser-globals: 1.0.11
eslint: 8.45.0
eslint-plugin-flowtype: 8.0.3(@babel/[email protected])(@babel/[email protected])([email protected])
eslint-plugin-import: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]3.0)
eslint-plugin-import: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]5.0)
eslint-plugin-jest: 25.7.0(@typescript-eslint/[email protected])([email protected])([email protected])([email protected])
eslint-plugin-jsx-a11y: 6.7.1([email protected])
eslint-plugin-react: 7.32.2([email protected])
@@ -15883,6 +15911,7 @@ packages:
synckit: 0.8.5
transitivePeerDependencies:
- supports-color
dev: true
/[email protected]([email protected])([email protected]):
resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==}
@@ -15894,7 +15923,7 @@ packages:
debug: 4.3.4([email protected])
enhanced-resolve: 5.12.0
eslint: 8.45.0
eslint-plugin-import: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]3.0)
eslint-plugin-import: 2.27.5(@typescript-eslint/[email protected])([email protected])([email protected]5.0)
get-tsconfig: 4.4.0
globby: 13.1.3
is-core-module: 2.11.0
@@ -15902,7 +15931,6 @@ packages:
synckit: 0.8.5
transitivePeerDependencies:
- supports-color
dev: false
/[email protected](@typescript-eslint/[email protected])([email protected])([email protected])([email protected]):
resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
@@ -15932,6 +15960,36 @@ packages:
eslint-import-resolver-typescript: 3.5.3([email protected])([email protected])
transitivePeerDependencies:
- supports-color
dev: true
/[email protected](@typescript-eslint/[email protected])([email protected])([email protected])([email protected]):
resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
eslint: '*'
eslint-import-resolver-node: '*'
eslint-import-resolver-typescript: '*'
eslint-import-resolver-webpack: '*'
peerDependenciesMeta:
'@typescript-eslint/parser':
optional: true
eslint:
optional: true
eslint-import-resolver-node:
optional: true
eslint-import-resolver-typescript:
optional: true
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 5.60.1([email protected])([email protected])
debug: 3.2.7
eslint: 8.45.0
eslint-import-resolver-node: 0.3.7
eslint-import-resolver-typescript: 3.5.3([email protected])([email protected])
transitivePeerDependencies:
- supports-color
/[email protected]([email protected]):
resolution: {integrity: sha512-U5OjauLSVcXvlh2La3ptPwIs6JwLPJKP20OQdTDBe2oh0cHvBeEwhQ8mjFrEoCMdQdmMdrSBkSRLG3gLxFjK3A==}
@@ -16011,6 +16069,39 @@ packages:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
dev: true
/[email protected](@typescript-eslint/[email protected])([email protected])([email protected]):
resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
peerDependenciesMeta:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 5.60.1([email protected])([email protected])
array-includes: 3.1.6
array.prototype.flat: 1.3.1
array.prototype.flatmap: 1.3.1
debug: 3.2.7
doctrine: 2.1.0
eslint: 8.45.0
eslint-import-resolver-node: 0.3.7
eslint-module-utils: 2.7.4(@typescript-eslint/[email protected])([email protected])([email protected])([email protected])
has: 1.0.3
is-core-module: 2.11.0
is-glob: 4.0.3
minimatch: 3.1.2
object.values: 1.1.6
resolve: 1.22.1
semver: 7.5.3
tsconfig-paths: 3.14.2
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
/[email protected]:
resolution: {integrity: sha512-RzPeSjuw1NYiTSQyFzYl2uTDgiPQWDUmFCiGAMCITmXN627DsWZ9rR4KNzrb8vnk/gLL5qdYr8oxh44xsrcO5Q==}
@@ -16056,7 +16147,7 @@ packages:
'@typescript-eslint/eslint-plugin': 5.60.1(@typescript-eslint/[email protected])([email protected])([email protected])
'@typescript-eslint/utils': 5.60.1([email protected])([email protected])
eslint: 8.45.0
jest: 29.5.0(@types/[email protected])([email protected])
jest: 29.5.0(@types/[email protected])
transitivePeerDependencies:
- supports-color
- typescript
@@ -16321,6 +16412,7 @@ packages:
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
dev: true
/[email protected]:
resolution: {integrity: sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==}
@@ -16379,6 +16471,7 @@ packages:
acorn: 8.10.0
acorn-jsx: 5.3.2([email protected])
eslint-visitor-keys: 3.4.1
dev: true
/[email protected]:
resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==}
@@ -19216,6 +19309,34 @@ packages:
- utf-8-validate
dev: false
/[email protected](@types/[email protected]):
resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
peerDependenciesMeta:
node-notifier:
optional: true
dependencies:
'@jest/core': 29.5.0([email protected])
'@jest/test-result': 29.5.0
'@jest/types': 29.5.0
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
import-local: 3.1.0
jest-config: 29.5.0(@types/[email protected])([email protected])
jest-util: 29.5.0
jest-validate: 29.5.0
prompts: 2.4.2
yargs: 17.7.2
transitivePeerDependencies:
- '@types/node'
- supports-color
- ts-node
dev: true
/[email protected](@types/[email protected])([email protected]):
resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -19244,6 +19365,34 @@ packages:
- ts-node
dev: true
/[email protected](@types/[email protected]):
resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
peerDependenciesMeta:
node-notifier:
optional: true
dependencies:
'@jest/core': 29.5.0([email protected])
'@jest/test-result': 29.5.0
'@jest/types': 29.5.0
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
import-local: 3.1.0
jest-config: 29.5.0(@types/[email protected])([email protected])
jest-util: 29.5.0
jest-validate: 29.5.0
prompts: 2.4.2
yargs: 17.7.2
transitivePeerDependencies:
- '@types/node'
- supports-color
- ts-node
dev: true
/[email protected]:
resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -20096,6 +20245,26 @@ packages:
- utf-8-validate
dev: false
/[email protected](@types/[email protected]):
resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
peerDependenciesMeta:
node-notifier:
optional: true
dependencies:
'@jest/core': 29.5.0([email protected])
'@jest/types': 29.5.0
import-local: 3.1.0
jest-cli: 29.5.0(@types/[email protected])
transitivePeerDependencies:
- '@types/node'
- supports-color
- ts-node
dev: true
/[email protected](@types/[email protected])([email protected]):
resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -20116,6 +20285,26 @@ packages:
- ts-node
dev: true
/[email protected](@types/[email protected]):
resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
peerDependenciesMeta:
node-notifier:
optional: true
dependencies:
'@jest/core': 29.5.0([email protected])
'@jest/types': 29.5.0
import-local: 3.1.0
jest-cli: 29.5.0(@types/[email protected])
transitivePeerDependencies:
- '@types/node'
- supports-color
- ts-node
dev: true
/[email protected]:
resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==}
@@ -22405,6 +22594,7 @@ packages:
prelude-ls: 1.2.1
type-check: 0.4.0
word-wrap: 1.2.3
dev: true
/[email protected]:
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
@@ -28815,7 +29005,3 @@ packages:
version: 5.4.7
engines: {node: '>=0.11'}
dev: true
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
+2 -1
View File
@@ -77,7 +77,8 @@
"test:evm": {
"outputs": ["coverage/evm/**"],
"inputs": ["src/core/**", "src/evm/**", "test/evm/**"],
"dependsOn": ["build"]
"dependsOn": ["build"],
"env": ["TW_SECRET_KEY"]
},
"e2e": {
"outputs": [],