diff --git a/packages/hardhat/contracts/FunctionsConsumer.sol b/packages/hardhat/contracts/FunctionsConsumer.sol
index 0cfe5b4..882535b 100644
--- a/packages/hardhat/contracts/FunctionsConsumer.sol
+++ b/packages/hardhat/contracts/FunctionsConsumer.sol
@@ -35,10 +35,10 @@ contract FunctionsConsumer is FunctionsClient, ConfirmedOwner {
bytes public s_lastError;
// State variables used as args in the request
- address router; // https://docs.chain.link/chainlink-functions/supported-networks
- uint64 subscriptionId; // functions.chain.link
- uint32 gasLimit;
- bytes32 donID;
+ address public router; // https://docs.chain.link/chainlink-functions/supported-networks
+ uint64 public subscriptionId; // functions.chain.link
+ uint32 public gasLimit;
+ bytes32 public donID;
// State variables to hold function response data
string public weatherResult;
@@ -71,10 +71,14 @@ contract FunctionsConsumer is FunctionsClient, ConfirmedOwner {
* @return requestId The ID of the request
*/
function sendRequest(
- string[] calldata args
- ) external onlyOwner returns (bytes32 requestId) {
+ string[] calldata args,
+ bytes memory encryptedSecretsUrls
+ ) external returns (bytes32 requestId) {
FunctionsRequest.Request memory req;
req.initializeRequestForInlineJavaScript(weatherSource); // Initialize the request with JS code
+ if (encryptedSecretsUrls.length > 0) {
+ req.addSecretsReference(encryptedSecretsUrls);
+ }
if (args.length > 0) req.setArgs(args); // Set the arguments for the request
// Send the request and store the request ID
@@ -84,7 +88,6 @@ contract FunctionsConsumer is FunctionsClient, ConfirmedOwner {
gasLimit,
donID
);
-
return s_lastRequestId;
}
diff --git a/packages/hardhat/deploy/05_FunctionsConsumer.ts b/packages/hardhat/deploy/05_FunctionsConsumer.ts
index 7f6e935..c8763f6 100644
--- a/packages/hardhat/deploy/05_FunctionsConsumer.ts
+++ b/packages/hardhat/deploy/05_FunctionsConsumer.ts
@@ -21,9 +21,6 @@ const functionsConsumer: DeployFunction = async function (hre: HardhatRuntimeEnv
const weatherSourceScriptPath = path.join(__dirname, "../functions-source-scripts/fetch-weather-data.js");
const weatherSourceScript = fs.readFileSync(weatherSourceScriptPath, "utf8");
- console.log("weatherSourceScriptPath", weatherSourceScriptPath);
- console.log("weatherSourceScript", weatherSourceScript);
-
const args = [routerAddress, subscriptionId, gasLimit, donId, weatherSourceScript];
const FunctionsConsumer = await deploy("FunctionsConsumer", {
diff --git a/packages/hardhat/functions-source-scripts/fetch-weather-data.js b/packages/hardhat/functions-source-scripts/fetch-weather-data.js
index dfda3b3..8be4735 100644
--- a/packages/hardhat/functions-source-scripts/fetch-weather-data.js
+++ b/packages/hardhat/functions-source-scripts/fetch-weather-data.js
@@ -8,7 +8,7 @@ if (!secrets.apiKey) {
const zipCode = `${args[0]},${args[1]}`;
-const geoCodingURL = "http://api.openweathermap.org/geo/1.0/zip?";
+const geoCodingURL = "https://api.openweathermap.org/geo/1.0/zip?";
console.log(`Sending HTTP request to ${geoCodingURL}zip=${zipCode}`);
@@ -25,7 +25,7 @@ const geoCodingResponse = await geoCodingRequest;
if (geoCodingResponse.error) {
console.error(geoCodingResponse.error);
- throw Error("Request failed, try checking the params provided");
+ throw Error(zipCode + " is not a valid zip code --" + `${geoCodingURL}zip=${zipCode}`);
}
console.log(geoCodingResponse);
@@ -67,6 +67,8 @@ const result = {
temp: temperature,
};
+console.log("result", result);
+
// Use JSON.stringify() to convert from JSON object to JSON string
// Finally, use the helper Functions.encodeString() to encode from string to bytes
return Functions.encodeString(JSON.stringify(result));
diff --git a/packages/hardhat/helper-hardhat-config.ts b/packages/hardhat/helper-hardhat-config.ts
index 410ed33..89327bd 100644
--- a/packages/hardhat/helper-hardhat-config.ts
+++ b/packages/hardhat/helper-hardhat-config.ts
@@ -19,6 +19,7 @@ interface NetworkConfigEntryTypes {
subscriptionId: string;
gasLimit: string;
donId: string;
+ toolkitDonId: string;
};
tokenAddress: {
LINK: string;
@@ -48,6 +49,7 @@ const networkConfig: { [key: number]: NetworkConfigEntryTypes } = {
subscriptionId: "1464",
gasLimit: "300000",
donId: "0x66756e2d657468657265756d2d7365706f6c69612d3100000000000000000000",
+ toolkitDonId: "fun-ethereum-sepolia-1",
},
tokenAddress: {
LINK: "0x779877A7B0D9E8603169DdbD7836e478b4624789",
diff --git a/packages/hardhat/package.json b/packages/hardhat/package.json
index 244e8cc..5f5687d 100644
--- a/packages/hardhat/package.json
+++ b/packages/hardhat/package.json
@@ -47,6 +47,7 @@
},
"dependencies": {
"@chainlink/contracts": "^0.7.1",
+ "@chainlink/functions-toolkit": "^0.2.8",
"@openzeppelin/contracts": "^4.8.1",
"dotenv": "^16.0.3",
"envfile": "^6.18.0",
diff --git a/packages/hardhat/tasks/index.ts b/packages/hardhat/tasks/index.ts
index 66d13df..77f1ff2 100644
--- a/packages/hardhat/tasks/index.ts
+++ b/packages/hardhat/tasks/index.ts
@@ -1,2 +1,3 @@
export * from "./send-link";
export * from "./get-token-balance";
+export * from "./upload-secret-to-gist";
diff --git a/packages/hardhat/tasks/upload-secret-to-gist.ts b/packages/hardhat/tasks/upload-secret-to-gist.ts
new file mode 100644
index 0000000..96c6a33
--- /dev/null
+++ b/packages/hardhat/tasks/upload-secret-to-gist.ts
@@ -0,0 +1,54 @@
+import * as dotenv from "dotenv";
+dotenv.config();
+// import chalk from "chalk";
+import { task } from "hardhat/config";
+import { SecretsManager, createGist } from "@chainlink/functions-toolkit";
+import { HardhatRuntimeEnvironment } from "hardhat/types";
+import { networkConfig } from "../helper-hardhat-config";
+
+/** Upload a single secret to a github gist
+ * @param key the name for the secret
+ * @param value the value of the secret
+ * @returns the `encryptedSecretsReference` used to make a chainlink functions request
+ */
+
+export async function uploadSecretToGist(hre: HardhatRuntimeEnvironment, key: string, value: string) {
+ if (hre.network.name !== "sepolia") {
+ throw new Error("This script is only configured for sepolia network");
+ }
+
+ const chainId = await hre.ethers.provider.getNetwork().then(network => network.chainId);
+ const { routerAddress, toolkitDonId } = networkConfig[chainId].FunctionsConsumer;
+
+ const [signer] = await hre.ethers.getSigners();
+
+ const secretsManager = new SecretsManager({
+ signer: signer,
+ functionsRouterAddress: routerAddress,
+ donId: toolkitDonId,
+ });
+ await secretsManager.initialize();
+
+ const secretsObject = { [key]: value };
+ // console.log("secretsObject", secretsObject);
+
+ const encryptedSecrets = await secretsManager.encryptSecrets(secretsObject);
+ // console.log("encryptedSecrets", encryptedSecrets);
+
+ if (process.env.GITHUB_ACCESS_TOKEN) {
+ const gistURL = await createGist(process.env.GITHUB_ACCESS_TOKEN, JSON.stringify(encryptedSecrets));
+ console.log("gistURL", gistURL);
+ const encryptedSecretsReference: string = await secretsManager.encryptSecretsUrls([gistURL]);
+ console.log("encryptedSecretsReference:", encryptedSecretsReference);
+ return encryptedSecretsReference;
+ } else {
+ throw new Error("GITHUB_ACCESS_TOKEN not found in .env");
+ }
+}
+
+task("upload-secret-to-gist", "Uploads encrypted secrets to a GitHub gist")
+ .addParam("key", "The name for the secret")
+ .addParam("value", "The value of the secret")
+ .setAction(async (taskArgs, hre) => {
+ await uploadSecretToGist(hre, taskArgs.key, taskArgs.value);
+ });
diff --git a/packages/hardhat/tasks/upload-secrets-to-DON.ts b/packages/hardhat/tasks/upload-secrets-to-don.ts
similarity index 100%
rename from packages/hardhat/tasks/upload-secrets-to-DON.ts
rename to packages/hardhat/tasks/upload-secrets-to-don.ts
diff --git a/packages/nextjs/components/functions/Showcase.tsx b/packages/nextjs/components/functions/Showcase.tsx
index 02cf788..cbddb02 100644
--- a/packages/nextjs/components/functions/Showcase.tsx
+++ b/packages/nextjs/components/functions/Showcase.tsx
@@ -1,34 +1,35 @@
import { ExternalLinkButton } from "~~/components/common";
import { Address } from "~~/components/scaffold-eth";
-import {
- useScaffoldContract, // useScaffoldContractRead, useScaffoldContractWrite
-} from "~~/hooks/scaffold-eth";
+import { useScaffoldContract, useScaffoldContractRead, useScaffoldContractWrite } from "~~/hooks/scaffold-eth";
+
+// https://gist.githubusercontent.com/MattPereira/110db22c9d24cc1b30298f2818e2d6ef/raw
+// below is above URL encrypted with secretsManager.encryptSecretsUrls()
+const encryptedSecretsReference =
+ "0x822432d0a83c5c2308b6fd1a06964bbf027b1aae2beb4997b2d766011d4da126a0e6a5e32d5977862178c975eb35d5473758e4d84f19fc08a88ef8f1166bfda8704c5e35bea4f6ca31078b14eca867accb7418ba049a3c1d6c08819da13a87ead4a860cb0fad5d77658263c791d73641fb76554f370c03286ae1fe11bf6089e2483a25bb30fc7c93db01a5080206042ae5dc64a022f167a455720ac1e2992ec6c7";
export const Showcase = () => {
const { data: functionsConsumerContract } = useScaffoldContract({ contractName: "FunctionsConsumer" });
- // const { writeAsync: fetchWeatherData } = useScaffoldContractWrite({
- // contractName: "FunctionsConsumer",
- // functionName: "sendRequest",
- // args: [["94521", "US"]],
- // });
+ const { writeAsync: sendRequest } = useScaffoldContractWrite({
+ contractName: "FunctionsConsumer",
+ functionName: "sendRequest",
+ args: [["94521", "US", "metric"], encryptedSecretsReference],
+ });
// const { data: weatherResult } = useScaffoldContractRead({
// contractName: "FunctionsConsumer",
// functionName: "weatherResult",
// });
- // const { data: s_lastError } = useScaffoldContractRead({
- // contractName: "FunctionsConsumer",
- // functionName: "s_lastError",
- // });
-
- // const { data: s_lastResponse } = useScaffoldContractRead({
- // contractName: "FunctionsConsumer",
- // functionName: " s_lastResponse",
- // });
+ const { data: s_lastError } = useScaffoldContractRead({
+ contractName: "FunctionsConsumer",
+ functionName: "s_lastError",
+ });
- // console.log(weatherResult);
+ const { data: s_lastResponse } = useScaffoldContractRead({
+ contractName: "FunctionsConsumer",
+ functionName: "s_lastResponse",
+ });
return (
@@ -48,38 +49,46 @@ export const Showcase = () => {
which executes the provided source code in off chain environment and returns the result on chain through the
`fulfillRequest` function
-
-
TODO
-
- - Figure out how to upload encrypted secret to DON
- - Set up vercel serverless function with cron job to upload secret once per day
- - Set up function to return weather data
-
+
+
+
+
TODO
+
+ - Debug to get successful response
+ - Store latest city/country on chain
+ - Display city/country for latest request on chain
+ - Fancy user interface that shows image of sun if hot, clouds if cold, etc...
+
-
On Chain Weather
- {/*
-
-
-
-
{builderCount?.toString()}
-
Builder Count
-
-
-
-
-
-
-
*/}
+
On Chain Weather
+
+
+
{s_lastResponse?.toString()}
+
+
+
{s_lastError?.toString()}
+
{s_lastError && decodeHexError(s_lastError)}
+
);
};
+
+function decodeHexError(hexString: string) {
+ // Remove the '0x' prefix if it exists
+ if (hexString.startsWith("0x")) {
+ hexString = hexString.substring(2);
+ }
+
+ // Convert the hex string to a Buffer
+ const buffer = Buffer.from(hexString, "hex");
+
+ // Convert the Buffer to a string
+ return buffer.toString("utf8");
+}
diff --git a/packages/nextjs/generated/deployedContracts.ts b/packages/nextjs/generated/deployedContracts.ts
index 4801594..8db9689 100644
--- a/packages/nextjs/generated/deployedContracts.ts
+++ b/packages/nextjs/generated/deployedContracts.ts
@@ -604,7 +604,7 @@ const contracts = {
],
},
FunctionsConsumer: {
- address: "0x7855b9755E8A1704cd59288214fd50387e05c50C",
+ address: "0x00B07a4b8155Ab74e45F9BabE01686e2684c3041",
abi: [
{
inputs: [
@@ -642,6 +642,11 @@ const contracts = {
name: "EmptyArgs",
type: "error",
},
+ {
+ inputs: [],
+ name: "EmptySecrets",
+ type: "error",
+ },
{
inputs: [],
name: "EmptySource",
@@ -770,6 +775,32 @@ const contracts = {
stateMutability: "nonpayable",
type: "function",
},
+ {
+ inputs: [],
+ name: "donID",
+ outputs: [
+ {
+ internalType: "bytes32",
+ name: "",
+ type: "bytes32",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "gasLimit",
+ outputs: [
+ {
+ internalType: "uint32",
+ name: "",
+ type: "uint32",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
{
inputs: [
{
@@ -806,6 +837,19 @@ const contracts = {
stateMutability: "view",
type: "function",
},
+ {
+ inputs: [],
+ name: "router",
+ outputs: [
+ {
+ internalType: "address",
+ name: "",
+ type: "address",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
{
inputs: [],
name: "s_lastError",
@@ -852,6 +896,11 @@ const contracts = {
name: "args",
type: "string[]",
},
+ {
+ internalType: "bytes",
+ name: "encryptedSecretsUrls",
+ type: "bytes",
+ },
],
name: "sendRequest",
outputs: [
@@ -864,6 +913,19 @@ const contracts = {
stateMutability: "nonpayable",
type: "function",
},
+ {
+ inputs: [],
+ name: "subscriptionId",
+ outputs: [
+ {
+ internalType: "uint64",
+ name: "",
+ type: "uint64",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
{
inputs: [
{
diff --git a/packages/nextjs/pages/index.tsx b/packages/nextjs/pages/index.tsx
index 8de548c..8f4140d 100644
--- a/packages/nextjs/pages/index.tsx
+++ b/packages/nextjs/pages/index.tsx
@@ -21,12 +21,10 @@ const Home: NextPage = () => {
A beginner's guide to integrating chainlink products with smart contracts
-
-
-
+
{/* */}
-
+
{PRODUCTS.map(product => (
{
))}
+
+
+
+
);
diff --git a/packages/nextjs/styles/globals.css b/packages/nextjs/styles/globals.css
index 52c2e92..0a19051 100644
--- a/packages/nextjs/styles/globals.css
+++ b/packages/nextjs/styles/globals.css
@@ -27,7 +27,7 @@ p {
}
.btn {
- font-weight: normal;
+ /* font-weight: normal; */
text-transform: none;
/* padding: 0.5rem 1.5rem; */
/* font-family: "Cubano", sans-serif; */
@@ -43,8 +43,3 @@ p {
.hide-scrollbar::-webkit-scrollbar {
display: none;
}
-
-/* Hide scrollbar for IE and Edge */
-.hide-scrollbar {
- -ms-overflow-style: none;
-}
diff --git a/yarn.lock b/yarn.lock
index 19b2a2d..f1389a3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -146,6 +146,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/runtime@npm:7.20.13":
+ version: 7.20.13
+ resolution: "@babel/runtime@npm:7.20.13"
+ dependencies:
+ regenerator-runtime: ^0.13.11
+ checksum: 09b7a97a05c80540db6c9e4ddf8c5d2ebb06cae5caf3a87e33c33f27f8c4d49d9c67a2d72f1570e796045288fad569f98a26ceba0c4f5fad2af84b6ad855c4fb
+ languageName: node
+ linkType: hard
+
"@babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.18.9":
version: 7.19.0
resolution: "@babel/runtime@npm:7.19.0"
@@ -235,6 +244,21 @@ __metadata:
languageName: node
linkType: hard
+"@chainlink/functions-toolkit@npm:^0.2.8":
+ version: 0.2.8
+ resolution: "@chainlink/functions-toolkit@npm:0.2.8"
+ dependencies:
+ axios: ^1.4.0
+ bcrypto: ^5.4.0
+ cbor: ^9.0.1
+ eth-crypto: ^2.6.0
+ ethers: ^5.7.2
+ ganache: ^7.9.1
+ uniq: ^1.0.1
+ checksum: a00f5cf9ca2f0dc36a44898bb9d6447d15fb93d3be5868a4bc266a5021f4f5c57ceaf067b441eceecae129844cbd38e58e89de37c154fb33ab753df7b6624544
+ languageName: node
+ linkType: hard
+
"@chainsafe/as-sha256@npm:^0.3.1":
version: 0.3.1
resolution: "@chainsafe/as-sha256@npm:0.3.1"
@@ -416,6 +440,26 @@ __metadata:
languageName: node
linkType: hard
+"@ethereumjs/common@npm:^2.6.4":
+ version: 2.6.5
+ resolution: "@ethereumjs/common@npm:2.6.5"
+ dependencies:
+ crc-32: ^1.2.0
+ ethereumjs-util: ^7.1.5
+ checksum: 0143386f267ef01b7a8bb1847596f964ad58643c084e5fd8e3a0271a7bf8428605dbf38cbb92c84f6622080ad095abeb765f178c02d86ec52abf9e8a4c0e4ecf
+ languageName: node
+ linkType: hard
+
+"@ethereumjs/tx@npm:3.5.2":
+ version: 3.5.2
+ resolution: "@ethereumjs/tx@npm:3.5.2"
+ dependencies:
+ "@ethereumjs/common": ^2.6.4
+ ethereumjs-util: ^7.1.5
+ checksum: a34a7228a623b40300484d15875b9f31f0a612cfeab64a845f6866cf0bfe439519e9455ac6396149f29bc527cf0ee277ace082ae013a1075dcbf7193220a0146
+ languageName: node
+ linkType: hard
+
"@ethersproject/abi@npm:5.7.0, @ethersproject/abi@npm:^5.0.0-beta.146, @ethersproject/abi@npm:^5.0.9, @ethersproject/abi@npm:^5.1.2, @ethersproject/abi@npm:^5.7.0":
version: 5.7.0
resolution: "@ethersproject/abi@npm:5.7.0"
@@ -671,7 +715,7 @@ __metadata:
languageName: node
linkType: hard
-"@ethersproject/providers@npm:^5.7.0, @ethersproject/providers@npm:^5.7.2":
+"@ethersproject/providers@npm:5.7.2, @ethersproject/providers@npm:^5.7.0, @ethersproject/providers@npm:^5.7.2":
version: 5.7.2
resolution: "@ethersproject/providers@npm:5.7.2"
dependencies:
@@ -1897,6 +1941,7 @@ __metadata:
resolution: "@se-2/hardhat@workspace:packages/hardhat"
dependencies:
"@chainlink/contracts": ^0.7.1
+ "@chainlink/functions-toolkit": ^0.2.8
"@ethersproject/abi": ^5.7.0
"@ethersproject/providers": ^5.7.1
"@matterlabs/hardhat-zksync-solc": ^0.3.17
@@ -2362,6 +2407,32 @@ __metadata:
languageName: node
linkType: hard
+"@trufflesuite/bigint-buffer@npm:1.1.10":
+ version: 1.1.10
+ resolution: "@trufflesuite/bigint-buffer@npm:1.1.10"
+ dependencies:
+ node-gyp: latest
+ node-gyp-build: 4.4.0
+ checksum: e1dc5e4fbf348a55e660c0055267021eb04cbbdb7f6b0ee983ad32cd4aae1200be448a2ca3963c7d19c7c936d42f66c1ff8b5e4e2332cb1a9e3f870ff818dce4
+ languageName: node
+ linkType: hard
+
+"@trufflesuite/uws-js-unofficial@npm:20.30.0-unofficial.0":
+ version: 20.30.0-unofficial.0
+ resolution: "@trufflesuite/uws-js-unofficial@npm:20.30.0-unofficial.0"
+ dependencies:
+ bufferutil: 4.0.7
+ utf-8-validate: 6.0.3
+ ws: 8.13.0
+ dependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ checksum: 67e67140877f89b31c504a057d26853d5780b09c733d92c32480d2f0dfe4e98fb822860f3efeb06f379daecee70d67185f88a7b6f3406d18526e501b36c40fd3
+ languageName: node
+ linkType: hard
+
"@ts-morph/common@npm:~0.11.0":
version: 0.11.1
resolution: "@ts-morph/common@npm:0.11.1"
@@ -2435,21 +2506,21 @@ __metadata:
languageName: node
linkType: hard
-"@types/bn.js@npm:^4.11.3":
- version: 4.11.6
- resolution: "@types/bn.js@npm:4.11.6"
+"@types/bn.js@npm:5.1.1, @types/bn.js@npm:^5.1.0":
+ version: 5.1.1
+ resolution: "@types/bn.js@npm:5.1.1"
dependencies:
"@types/node": "*"
- checksum: 7f66f2c7b7b9303b3205a57184261974b114495736b77853af5b18d857c0b33e82ce7146911e86e87a87837de8acae28986716fd381ac7c301fd6e8d8b6c811f
+ checksum: e50ed2dd3abe997e047caf90e0352c71e54fc388679735217978b4ceb7e336e51477791b715f49fd77195ac26dd296c7bad08a3be9750e235f9b2e1edb1b51c2
languageName: node
linkType: hard
-"@types/bn.js@npm:^5.1.0":
- version: 5.1.1
- resolution: "@types/bn.js@npm:5.1.1"
+"@types/bn.js@npm:^4.11.3":
+ version: 4.11.6
+ resolution: "@types/bn.js@npm:4.11.6"
dependencies:
"@types/node": "*"
- checksum: e50ed2dd3abe997e047caf90e0352c71e54fc388679735217978b4ceb7e336e51477791b715f49fd77195ac26dd296c7bad08a3be9750e235f9b2e1edb1b51c2
+ checksum: 7f66f2c7b7b9303b3205a57184261974b114495736b77853af5b18d857c0b33e82ce7146911e86e87a87837de8acae28986716fd381ac7c301fd6e8d8b6c811f
languageName: node
linkType: hard
@@ -2546,7 +2617,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/lru-cache@npm:^5.1.0":
+"@types/lru-cache@npm:5.1.1, @types/lru-cache@npm:^5.1.0":
version: 5.1.1
resolution: "@types/lru-cache@npm:5.1.1"
checksum: e1d6c0085f61b16ec5b3073ec76ad1be4844ea036561c3f145fc19f71f084b58a6eb600b14128aa95809d057d28f1d147c910186ae51219f58366ffd2ff2e118
@@ -2708,6 +2779,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/seedrandom@npm:3.0.1":
+ version: 3.0.1
+ resolution: "@types/seedrandom@npm:3.0.1"
+ checksum: d9755452f224a4f5072a1d8738da6c9de3039fc59a2a449b1f658e51087be7b48ada49bcabc8b0f16633c095f55598c32fcd072c448858422a2f6a0566569e4c
+ languageName: node
+ linkType: hard
+
"@types/semver@npm:^7.3.12":
version: 7.3.13
resolution: "@types/semver@npm:7.3.13"
@@ -3901,7 +3979,7 @@ __metadata:
languageName: node
linkType: hard
-"abstract-level@npm:^1.0.0, abstract-level@npm:^1.0.2, abstract-level@npm:^1.0.3":
+"abstract-level@npm:1.0.3, abstract-level@npm:^1.0.0, abstract-level@npm:^1.0.2, abstract-level@npm:^1.0.3":
version: 1.0.3
resolution: "abstract-level@npm:1.0.3"
dependencies:
@@ -3916,6 +3994,20 @@ __metadata:
languageName: node
linkType: hard
+"abstract-leveldown@npm:7.2.0, abstract-leveldown@npm:^7.2.0":
+ version: 7.2.0
+ resolution: "abstract-leveldown@npm:7.2.0"
+ dependencies:
+ buffer: ^6.0.3
+ catering: ^2.0.0
+ is-buffer: ^2.0.5
+ level-concat-iterator: ^3.0.0
+ level-supports: ^2.0.1
+ queue-microtask: ^1.2.3
+ checksum: d558111f2d123da95ac80b8ba3b9b0a5bc8cd87296e64b05dca693f5f4839aa0e2fc97bad56a101766f499824e2962611750f8a76bbac4a5db35801968fbbe02
+ languageName: node
+ linkType: hard
+
"acorn-jsx@npm:^5.3.2":
version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2"
@@ -3950,6 +4042,15 @@ __metadata:
languageName: node
linkType: hard
+"acorn@npm:7.1.1":
+ version: 7.1.1
+ resolution: "acorn@npm:7.1.1"
+ bin:
+ acorn: bin/acorn
+ checksum: a2b9409086697c03c3a6e7d4fdd898be23fc5abaea1c678693affd04465adb3d8ba4f0c1efc5cc2aad50d8c4d03ab3c72cfbe3784b6f2c61046ebcef1218bfe1
+ languageName: node
+ linkType: hard
+
"acorn@npm:^7.0.0":
version: 7.4.1
resolution: "acorn@npm:7.4.1"
@@ -4395,6 +4496,15 @@ __metadata:
languageName: node
linkType: hard
+"async-eventemitter@npm:0.2.4":
+ version: 0.2.4
+ resolution: "async-eventemitter@npm:0.2.4"
+ dependencies:
+ async: ^2.4.0
+ checksum: b9e77e0f58ebd7188c50c23d613d1263e0ab501f5e677e02b57cc97d7032beaf60aafa189887e7105569c791e212df4af00b608be1e9a4c425911d577124911e
+ languageName: node
+ linkType: hard
+
"async-mutex@npm:^0.2.6":
version: 0.2.6
resolution: "async-mutex@npm:0.2.6"
@@ -4418,6 +4528,15 @@ __metadata:
languageName: node
linkType: hard
+"async@npm:^2.4.0":
+ version: 2.6.4
+ resolution: "async@npm:2.6.4"
+ dependencies:
+ lodash: ^4.17.14
+ checksum: a52083fb32e1ebe1d63e5c5624038bb30be68ff07a6c8d7dfe35e47c93fc144bd8652cbec869e0ac07d57dde387aa5f1386be3559cdee799cb1f789678d88e19
+ languageName: node
+ linkType: hard
+
"asynckit@npm:^0.4.0":
version: 0.4.0
resolution: "asynckit@npm:0.4.0"
@@ -4544,6 +4663,17 @@ __metadata:
languageName: node
linkType: hard
+"bcrypto@npm:^5.4.0":
+ version: 5.5.2
+ resolution: "bcrypto@npm:5.5.2"
+ dependencies:
+ bufio: ~1.0.7
+ loady: ~0.0.5
+ node-gyp: latest
+ checksum: 6eb78e0e6f8b06afb55174407df9b5395451519bab2dcec139fb8dbe3480c4a83be74d15cbe503904d3d98314e384a35cb47fe4a779f4f8188da0e944d188f24
+ languageName: node
+ linkType: hard
+
"bech32@npm:1.1.4":
version: 1.1.4
resolution: "bech32@npm:1.1.4"
@@ -4605,7 +4735,7 @@ __metadata:
languageName: node
linkType: hard
-"bindings@npm:^1.3.0, bindings@npm:^1.4.0":
+"bindings@npm:^1.3.0, bindings@npm:^1.4.0, bindings@npm:^1.5.0":
version: 1.5.0
resolution: "bindings@npm:1.5.0"
dependencies:
@@ -4614,6 +4744,15 @@ __metadata:
languageName: node
linkType: hard
+"bip66@npm:^1.1.5":
+ version: 1.1.5
+ resolution: "bip66@npm:1.1.5"
+ dependencies:
+ safe-buffer: ^5.0.1
+ checksum: 956cff6e51d7206571ef8ce875bc5fa61b5c181589790b9155799b7edcae4b20dbb3eed43b188ff3eec27cdbe98e0b7e0ec9f1cb2e4f5370c119028b248ad859
+ languageName: node
+ linkType: hard
+
"bl@npm:^1.0.0":
version: 1.2.3
resolution: "bl@npm:1.2.3"
@@ -4735,7 +4874,7 @@ __metadata:
languageName: node
linkType: hard
-"browserify-aes@npm:^1.2.0":
+"browserify-aes@npm:^1.0.6, browserify-aes@npm:^1.2.0":
version: 1.2.0
resolution: "browserify-aes@npm:1.2.0"
dependencies:
@@ -4851,6 +4990,26 @@ __metadata:
languageName: node
linkType: hard
+"bufferutil@npm:4.0.5":
+ version: 4.0.5
+ resolution: "bufferutil@npm:4.0.5"
+ dependencies:
+ node-gyp: latest
+ node-gyp-build: ^4.3.0
+ checksum: 37d5bef7cb38d29f9377b8891ff8a57f53ae6057313d77a8aa2a7417df37a72f16987100796cb2f1e1862f3eb80057705f3c052615ec076a0dcc7aa6c83b68c9
+ languageName: node
+ linkType: hard
+
+"bufferutil@npm:4.0.7":
+ version: 4.0.7
+ resolution: "bufferutil@npm:4.0.7"
+ dependencies:
+ node-gyp: latest
+ node-gyp-build: ^4.3.0
+ checksum: f75aa87e3d1b99b87a95f60a855e63f70af07b57fb8443e75a2ddfef2e47788d130fdd46e3a78fd7e0c10176082b26dfbed970c5b8632e1cc299cafa0e93ce45
+ languageName: node
+ linkType: hard
+
"bufferutil@npm:^4.0.1":
version: 4.0.6
resolution: "bufferutil@npm:4.0.6"
@@ -4868,6 +5027,13 @@ __metadata:
languageName: node
linkType: hard
+"bufio@npm:~1.0.7":
+ version: 1.0.7
+ resolution: "bufio@npm:1.0.7"
+ checksum: 4871b8060a8d3bc04de8722f5cc5575b77f4cb18af389eab62d51bf42b08f43fe75159126ef11f15fe4045dc8c20e0e344406ca8388cb1371e558b986e971a57
+ languageName: node
+ linkType: hard
+
"buildcheck@npm:~0.0.6":
version: 0.0.6
resolution: "buildcheck@npm:0.0.6"
@@ -4976,7 +5142,7 @@ __metadata:
languageName: node
linkType: hard
-"catering@npm:^2.1.0, catering@npm:^2.1.1":
+"catering@npm:^2.0.0, catering@npm:^2.1.0, catering@npm:^2.1.1":
version: 2.1.1
resolution: "catering@npm:2.1.1"
checksum: 205daefa69c935b0c19f3d8f2e0a520dd69aebe9bda55902958003f7c9cff8f967dfb90071b421bd6eb618576f657a89d2bc0986872c9bc04bbd66655e9d4bd6
@@ -4993,6 +5159,15 @@ __metadata:
languageName: node
linkType: hard
+"cbor@npm:^9.0.1":
+ version: 9.0.1
+ resolution: "cbor@npm:9.0.1"
+ dependencies:
+ nofilter: ^3.1.0
+ checksum: 42333ac3d42cc3f6fcc7a529e68417a2dd8099eda43ca4be1304cdc5bc7494efe058e2db8a3d3b46ae60d69c7331ea813c22dbd019c4ac592d23e599d72bbcc9
+ languageName: node
+ linkType: hard
+
"chai-as-promised@npm:^7.1.1":
version: 7.1.1
resolution: "chai-as-promised@npm:7.1.1"
@@ -5997,6 +6172,17 @@ __metadata:
languageName: node
linkType: hard
+"drbg.js@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "drbg.js@npm:1.0.1"
+ dependencies:
+ browserify-aes: ^1.0.6
+ create-hash: ^1.1.2
+ create-hmac: ^1.1.4
+ checksum: f8df5cdd4fb792e548d6187cbc446fbd0afd8f1ef7fa486e1c286c2adee55a687183ce48ab178e9f24965c2deabb6e2ba7a7ee2d675264b951356480eb042476
+ languageName: node
+ linkType: hard
+
"duplexify@npm:^4.1.2":
version: 4.1.2
resolution: "duplexify@npm:4.1.2"
@@ -6026,6 +6212,23 @@ __metadata:
languageName: node
linkType: hard
+"eccrypto@npm:1.1.6":
+ version: 1.1.6
+ resolution: "eccrypto@npm:1.1.6"
+ dependencies:
+ acorn: 7.1.1
+ elliptic: 6.5.4
+ es6-promise: 4.2.8
+ nan: 2.14.0
+ node-gyp: latest
+ secp256k1: 3.7.1
+ dependenciesMeta:
+ secp256k1:
+ optional: true
+ checksum: 3c53879928ca8ce0ff2b5edfe8e675aaa22ae41d952bd46d082fad5e6ef5329850d61329d6d70b5ca23bdab3dcce65f86d75d4d847759f1db6ab170b92c8a90f
+ languageName: node
+ linkType: hard
+
"edge-runtime@npm:2.0.0":
version: 2.0.0
resolution: "edge-runtime@npm:2.0.0"
@@ -6052,7 +6255,7 @@ __metadata:
languageName: node
linkType: hard
-"elliptic@npm:6.5.4, elliptic@npm:^6.5.2, elliptic@npm:^6.5.4":
+"elliptic@npm:6.5.4, elliptic@npm:^6.4.1, elliptic@npm:^6.5.2, elliptic@npm:^6.5.4":
version: 6.5.4
resolution: "elliptic@npm:6.5.4"
dependencies:
@@ -6067,6 +6270,13 @@ __metadata:
languageName: node
linkType: hard
+"emittery@npm:0.10.0":
+ version: 0.10.0
+ resolution: "emittery@npm:0.10.0"
+ checksum: 2616a802df51e3f412b9b33f1b43161f7bc96037142cada6ecdbf35ddef1368e30d4f8e47fddc10b0753ccf91d3483b20ebca535b4b1e47526440e13150e2bc7
+ languageName: node
+ linkType: hard
+
"emoji-regex@npm:^7.0.1":
version: 7.0.3
resolution: "emoji-regex@npm:7.0.3"
@@ -6214,7 +6424,7 @@ __metadata:
languageName: node
linkType: hard
-"es6-promise@npm:^4.0.3":
+"es6-promise@npm:4.2.8, es6-promise@npm:^4.0.3":
version: 4.2.8
resolution: "es6-promise@npm:4.2.8"
checksum: 95614a88873611cb9165a85d36afa7268af5c03a378b35ca7bda9508e1d4f1f6f19a788d4bc755b3fd37c8ebba40782018e02034564ff24c9d6fa37e959ad57d
@@ -6895,6 +7105,21 @@ __metadata:
languageName: node
linkType: hard
+"eth-crypto@npm:^2.6.0":
+ version: 2.6.0
+ resolution: "eth-crypto@npm:2.6.0"
+ dependencies:
+ "@babel/runtime": 7.20.13
+ "@ethereumjs/tx": 3.5.2
+ "@types/bn.js": 5.1.1
+ eccrypto: 1.1.6
+ ethereumjs-util: 7.1.5
+ ethers: 5.7.2
+ secp256k1: 5.0.0
+ checksum: 6ebdaacc9f226460ac690b4977569b8a52495237a079aaf8ca1d156f9c1d7046fb724981ab054adb5c790fd2071522d1ff3508a0e91f81a183f77d76eb5c28f1
+ languageName: node
+ linkType: hard
+
"eth-gas-reporter@npm:^0.2.25":
version: 0.2.25
resolution: "eth-gas-reporter@npm:0.2.25"
@@ -7018,6 +7243,19 @@ __metadata:
languageName: node
linkType: hard
+"ethereumjs-util@npm:7.1.5, ethereumjs-util@npm:^7.1.0, ethereumjs-util@npm:^7.1.4, ethereumjs-util@npm:^7.1.5":
+ version: 7.1.5
+ resolution: "ethereumjs-util@npm:7.1.5"
+ dependencies:
+ "@types/bn.js": ^5.1.0
+ bn.js: ^5.1.2
+ create-hash: ^1.1.2
+ ethereum-cryptography: ^0.1.3
+ rlp: ^2.2.4
+ checksum: 27a3c79d6e06b2df34b80d478ce465b371c8458b58f5afc14d91c8564c13363ad336e6e83f57eb0bd719fde94d10ee5697ceef78b5aa932087150c5287b286d1
+ languageName: node
+ linkType: hard
+
"ethereumjs-util@npm:^6.0.0, ethereumjs-util@npm:^6.2.1":
version: 6.2.1
resolution: "ethereumjs-util@npm:6.2.1"
@@ -7033,16 +7271,41 @@ __metadata:
languageName: node
linkType: hard
-"ethereumjs-util@npm:^7.1.0, ethereumjs-util@npm:^7.1.4":
- version: 7.1.5
- resolution: "ethereumjs-util@npm:7.1.5"
+"ethers@npm:5.7.2, ethers@npm:^5.7.2":
+ version: 5.7.2
+ resolution: "ethers@npm:5.7.2"
dependencies:
- "@types/bn.js": ^5.1.0
- bn.js: ^5.1.2
- create-hash: ^1.1.2
- ethereum-cryptography: ^0.1.3
- rlp: ^2.2.4
- checksum: 27a3c79d6e06b2df34b80d478ce465b371c8458b58f5afc14d91c8564c13363ad336e6e83f57eb0bd719fde94d10ee5697ceef78b5aa932087150c5287b286d1
+ "@ethersproject/abi": 5.7.0
+ "@ethersproject/abstract-provider": 5.7.0
+ "@ethersproject/abstract-signer": 5.7.0
+ "@ethersproject/address": 5.7.0
+ "@ethersproject/base64": 5.7.0
+ "@ethersproject/basex": 5.7.0
+ "@ethersproject/bignumber": 5.7.0
+ "@ethersproject/bytes": 5.7.0
+ "@ethersproject/constants": 5.7.0
+ "@ethersproject/contracts": 5.7.0
+ "@ethersproject/hash": 5.7.0
+ "@ethersproject/hdnode": 5.7.0
+ "@ethersproject/json-wallets": 5.7.0
+ "@ethersproject/keccak256": 5.7.0
+ "@ethersproject/logger": 5.7.0
+ "@ethersproject/networks": 5.7.1
+ "@ethersproject/pbkdf2": 5.7.0
+ "@ethersproject/properties": 5.7.0
+ "@ethersproject/providers": 5.7.2
+ "@ethersproject/random": 5.7.0
+ "@ethersproject/rlp": 5.7.0
+ "@ethersproject/sha2": 5.7.0
+ "@ethersproject/signing-key": 5.7.0
+ "@ethersproject/solidity": 5.7.0
+ "@ethersproject/strings": 5.7.0
+ "@ethersproject/transactions": 5.7.0
+ "@ethersproject/units": 5.7.0
+ "@ethersproject/wallet": 5.7.0
+ "@ethersproject/web": 5.7.1
+ "@ethersproject/wordlists": 5.7.0
+ checksum: b7c08cf3e257185a7946117dbbf764433b7ba0e77c27298dec6088b3bc871aff711462b0621930c56880ff0a7ceb8b1d3a361ffa259f93377b48e34107f62553
languageName: node
linkType: hard
@@ -7664,6 +7927,36 @@ __metadata:
languageName: node
linkType: hard
+"ganache@npm:^7.9.1":
+ version: 7.9.1
+ resolution: "ganache@npm:7.9.1"
+ dependencies:
+ "@trufflesuite/bigint-buffer": 1.1.10
+ "@trufflesuite/uws-js-unofficial": 20.30.0-unofficial.0
+ "@types/bn.js": ^5.1.0
+ "@types/lru-cache": 5.1.1
+ "@types/seedrandom": 3.0.1
+ abstract-level: 1.0.3
+ abstract-leveldown: 7.2.0
+ async-eventemitter: 0.2.4
+ bufferutil: 4.0.5
+ emittery: 0.10.0
+ keccak: 3.0.2
+ leveldown: 6.1.0
+ secp256k1: 4.0.3
+ utf-8-validate: 5.0.7
+ dependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ bin:
+ ganache: dist/node/cli.js
+ ganache-cli: dist/node/cli.js
+ checksum: 5807ef87ce7f82122790075001f6621af69e4a6b0a6a52be40b7cfae97a331b2dca7cfa0f6ebe0f3162cf5e88e393cd4dcb3aefeea7e3131285d9689e52e03ab
+ languageName: node
+ linkType: hard
+
"gauge@npm:^3.0.0":
version: 3.0.2
resolution: "gauge@npm:3.0.2"
@@ -9154,7 +9447,7 @@ __metadata:
languageName: node
linkType: hard
-"keccak@npm:^3.0.0, keccak@npm:^3.0.1, keccak@npm:^3.0.2":
+"keccak@npm:3.0.2, keccak@npm:^3.0.0, keccak@npm:^3.0.1, keccak@npm:^3.0.2":
version: 3.0.2
resolution: "keccak@npm:3.0.2"
dependencies:
@@ -9208,6 +9501,22 @@ __metadata:
languageName: node
linkType: hard
+"level-concat-iterator@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "level-concat-iterator@npm:3.1.0"
+ dependencies:
+ catering: ^2.1.0
+ checksum: a15bc4c5fbbb30c1efa7fad06b72feaac84d90990b356b461593c198a833336f31f6daff8f40c3908fabd14cfd8856d1c5ecae9e1cb0575037b65fa607e760e9
+ languageName: node
+ linkType: hard
+
+"level-supports@npm:^2.0.1":
+ version: 2.1.0
+ resolution: "level-supports@npm:2.1.0"
+ checksum: f7b16aea7ddd13326ee4fbc2c1099bcaf8a74dc95346af9ebedea4e02518c6f7a438e829b79b7890d67489b59f615a9428369a0a065021797aa7cb6b6bd84d75
+ languageName: node
+ linkType: hard
+
"level-supports@npm:^4.0.0":
version: 4.0.1
resolution: "level-supports@npm:4.0.1"
@@ -9235,6 +9544,18 @@ __metadata:
languageName: node
linkType: hard
+"leveldown@npm:6.1.0":
+ version: 6.1.0
+ resolution: "leveldown@npm:6.1.0"
+ dependencies:
+ abstract-leveldown: ^7.2.0
+ napi-macros: ~2.0.0
+ node-gyp: latest
+ node-gyp-build: ^4.3.0
+ checksum: e984b61e9fbe057cfd5c81ac0afe5d7e35d695ff130a95991e0ecb66390e4c4ff6aa3980a65b6c53edaba80527a47790bb26e3cfbd52a054957b3546d9941fe4
+ languageName: node
+ linkType: hard
+
"levn@npm:^0.4.1":
version: 0.4.1
resolution: "levn@npm:0.4.1"
@@ -9358,6 +9679,13 @@ __metadata:
languageName: node
linkType: hard
+"loady@npm:~0.0.5":
+ version: 0.0.5
+ resolution: "loady@npm:0.0.5"
+ checksum: 3cba2ffa8cef8a082b3d23f22c1269a339e9f268105c30229bb3fed9123bb79830c0c7f3fa79f52286e1de9303b87e4eb3236952a6ee3fcffa83e7c576f7a8f5
+ languageName: node
+ linkType: hard
+
"locate-path@npm:^2.0.0":
version: 2.0.0
resolution: "locate-path@npm:2.0.0"
@@ -10038,6 +10366,24 @@ __metadata:
languageName: node
linkType: hard
+"nan@npm:2.14.0":
+ version: 2.14.0
+ resolution: "nan@npm:2.14.0"
+ dependencies:
+ node-gyp: latest
+ checksum: 6dfd00d9bf71769898dfab21ef9d2ef278b392c586147616a718b995d6a582f5caa7f2ca0f83ce956fb0def698aca813b2b6fd4598125cd16bdc85924c34a37d
+ languageName: node
+ linkType: hard
+
+"nan@npm:^2.14.0":
+ version: 2.18.0
+ resolution: "nan@npm:2.18.0"
+ dependencies:
+ node-gyp: latest
+ checksum: 4fe42f58456504eab3105c04a5cffb72066b5f22bd45decf33523cb17e7d6abc33cca2a19829407b9000539c5cb25f410312d4dc5b30220167a3594896ea6a0a
+ languageName: node
+ linkType: hard
+
"nan@npm:^2.17.0":
version: 2.17.0
resolution: "nan@npm:2.17.0"
@@ -10193,6 +10539,15 @@ __metadata:
languageName: node
linkType: hard
+"node-addon-api@npm:^5.0.0":
+ version: 5.1.0
+ resolution: "node-addon-api@npm:5.1.0"
+ dependencies:
+ node-gyp: latest
+ checksum: 2508bd2d2981945406243a7bd31362fc7af8b70b8b4d65f869c61731800058fb818cc2fd36c8eac714ddd0e568cc85becf5e165cebbdf7b5024d5151bbc75ea1
+ languageName: node
+ linkType: hard
+
"node-emoji@npm:^1.10.0":
version: 1.11.0
resolution: "node-emoji@npm:1.11.0"
@@ -10254,6 +10609,17 @@ __metadata:
languageName: node
linkType: hard
+"node-gyp-build@npm:4.4.0":
+ version: 4.4.0
+ resolution: "node-gyp-build@npm:4.4.0"
+ bin:
+ node-gyp-build: bin.js
+ node-gyp-build-optional: optional.js
+ node-gyp-build-test: build-test.js
+ checksum: 972a059f960253d254e0b23ce10f54c8982236fc0edcab85166d0b7f87443b2ce98391c877cfb2f6eeafcf03c538c5f4dd3e0bfff03828eb48634f58f4c64343
+ languageName: node
+ linkType: hard
+
"node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.3.0":
version: 4.5.0
resolution: "node-gyp-build@npm:4.5.0"
@@ -10310,6 +10676,13 @@ __metadata:
languageName: node
linkType: hard
+"nofilter@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "nofilter@npm:3.1.0"
+ checksum: 58aa85a5b4b35cbb6e42de8a8591c5e338061edc9f3e7286f2c335e9e9b9b8fa7c335ae45daa8a1f3433164dc0b9a3d187fa96f9516e04a17a1f9ce722becc4f
+ languageName: node
+ linkType: hard
+
"nopt@npm:3.x":
version: 3.0.6
resolution: "nopt@npm:3.0.6"
@@ -11629,6 +12002,13 @@ __metadata:
languageName: node
linkType: hard
+"regenerator-runtime@npm:^0.13.11":
+ version: 0.13.11
+ resolution: "regenerator-runtime@npm:0.13.11"
+ checksum: 27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4
+ languageName: node
+ linkType: hard
+
"regenerator-runtime@npm:^0.13.4":
version: 0.13.9
resolution: "regenerator-runtime@npm:0.13.9"
@@ -12114,7 +12494,24 @@ __metadata:
languageName: unknown
linkType: soft
-"secp256k1@npm:^4.0.1":
+"secp256k1@npm:3.7.1":
+ version: 3.7.1
+ resolution: "secp256k1@npm:3.7.1"
+ dependencies:
+ bindings: ^1.5.0
+ bip66: ^1.1.5
+ bn.js: ^4.11.8
+ create-hash: ^1.2.0
+ drbg.js: ^1.0.1
+ elliptic: ^6.4.1
+ nan: ^2.14.0
+ node-gyp: latest
+ safe-buffer: ^5.1.2
+ checksum: fd3b17157c598296602bbb9d75a42d57a17d38f95035e58b08d3d996e232423a1363449cc4d372cb4219d9df0baefdae8711fa05034e054cf0eb523f2f4f5d05
+ languageName: node
+ linkType: hard
+
+"secp256k1@npm:4.0.3, secp256k1@npm:^4.0.1":
version: 4.0.3
resolution: "secp256k1@npm:4.0.3"
dependencies:
@@ -12126,6 +12523,18 @@ __metadata:
languageName: node
linkType: hard
+"secp256k1@npm:5.0.0":
+ version: 5.0.0
+ resolution: "secp256k1@npm:5.0.0"
+ dependencies:
+ elliptic: ^6.5.4
+ node-addon-api: ^5.0.0
+ node-gyp: latest
+ node-gyp-build: ^4.2.0
+ checksum: a0719dff4687c38d385b5e0b7e811c51a4ea24893128be9d097aee99f879eb0ea52582590deb15a49da627a3db23c6b028ad5c9c6ac1fca92ce760153b8cf21c
+ languageName: node
+ linkType: hard
+
"semver@npm:6.1.1":
version: 6.1.1
resolution: "semver@npm:6.1.1"
@@ -13600,6 +14009,13 @@ __metadata:
languageName: node
linkType: hard
+"uniq@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "uniq@npm:1.0.1"
+ checksum: 8206535f83745ea83f9da7035f3b983fd6ed5e35b8ed7745441944e4065b616bc67cf0d0a23a86b40ee0074426f0607f0a138f9b78e124eb6a7a6a6966055709
+ languageName: node
+ linkType: hard
+
"unique-filename@npm:^2.0.0":
version: 2.0.1
resolution: "unique-filename@npm:2.0.1"
@@ -13731,6 +14147,26 @@ __metadata:
languageName: node
linkType: hard
+"utf-8-validate@npm:5.0.7":
+ version: 5.0.7
+ resolution: "utf-8-validate@npm:5.0.7"
+ dependencies:
+ node-gyp: latest
+ node-gyp-build: ^4.3.0
+ checksum: 588d272b359bf555a0c4c2ffe97286edc73126de132f63f4f0c80110bd06b67d3ce44d2b3d24feea6da13ced50c04d774ba4d25fe28576371cd714cd013bd3b7
+ languageName: node
+ linkType: hard
+
+"utf-8-validate@npm:6.0.3":
+ version: 6.0.3
+ resolution: "utf-8-validate@npm:6.0.3"
+ dependencies:
+ node-gyp: latest
+ node-gyp-build: ^4.3.0
+ checksum: 5e21383c81ff7469c1912119ca69d07202d944c73ddd8a54b84dddcc546b939054e5101c78c294e494d206fe93bd43428adc635a0660816b3ec9c8ec89286ac4
+ languageName: node
+ linkType: hard
+
"utf-8-validate@npm:^5.0.2":
version: 5.0.9
resolution: "utf-8-validate@npm:5.0.9"
@@ -14125,6 +14561,21 @@ __metadata:
languageName: node
linkType: hard
+"ws@npm:8.13.0":
+ version: 8.13.0
+ resolution: "ws@npm:8.13.0"
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ">=5.0.2"
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ checksum: 53e991bbf928faf5dc6efac9b8eb9ab6497c69feeb94f963d648b7a3530a720b19ec2e0ec037344257e05a4f35bd9ad04d9de6f289615ffb133282031b18c61c
+ languageName: node
+ linkType: hard
+
"ws@npm:^7.4.5, ws@npm:^7.4.6, ws@npm:^7.5.1":
version: 7.5.9
resolution: "ws@npm:7.5.9"