chore(sdk) use secret key env var in tests (#1406)
This commit is contained in:
@@ -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=""
|
||||
@@ -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
@@ -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 () => {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
@@ -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>",
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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, {
|
||||
|
||||
@@ -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");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
Generated
+203
-17
@@ -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
@@ -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": [],
|
||||
|
||||
Reference in New Issue
Block a user