feat(cli): create new cli template

This commit is contained in:
cedoor
2022-12-14 17:01:37 +01:00
parent ff8c73b31b
commit 621f3ab4e6
10 changed files with 956 additions and 21 deletions

1
.gitignore vendored
View File

@@ -70,6 +70,7 @@ docs/*
# Hardhat
artifacts
cache
typechain-types
packages/contracts/deployed-contracts/undefined.json
packages/contracts/deployed-contracts/hardhat.json
packages/contracts/deployed-contracts/localhost.json

View File

@@ -0,0 +1,4 @@
ETHEREUM_URL=
ETHEREUM_PRIVATE_KEY=
REPORT_GAS=false
COINMARKETCAP_API_KEY=

View File

@@ -0,0 +1,54 @@
# Semaphore Hardhat template
This project demonstrates a basic Semaphore use case. It comes with a sample contract, a test for that contract and a sample task that deploys that contract.
## Usage
### Compile
```bash
yarn compile
```
### Testing
```bash
yarn test
```
You can also generate a test coverage report:
```bash
yarn test:coverage
```
Or a test gas report:
```bash
yarn test:report-gas
```
### Deploy
1. Copy the `.env.example` file as `.env`.
```bash
cp .env.example .env
```
2. Add your environment variables.
> **Note**
> You should at least set a valid Ethereum URL (e.g. Infura) and a private key with some ethers.
3. And deploy your contract.
```bash
yarn deploy --semaphore <semaphore-address> --group <group-id> --network goerli
```
> **Note**
> Check the Semaphore contract addresses [here](https://semaphore.appliedzkp.org/docs/deployed-contracts#semaphore).
> **Warning**
> The group id is a number!

View File

@@ -0,0 +1,42 @@
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.4;
import "@semaphore-protocol/contracts/interfaces/ISemaphore.sol";
/// @title Greeter contract.
/// @dev The following code is just a example to show how Semaphore can be used.
contract Greeter {
event NewGreeting(bytes32 greeting);
event NewUser(uint256 identityCommitment, bytes32 username);
ISemaphore public semaphore;
uint256 groupId;
mapping(uint256 => bytes32) users;
constructor(address semaphoreAddress, uint256 _groupId) {
semaphore = ISemaphore(semaphoreAddress);
groupId = _groupId;
semaphore.createGroup(groupId, 20, 0, address(this));
}
function joinGroup(uint256 identityCommitment, bytes32 username) external {
semaphore.addMember(groupId, identityCommitment);
users[identityCommitment] = username;
emit NewUser(identityCommitment, username);
}
function greet(
bytes32 greeting,
uint256 merkleTreeRoot,
uint256 nullifierHash,
uint256[8] calldata proof
) external {
semaphore.verifyProof(groupId, merkleTreeRoot, greeting, nullifierHash, groupId, proof);
emit NewGreeting(greeting);
}
}

View File

@@ -0,0 +1,41 @@
import "@nomicfoundation/hardhat-toolbox"
import "@semaphore-protocol/hardhat"
import { config as dotenvConfig } from "dotenv"
import { HardhatUserConfig } from "hardhat/config"
import { NetworksUserConfig } from "hardhat/types"
import "./tasks/deploy"
dotenvConfig()
function getNetworks(): NetworksUserConfig {
if (process.env.ETHEREUM_URL && process.env.ETHEREUM_PRIVATE_KEY) {
const accounts = [`0x${process.env.ETHEREUM_PRIVATE_KEY}`]
return {
goerli: {
url: process.env.ETHEREUM_URL,
chainId: 5,
accounts
}
}
}
return {}
}
const config: HardhatUserConfig = {
solidity: "0.8.4",
networks: {
hardhat: {
chainId: 1337
},
...getNetworks()
},
gasReporter: {
currency: "USD",
enabled: process.env.REPORT_GAS === "true",
coinmarketcap: process.env.COINMARKETCAP_API_KEY
}
}
export default config

View File

@@ -0,0 +1,57 @@
{
"name": "@semaphore-protocol/cli-template-hardhat",
"version": "0.1.0",
"description": "Semaphore Hardhat template.",
"license": "Unlicense",
"files": [
"contracts/",
"tasks/",
"test/",
"hardhat.config.ts",
"tsconfig.json",
"LICENSE",
"README.md"
],
"publishConfig": {
"access": "public"
},
"scripts": {
"start": "hardhat node",
"compile": "hardhat compile",
"deploy": "hardhat deploy",
"test": "hardhat test",
"test:report-gas": "REPORT_GAS=true hardhat test",
"test:coverage": "hardhat coverage"
},
"devDependencies": {
"@ethersproject/abi": "^5.4.7",
"@ethersproject/providers": "^5.4.7",
"@nomicfoundation/hardhat-chai-matchers": "^1.0.0",
"@nomicfoundation/hardhat-network-helpers": "^1.0.0",
"@nomicfoundation/hardhat-toolbox": "^2.0.0",
"@nomiclabs/hardhat-ethers": "^2.0.0",
"@nomiclabs/hardhat-etherscan": "^3.0.0",
"@semaphore-protocol/group": "2.6.1",
"@semaphore-protocol/hardhat": "^0.1.0",
"@semaphore-protocol/identity": "2.6.1",
"@semaphore-protocol/proof": "2.6.1",
"@typechain/ethers-v5": "^10.1.0",
"@typechain/hardhat": "^6.1.2",
"@types/chai": "^4.2.0",
"@types/download": "^8.0.1",
"@types/mocha": "^9.1.0",
"@types/node": ">=12.0.0",
"chai": "^4.2.0",
"download": "^8.0.0",
"ethers": "^5.4.7",
"hardhat": "^2.11.0",
"hardhat-gas-reporter": "^1.0.8",
"solidity-coverage": "^0.8.1",
"ts-node": ">=8.0.0",
"typechain": "^8.1.0",
"typescript": ">=4.5.0"
},
"dependencies": {
"@semaphore-protocol/contracts": "2.6.1"
}
}

View File

@@ -0,0 +1,35 @@
import { task, types } from "hardhat/config"
task("deploy", "Deploy a Greeter contract")
.addOptionalParam("semaphore", "Semaphore contract address", undefined, types.string)
.addOptionalParam("group", "Group id", "42", types.string)
.addOptionalParam("logs", "Print the logs", true, types.boolean)
.setAction(async ({ logs, semaphore: semaphoreAddress, group: groupId }, { ethers, run }) => {
if (!semaphoreAddress) {
const { address: verifierAddress } = await run("deploy:verifier", { logs, merkleTreeDepth: 20 })
const { address } = await run("deploy:semaphore", {
logs,
verifiers: [
{
merkleTreeDepth: 20,
contractAddress: verifierAddress
}
]
})
semaphoreAddress = address
}
const Greeter = await ethers.getContractFactory("Greeter")
const greeter = await Greeter.deploy(semaphoreAddress, groupId)
await greeter.deployed()
if (logs) {
console.info(`Greeter contract has been deployed to: ${greeter.address}`)
}
return greeter
})

View File

@@ -0,0 +1,72 @@
import { Group } from "@semaphore-protocol/group"
import { Identity } from "@semaphore-protocol/identity"
import { generateProof, packToSolidityProof } from "@semaphore-protocol/proof"
import { expect } from "chai"
import download from "download"
import { existsSync } from "fs"
import { ethers, run } from "hardhat"
import { Greeter } from "../typechain-types"
describe("Greeter", function () {
let greeter: Greeter
const snarkArtifactsURL = "https://www.trusted-setup-pse.org/semaphore/20"
const snarkArtifactsPath = "./artifacts/snark"
const users: any[] = []
const groupId = "42"
const group = new Group()
before(async () => {
if (!existsSync(`${snarkArtifactsPath}/semaphore.wasm`)) {
await download(`${snarkArtifactsURL}/semaphore.wasm`, `${snarkArtifactsPath}`)
await download(`${snarkArtifactsURL}/semaphore.zkey`, `${snarkArtifactsPath}`)
}
greeter = await run("deploy", { logs: false, group: groupId })
users.push({
identity: new Identity(),
username: ethers.utils.formatBytes32String("anon1")
})
users.push({
identity: new Identity(),
username: ethers.utils.formatBytes32String("anon2")
})
group.addMember(users[0].identity.generateCommitment())
group.addMember(users[1].identity.generateCommitment())
})
describe("# joinGroup", () => {
it("Should allow users to join the group", async () => {
for (let i = 0; i < group.members.length; i++) {
const transaction = greeter.joinGroup(group.members[i], users[i].username)
await expect(transaction).to.emit(greeter, "NewUser").withArgs(group.members[i], users[i].username)
}
})
})
describe("# greet", () => {
it("Should allow users to greet", async () => {
const greeting = ethers.utils.formatBytes32String("Hello World")
const fullProof = await generateProof(users[1].identity, group, groupId, greeting, {
wasmFilePath: `${snarkArtifactsPath}/semaphore.wasm`,
zkeyFilePath: `${snarkArtifactsPath}/semaphore.zkey`
})
const solidityProof = packToSolidityProof(fullProof.proof)
const transaction = greeter.greet(
greeting,
fullProof.publicSignals.merkleRoot,
fullProof.publicSignals.nullifierHash,
solidityProof
)
await expect(transaction).to.emit(greeter, "NewGreeting").withArgs(greeting)
})
})
})

View File

@@ -0,0 +1,12 @@
{
"compilerOptions": {
"target": "es2020",
"module": "commonjs",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true
},
"include": ["./tasks", "./test", "./typechain-types"],
"files": ["./hardhat.config.ts"]
}

659
yarn.lock
View File

@@ -1714,7 +1714,7 @@ __metadata:
languageName: node
linkType: hard
"@ethersproject/abi@npm:5.7.0, @ethersproject/abi@npm:^5.0.0-beta.146, @ethersproject/abi@npm:^5.1.2, @ethersproject/abi@npm:^5.5.0, @ethersproject/abi@npm:^5.6.3, @ethersproject/abi@npm:^5.7.0":
"@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.4.7, @ethersproject/abi@npm:^5.5.0, @ethersproject/abi@npm:^5.6.3, @ethersproject/abi@npm:^5.7.0":
version: 5.7.0
resolution: "@ethersproject/abi@npm:5.7.0"
dependencies:
@@ -1969,6 +1969,34 @@ __metadata:
languageName: node
linkType: hard
"@ethersproject/providers@npm:5.7.2, @ethersproject/providers@npm:^5.4.7":
version: 5.7.2
resolution: "@ethersproject/providers@npm:5.7.2"
dependencies:
"@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/hash": ^5.7.0
"@ethersproject/logger": ^5.7.0
"@ethersproject/networks": ^5.7.0
"@ethersproject/properties": ^5.7.0
"@ethersproject/random": ^5.7.0
"@ethersproject/rlp": ^5.7.0
"@ethersproject/sha2": ^5.7.0
"@ethersproject/strings": ^5.7.0
"@ethersproject/transactions": ^5.7.0
"@ethersproject/web": ^5.7.0
bech32: 1.1.4
ws: 7.4.6
checksum: 1754c731a5ca6782ae9677f4a9cd8b6246c4ef21a966c9a01b133750f3c578431ec43ec254e699969c4a0f87e84463ded50f96b415600aabd37d2056aee58c19
languageName: node
linkType: hard
"@ethersproject/random@npm:5.7.0, @ethersproject/random@npm:^5.5.1, @ethersproject/random@npm:^5.7.0":
version: 5.7.0
resolution: "@ethersproject/random@npm:5.7.0"
@@ -2675,6 +2703,63 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/hardhat-chai-matchers@npm:^1.0.0":
version: 1.0.5
resolution: "@nomicfoundation/hardhat-chai-matchers@npm:1.0.5"
dependencies:
"@ethersproject/abi": ^5.1.2
"@types/chai-as-promised": ^7.1.3
chai-as-promised: ^7.1.1
chalk: ^2.4.2
deep-eql: ^4.0.1
ordinal: ^1.0.3
peerDependencies:
"@nomiclabs/hardhat-ethers": ^2.0.0
chai: ^4.2.0
ethers: ^5.0.0
hardhat: ^2.9.4
checksum: ad1f34d62be22323a12cd623bbc43c05bcd88cf9f3bc77a4fd449d076a6e890c9abf58c9d75f2254bf2f060e1c8d666c71715cff555c0cb6029d7357a200273d
languageName: node
linkType: hard
"@nomicfoundation/hardhat-network-helpers@npm:^1.0.0":
version: 1.0.7
resolution: "@nomicfoundation/hardhat-network-helpers@npm:1.0.7"
dependencies:
ethereumjs-util: ^7.1.4
peerDependencies:
hardhat: ^2.9.5
checksum: 622338ae1692496aa3fb864c0ca04a58b141bd1410b0b3814085113f863c400167c9d7796a15fa77cb9fe2743daefd6c5d84322f62b6196ec8a9564dafcc0f23
languageName: node
linkType: hard
"@nomicfoundation/hardhat-toolbox@npm:^2.0.0":
version: 2.0.0
resolution: "@nomicfoundation/hardhat-toolbox@npm:2.0.0"
peerDependencies:
"@ethersproject/abi": ^5.4.7
"@ethersproject/providers": ^5.4.7
"@nomicfoundation/hardhat-chai-matchers": ^1.0.0
"@nomicfoundation/hardhat-network-helpers": ^1.0.0
"@nomiclabs/hardhat-ethers": ^2.0.0
"@nomiclabs/hardhat-etherscan": ^3.0.0
"@typechain/ethers-v5": ^10.1.0
"@typechain/hardhat": ^6.1.2
"@types/chai": ^4.2.0
"@types/mocha": ^9.1.0
"@types/node": ">=12.0.0"
chai: ^4.2.0
ethers: ^5.4.7
hardhat: ^2.11.0
hardhat-gas-reporter: ^1.0.8
solidity-coverage: ^0.8.1
ts-node: ">=8.0.0"
typechain: ^8.1.0
typescript: ">=4.5.0"
checksum: 8bd26c509d0058409230f30d0aba1b7cd13f7ef66c3ca267ea5d26fb11feb382ce6aa56a34ea353c56834fbcf76ce5ec1c84e8b8f47ae715acaaf4aa9f1c18bc
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.0.3":
version: 0.0.3
resolution: "@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.0.3"
@@ -2682,6 +2767,13 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.1.0":
version: 0.1.0
resolution: "@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.1.0"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-darwin-x64@npm:0.0.3":
version: 0.0.3
resolution: "@nomicfoundation/solidity-analyzer-darwin-x64@npm:0.0.3"
@@ -2689,6 +2781,13 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-darwin-x64@npm:0.1.0":
version: 0.1.0
resolution: "@nomicfoundation/solidity-analyzer-darwin-x64@npm:0.1.0"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-freebsd-x64@npm:0.0.3":
version: 0.0.3
resolution: "@nomicfoundation/solidity-analyzer-freebsd-x64@npm:0.0.3"
@@ -2696,6 +2795,13 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-freebsd-x64@npm:0.1.0":
version: 0.1.0
resolution: "@nomicfoundation/solidity-analyzer-freebsd-x64@npm:0.1.0"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@npm:0.0.3":
version: 0.0.3
resolution: "@nomicfoundation/solidity-analyzer-linux-arm64-gnu@npm:0.0.3"
@@ -2703,6 +2809,13 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@npm:0.1.0":
version: 0.1.0
resolution: "@nomicfoundation/solidity-analyzer-linux-arm64-gnu@npm:0.1.0"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-linux-arm64-musl@npm:0.0.3":
version: 0.0.3
resolution: "@nomicfoundation/solidity-analyzer-linux-arm64-musl@npm:0.0.3"
@@ -2710,6 +2823,13 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-linux-arm64-musl@npm:0.1.0":
version: 0.1.0
resolution: "@nomicfoundation/solidity-analyzer-linux-arm64-musl@npm:0.1.0"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-linux-x64-gnu@npm:0.0.3":
version: 0.0.3
resolution: "@nomicfoundation/solidity-analyzer-linux-x64-gnu@npm:0.0.3"
@@ -2717,6 +2837,13 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-linux-x64-gnu@npm:0.1.0":
version: 0.1.0
resolution: "@nomicfoundation/solidity-analyzer-linux-x64-gnu@npm:0.1.0"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-linux-x64-musl@npm:0.0.3":
version: 0.0.3
resolution: "@nomicfoundation/solidity-analyzer-linux-x64-musl@npm:0.0.3"
@@ -2724,6 +2851,13 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-linux-x64-musl@npm:0.1.0":
version: 0.1.0
resolution: "@nomicfoundation/solidity-analyzer-linux-x64-musl@npm:0.1.0"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-win32-arm64-msvc@npm:0.0.3":
version: 0.0.3
resolution: "@nomicfoundation/solidity-analyzer-win32-arm64-msvc@npm:0.0.3"
@@ -2731,6 +2865,13 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-win32-arm64-msvc@npm:0.1.0":
version: 0.1.0
resolution: "@nomicfoundation/solidity-analyzer-win32-arm64-msvc@npm:0.1.0"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-win32-ia32-msvc@npm:0.0.3":
version: 0.0.3
resolution: "@nomicfoundation/solidity-analyzer-win32-ia32-msvc@npm:0.0.3"
@@ -2738,6 +2879,13 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-win32-ia32-msvc@npm:0.1.0":
version: 0.1.0
resolution: "@nomicfoundation/solidity-analyzer-win32-ia32-msvc@npm:0.1.0"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-win32-x64-msvc@npm:0.0.3":
version: 0.0.3
resolution: "@nomicfoundation/solidity-analyzer-win32-x64-msvc@npm:0.0.3"
@@ -2745,6 +2893,13 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer-win32-x64-msvc@npm:0.1.0":
version: 0.1.0
resolution: "@nomicfoundation/solidity-analyzer-win32-x64-msvc@npm:0.1.0"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer@npm:^0.0.3":
version: 0.0.3
resolution: "@nomicfoundation/solidity-analyzer@npm:0.0.3"
@@ -2784,6 +2939,55 @@ __metadata:
languageName: node
linkType: hard
"@nomicfoundation/solidity-analyzer@npm:^0.1.0":
version: 0.1.0
resolution: "@nomicfoundation/solidity-analyzer@npm:0.1.0"
dependencies:
"@nomicfoundation/solidity-analyzer-darwin-arm64": 0.1.0
"@nomicfoundation/solidity-analyzer-darwin-x64": 0.1.0
"@nomicfoundation/solidity-analyzer-freebsd-x64": 0.1.0
"@nomicfoundation/solidity-analyzer-linux-arm64-gnu": 0.1.0
"@nomicfoundation/solidity-analyzer-linux-arm64-musl": 0.1.0
"@nomicfoundation/solidity-analyzer-linux-x64-gnu": 0.1.0
"@nomicfoundation/solidity-analyzer-linux-x64-musl": 0.1.0
"@nomicfoundation/solidity-analyzer-win32-arm64-msvc": 0.1.0
"@nomicfoundation/solidity-analyzer-win32-ia32-msvc": 0.1.0
"@nomicfoundation/solidity-analyzer-win32-x64-msvc": 0.1.0
dependenciesMeta:
"@nomicfoundation/solidity-analyzer-darwin-arm64":
optional: true
"@nomicfoundation/solidity-analyzer-darwin-x64":
optional: true
"@nomicfoundation/solidity-analyzer-freebsd-x64":
optional: true
"@nomicfoundation/solidity-analyzer-linux-arm64-gnu":
optional: true
"@nomicfoundation/solidity-analyzer-linux-arm64-musl":
optional: true
"@nomicfoundation/solidity-analyzer-linux-x64-gnu":
optional: true
"@nomicfoundation/solidity-analyzer-linux-x64-musl":
optional: true
"@nomicfoundation/solidity-analyzer-win32-arm64-msvc":
optional: true
"@nomicfoundation/solidity-analyzer-win32-ia32-msvc":
optional: true
"@nomicfoundation/solidity-analyzer-win32-x64-msvc":
optional: true
checksum: 42dc5ba40e76bf14945fb6a423554bbbc6c99596675065d7d6f3c9a49ec39e37f3f77ecfedcf906fdb1bb33b033a5d92a90c645c886d6ff23334c8af8b14ff67
languageName: node
linkType: hard
"@nomiclabs/hardhat-ethers@npm:^2.0.0":
version: 2.2.1
resolution: "@nomiclabs/hardhat-ethers@npm:2.2.1"
peerDependencies:
ethers: ^5.0.0
hardhat: ^2.0.0
checksum: 8cdbf7068f15ee993142ab600074938d05b42af73392a5b12c8eb607a5bca2fac977a6a85955e0b0285541415ad520626e7fb3d33ca7cc112d61ee928358e2f6
languageName: node
linkType: hard
"@nomiclabs/hardhat-ethers@npm:^2.0.6, @nomiclabs/hardhat-ethers@npm:^2.1.1":
version: 2.1.1
resolution: "@nomiclabs/hardhat-ethers@npm:2.1.1"
@@ -2794,6 +2998,26 @@ __metadata:
languageName: node
linkType: hard
"@nomiclabs/hardhat-etherscan@npm:^3.0.0":
version: 3.1.3
resolution: "@nomiclabs/hardhat-etherscan@npm:3.1.3"
dependencies:
"@ethersproject/abi": ^5.1.2
"@ethersproject/address": ^5.0.2
cbor: ^8.1.0
chalk: ^2.4.2
debug: ^4.1.1
fs-extra: ^7.0.1
lodash: ^4.17.11
semver: ^6.3.0
table: ^6.8.0
undici: ^5.4.0
peerDependencies:
hardhat: ^2.0.4
checksum: a9e7bff84ed473b7c2650b93ed2d3ed797ff2898051b8738d378ff410c27a81f6b21762bfe60e9509ec680f1d601684fef23a493f18bdad2b4f9a5538d0d5aec
languageName: node
linkType: hard
"@nomiclabs/hardhat-etherscan@npm:^3.1.0":
version: 3.1.0
resolution: "@nomiclabs/hardhat-etherscan@npm:3.1.0"
@@ -3006,15 +3230,51 @@ __metadata:
languageName: node
linkType: hard
"@semaphore-protocol/cli-template-hardhat@workspace:packages/cli-template-hardhat":
version: 0.0.0-use.local
resolution: "@semaphore-protocol/cli-template-hardhat@workspace:packages/cli-template-hardhat"
dependencies:
"@ethersproject/abi": ^5.4.7
"@ethersproject/providers": ^5.4.7
"@nomicfoundation/hardhat-chai-matchers": ^1.0.0
"@nomicfoundation/hardhat-network-helpers": ^1.0.0
"@nomicfoundation/hardhat-toolbox": ^2.0.0
"@nomiclabs/hardhat-ethers": ^2.0.0
"@nomiclabs/hardhat-etherscan": ^3.0.0
"@semaphore-protocol/contracts": 2.6.1
"@semaphore-protocol/group": 2.6.1
"@semaphore-protocol/hardhat": ^0.1.0
"@semaphore-protocol/identity": 2.6.1
"@semaphore-protocol/proof": 2.6.1
"@typechain/ethers-v5": ^10.1.0
"@typechain/hardhat": ^6.1.2
"@types/chai": ^4.2.0
"@types/download": ^8.0.1
"@types/mocha": ^9.1.0
"@types/node": ">=12.0.0"
chai: ^4.2.0
download: ^8.0.0
ethers: ^5.4.7
hardhat: ^2.11.0
hardhat-gas-reporter: ^1.0.8
solidity-coverage: ^0.8.1
ts-node: ">=8.0.0"
typechain: ^8.1.0
typescript: ">=4.5.0"
languageName: unknown
linkType: soft
"@semaphore-protocol/cli@workspace:packages/cli":
version: 0.0.0-use.local
resolution: "@semaphore-protocol/cli@workspace:packages/cli"
dependencies:
"@semaphore-protocol/subgraph": 2.6.1
"@types/clear": ^0.1.2
"@types/figlet": ^1.5.5
chalk: ^5.1.2
commander: ^9.4.1
figlet: ^1.5.2
log-symbols: ^5.1.0
ora: ^6.1.2
rollup-plugin-cleanup: ^3.2.1
rollup-plugin-typescript2: ^0.31.2
@@ -3025,6 +3285,16 @@ __metadata:
languageName: unknown
linkType: soft
"@semaphore-protocol/contracts@npm:2.6.1":
version: 2.6.1
resolution: "@semaphore-protocol/contracts@npm:2.6.1"
dependencies:
"@openzeppelin/contracts": 4.7.3
"@zk-kit/incremental-merkle-tree.sol": 1.3.1
checksum: c66ba23743ce76dd8006f026983bc4883fe167fd2a2f9fe389f652257e2e28fec0e8ec90709f874283da80275f9562510caa41cd43268c87e521adf7ce299e24
languageName: node
linkType: hard
"@semaphore-protocol/contracts@npm:^2.5.0":
version: 2.5.0
resolution: "@semaphore-protocol/contracts@npm:2.5.0"
@@ -3035,7 +3305,7 @@ __metadata:
languageName: node
linkType: hard
"@semaphore-protocol/group@workspace:packages/group":
"@semaphore-protocol/group@2.6.1, @semaphore-protocol/group@workspace:packages/group":
version: 0.0.0-use.local
resolution: "@semaphore-protocol/group@workspace:packages/group"
dependencies:
@@ -3047,7 +3317,7 @@ __metadata:
languageName: unknown
linkType: soft
"@semaphore-protocol/hardhat@workspace:packages/hardhat":
"@semaphore-protocol/hardhat@^0.1.0, @semaphore-protocol/hardhat@workspace:packages/hardhat":
version: 0.0.0-use.local
resolution: "@semaphore-protocol/hardhat@workspace:packages/hardhat"
dependencies:
@@ -3064,7 +3334,7 @@ __metadata:
languageName: unknown
linkType: soft
"@semaphore-protocol/identity@workspace:packages/identity":
"@semaphore-protocol/identity@2.6.1, @semaphore-protocol/identity@workspace:packages/identity":
version: 0.0.0-use.local
resolution: "@semaphore-protocol/identity@workspace:packages/identity"
dependencies:
@@ -3079,7 +3349,7 @@ __metadata:
languageName: unknown
linkType: soft
"@semaphore-protocol/proof@workspace:packages/proof":
"@semaphore-protocol/proof@2.6.1, @semaphore-protocol/proof@workspace:packages/proof":
version: 0.0.0-use.local
resolution: "@semaphore-protocol/proof@workspace:packages/proof"
dependencies:
@@ -3358,6 +3628,23 @@ __metadata:
languageName: node
linkType: hard
"@typechain/ethers-v5@npm:^10.1.0":
version: 10.2.0
resolution: "@typechain/ethers-v5@npm:10.2.0"
dependencies:
lodash: ^4.17.15
ts-essentials: ^7.0.1
peerDependencies:
"@ethersproject/abi": ^5.0.0
"@ethersproject/bytes": ^5.0.0
"@ethersproject/providers": ^5.0.0
ethers: ^5.1.3
typechain: ^8.1.1
typescript: ">=4.3.0"
checksum: 22f7109f22a6e2b459c45aaf5424143b6129455659aa132ab447ed14d24bb68a6b3b4021008244faca743d469208037a7766d3d9c3ab49db42d36f4e382887c4
languageName: node
linkType: hard
"@typechain/ethers-v5@npm:^2.0.0":
version: 2.0.0
resolution: "@typechain/ethers-v5@npm:2.0.0"
@@ -3386,6 +3673,22 @@ __metadata:
languageName: node
linkType: hard
"@typechain/hardhat@npm:^6.1.2":
version: 6.1.5
resolution: "@typechain/hardhat@npm:6.1.5"
dependencies:
fs-extra: ^9.1.0
peerDependencies:
"@ethersproject/abi": ^5.4.7
"@ethersproject/providers": ^5.4.7
"@typechain/ethers-v5": ^10.2.0
ethers: ^5.4.7
hardhat: ^2.9.9
typechain: ^8.1.1
checksum: ccb4df6eae69d6560125d6eb014989d0097213818d0fdf91a077bacee746f39356de6d11b3f582d55df7d6924bcfffc31e412502bbbe3a5be8e3310197ce4f61
languageName: node
linkType: hard
"@types/async-eventemitter@npm:^0.2.1":
version: 0.2.1
resolution: "@types/async-eventemitter@npm:0.2.1"
@@ -3464,6 +3767,15 @@ __metadata:
languageName: node
linkType: hard
"@types/chai-as-promised@npm:^7.1.3":
version: 7.1.5
resolution: "@types/chai-as-promised@npm:7.1.5"
dependencies:
"@types/chai": "*"
checksum: 7c1345c6e32513d52d8e562ec173c23161648d6b792046525f18803a9932d7b3ad3dca8f0181e3c529ec42b106099f174e34edeb184d61dc93e32c98b5132fd4
languageName: node
linkType: hard
"@types/chai@npm:*, @types/chai@npm:^4.3.0":
version: 4.3.3
resolution: "@types/chai@npm:4.3.3"
@@ -3471,6 +3783,20 @@ __metadata:
languageName: node
linkType: hard
"@types/chai@npm:^4.2.0":
version: 4.3.4
resolution: "@types/chai@npm:4.3.4"
checksum: 571184967beb03bf64c4392a13a7d44e72da9af5a1e83077ff81c39cf59c0fda2a5c78d2005084601cf8f3d11726608574d8b5b4a0e3e9736792807afd926cd0
languageName: node
linkType: hard
"@types/clear@npm:^0.1.2":
version: 0.1.2
resolution: "@types/clear@npm:0.1.2"
checksum: 12d7d3fce357315645fd7fa750ae84a491b214ebdaf6f02bffc861608ed419642d9284dcac428dbf639f439f1e55ceb58447acccbbf5a273eee2a74073a36037
languageName: node
linkType: hard
"@types/concat-stream@npm:^1.6.0":
version: 1.6.1
resolution: "@types/concat-stream@npm:1.6.1"
@@ -3687,6 +4013,13 @@ __metadata:
languageName: node
linkType: hard
"@types/node@npm:>=12.0.0":
version: 18.11.15
resolution: "@types/node@npm:18.11.15"
checksum: cae8692a5cee0316f93ee0342237eb921f70c51afb37c661c711a925a4642654ae7e404c5a80899d481c0cfaff3a6891ef04bacd330a2e72734192bfc91dc2d8
languageName: node
linkType: hard
"@types/node@npm:^10.0.3":
version: 10.17.60
resolution: "@types/node@npm:10.17.60"
@@ -6335,6 +6668,41 @@ __metadata:
languageName: node
linkType: hard
"cbor@npm:^8.1.0":
version: 8.1.0
resolution: "cbor@npm:8.1.0"
dependencies:
nofilter: ^3.1.0
checksum: a90338435dc7b45cc01461af979e3bb6ddd4f2a08584c437586039cd5f2235014c06e49d664295debbfb3514d87b2f06728092ab6aa6175e2e85e9cd7dc0c1fd
languageName: node
linkType: hard
"chai-as-promised@npm:^7.1.1":
version: 7.1.1
resolution: "chai-as-promised@npm:7.1.1"
dependencies:
check-error: ^1.0.2
peerDependencies:
chai: ">= 2.1.2 < 5"
checksum: 7262868a5b51a12af4e432838ddf97a893109266a505808e1868ba63a12de7ee1166e9d43b5c501a190c377c1b11ecb9ff8e093c89f097ad96c397e8ec0f8d6a
languageName: node
linkType: hard
"chai@npm:^4.2.0":
version: 4.3.7
resolution: "chai@npm:4.3.7"
dependencies:
assertion-error: ^1.1.0
check-error: ^1.0.2
deep-eql: ^4.1.2
get-func-name: ^2.0.0
loupe: ^2.3.1
pathval: ^1.1.1
type-detect: ^4.0.5
checksum: 0bba7d267848015246a66995f044ce3f0ebc35e530da3cbdf171db744e14cbe301ab913a8d07caf7952b430257ccbb1a4a983c570a7c5748dc537897e5131f7c
languageName: node
linkType: hard
"chai@npm:^4.3.5":
version: 4.3.6
resolution: "chai@npm:4.3.6"
@@ -7647,6 +8015,15 @@ __metadata:
languageName: node
linkType: hard
"deep-eql@npm:^4.0.1, deep-eql@npm:^4.1.2":
version: 4.1.3
resolution: "deep-eql@npm:4.1.3"
dependencies:
type-detect: ^4.0.0
checksum: 7f6d30cb41c713973dc07eaadded848b2ab0b835e518a88b91bea72f34e08c4c71d167a722a6f302d3a6108f05afd8e6d7650689a84d5d29ec7fe6220420397f
languageName: node
linkType: hard
"deep-equal@npm:~1.1.1":
version: 1.1.1
resolution: "deep-equal@npm:1.1.1"
@@ -7896,6 +8273,15 @@ __metadata:
languageName: node
linkType: hard
"difflib@npm:^0.2.4":
version: 0.2.4
resolution: "difflib@npm:0.2.4"
dependencies:
heap: ">= 0.2.0"
checksum: 4f4237b026263ce7471b77d9019b901c2f358a7da89401a80a84a8c3cdc1643a8e70b7495ccbe686cb4d95492eaf5dac119cd9ecbffe5f06bfc175fbe5c20a27
languageName: node
linkType: hard
"dir-glob@npm:^3.0.1":
version: 3.0.1
resolution: "dir-glob@npm:3.0.1"
@@ -8973,7 +9359,7 @@ __metadata:
dependencies:
bn.js: ^4.11.8
ethereumjs-util: ^6.0.0
checksum: ae074be0bb012857ab5d3ae644d1163b908a48dd724b7d2567cfde309dc72222d460438f2411936a70dc949dc604ce1ef7118f7273bd525815579143c907e336
checksum: 03127d09960e5f8a44167463faf25b2894db2f746376dbb8195b789ed11762f93db9c574eaa7c498c400063508e9dfc1c80de2edf5f0e1406b25c87d860ff2f1
languageName: node
linkType: hard
@@ -9140,7 +9526,7 @@ __metadata:
languageName: node
linkType: hard
"ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.0.2, ethereumjs-util@npm:^7.1.0, ethereumjs-util@npm:^7.1.5":
"ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.0.2, 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:
@@ -9267,6 +9653,44 @@ __metadata:
languageName: node
linkType: hard
"ethers@npm:^5.4.7":
version: 5.7.2
resolution: "ethers@npm:5.7.2"
dependencies:
"@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
"ethjs-unit@npm:0.1.6":
version: 0.1.6
resolution: "ethjs-unit@npm:0.1.6"
@@ -10928,6 +11352,74 @@ __metadata:
languageName: node
linkType: hard
"hardhat@npm:^2.11.0":
version: 2.12.4
resolution: "hardhat@npm:2.12.4"
dependencies:
"@ethersproject/abi": ^5.1.2
"@metamask/eth-sig-util": ^4.0.0
"@nomicfoundation/ethereumjs-block": ^4.0.0
"@nomicfoundation/ethereumjs-blockchain": ^6.0.0
"@nomicfoundation/ethereumjs-common": ^3.0.0
"@nomicfoundation/ethereumjs-evm": ^1.0.0
"@nomicfoundation/ethereumjs-rlp": ^4.0.0
"@nomicfoundation/ethereumjs-statemanager": ^1.0.0
"@nomicfoundation/ethereumjs-trie": ^5.0.0
"@nomicfoundation/ethereumjs-tx": ^4.0.0
"@nomicfoundation/ethereumjs-util": ^8.0.0
"@nomicfoundation/ethereumjs-vm": ^6.0.0
"@nomicfoundation/solidity-analyzer": ^0.1.0
"@sentry/node": ^5.18.1
"@types/bn.js": ^5.1.0
"@types/lru-cache": ^5.1.0
abort-controller: ^3.0.0
adm-zip: ^0.4.16
aggregate-error: ^3.0.0
ansi-escapes: ^4.3.0
chalk: ^2.4.2
chokidar: ^3.4.0
ci-info: ^2.0.0
debug: ^4.1.1
enquirer: ^2.3.0
env-paths: ^2.2.0
ethereum-cryptography: ^1.0.3
ethereumjs-abi: ^0.6.8
find-up: ^2.1.0
fp-ts: 1.19.3
fs-extra: ^7.0.1
glob: 7.2.0
immutable: ^4.0.0-rc.12
io-ts: 1.10.4
keccak: ^3.0.2
lodash: ^4.17.11
mnemonist: ^0.38.0
mocha: ^10.0.0
p-map: ^4.0.0
qs: ^6.7.0
raw-body: ^2.4.1
resolve: 1.17.0
semver: ^6.3.0
solc: 0.7.3
source-map-support: ^0.5.13
stacktrace-parser: ^0.1.10
tsort: 0.0.1
undici: ^5.4.0
uuid: ^8.3.2
ws: ^7.4.6
peerDependencies:
ts-node: "*"
typescript: "*"
peerDependenciesMeta:
ts-node:
optional: true
typescript:
optional: true
bin:
hardhat: internal/cli/cli.js
checksum: 391ee2c62220957c6c9fcae62f94cf7943e429ec18aaac1ae00faf634cd4a29e0728efef6ddefa071c12a67befdd010bfba79d324a6ef067e77c0b5515aab768
languageName: node
linkType: hard
"has-ansi@npm:^2.0.0":
version: 2.0.0
resolution: "has-ansi@npm:2.0.0"
@@ -11108,6 +11600,13 @@ __metadata:
languageName: node
linkType: hard
"heap@npm:>= 0.2.0":
version: 0.2.7
resolution: "heap@npm:0.2.7"
checksum: b0f3963a799e02173f994c452921a777f2b895b710119df999736bfed7477235c2860c423d9aea18a9f3b3d065cb1114d605c208cfcb8d0ac550f97ec5d28cb0
languageName: node
linkType: hard
"hmac-drbg@npm:^1.0.1":
version: 1.0.1
resolution: "hmac-drbg@npm:1.0.1"
@@ -14374,6 +14873,41 @@ __metadata:
languageName: node
linkType: hard
"mocha@npm:7.1.2":
version: 7.1.2
resolution: "mocha@npm:7.1.2"
dependencies:
ansi-colors: 3.2.3
browser-stdout: 1.3.1
chokidar: 3.3.0
debug: 3.2.6
diff: 3.5.0
escape-string-regexp: 1.0.5
find-up: 3.0.0
glob: 7.1.3
growl: 1.10.5
he: 1.2.0
js-yaml: 3.13.1
log-symbols: 3.0.0
minimatch: 3.0.4
mkdirp: 0.5.5
ms: 2.1.1
node-environment-flags: 1.0.6
object.assign: 4.1.0
strip-json-comments: 2.0.1
supports-color: 6.0.0
which: 1.3.1
wide-align: 1.1.3
yargs: 13.3.2
yargs-parser: 13.1.2
yargs-unparser: 1.6.0
bin:
_mocha: bin/_mocha
mocha: bin/mocha
checksum: 0fc9ad0dd79e43a34de03441634f58e8a3d211af4cdbcd56de150ec99f7aff3b8678bd5aeb41f82115f7df4199a24f7bb372f65e5bcba133b41a5310dee908bd
languageName: node
linkType: hard
"mocha@npm:^10.0.0":
version: 10.0.0
resolution: "mocha@npm:10.0.0"
@@ -14745,6 +15279,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"
@@ -15133,6 +15674,13 @@ __metadata:
languageName: node
linkType: hard
"ordinal@npm:^1.0.3":
version: 1.0.3
resolution: "ordinal@npm:1.0.3"
checksum: 6761c5b7606b6c4b0c22b4097dab4fe7ffcddacc49238eedf9c0ced877f5d4e4ad3f4fd43fefa1cc3f167cc54c7149267441b2ae85b81ccf13f45cf4b7947164
languageName: node
linkType: hard
"os-homedir@npm:^1.0.0":
version: 1.0.2
resolution: "os-homedir@npm:1.0.2"
@@ -17661,6 +18209,38 @@ __metadata:
languageName: node
linkType: hard
"solidity-coverage@npm:^0.8.1":
version: 0.8.2
resolution: "solidity-coverage@npm:0.8.2"
dependencies:
"@ethersproject/abi": ^5.0.9
"@solidity-parser/parser": ^0.14.1
chalk: ^2.4.2
death: ^1.1.0
detect-port: ^1.3.0
difflib: ^0.2.4
fs-extra: ^8.1.0
ghost-testrpc: ^0.0.2
global-modules: ^2.0.0
globby: ^10.0.1
jsonschema: ^1.2.4
lodash: ^4.17.15
mocha: 7.1.2
node-emoji: ^1.10.0
pify: ^4.0.1
recursive-readdir: ^2.2.2
sc-istanbul: ^0.4.5
semver: ^7.3.4
shelljs: ^0.8.3
web3-utils: ^1.3.6
peerDependencies:
hardhat: ^2.11.0
bin:
solidity-coverage: plugins/bin.js
checksum: 489f73d56a1279f2394b7a14db315532884895baa00a4016e68a4e5be0eddca90a95cb3322e6a0b15e67f2d9003b9413ee24c1c61d78f558f5a2e1e233840825
languageName: node
linkType: hard
"sort-keys-length@npm:^1.0.0":
version: 1.0.1
resolution: "sort-keys-length@npm:1.0.1"
@@ -18762,7 +19342,7 @@ __metadata:
languageName: node
linkType: hard
"ts-node@npm:^10.4.0, ts-node@npm:^10.8.1, ts-node@npm:^10.9.1":
"ts-node@npm:>=8.0.0, ts-node@npm:^10.4.0, ts-node@npm:^10.8.1, ts-node@npm:^10.9.1":
version: 10.9.1
resolution: "ts-node@npm:10.9.1"
dependencies:
@@ -19004,6 +19584,28 @@ __metadata:
languageName: node
linkType: hard
"typechain@npm:^8.1.0":
version: 8.1.1
resolution: "typechain@npm:8.1.1"
dependencies:
"@types/prettier": ^2.1.1
debug: ^4.3.1
fs-extra: ^7.0.0
glob: 7.1.7
js-sha3: ^0.8.0
lodash: ^4.17.15
mkdirp: ^1.0.4
prettier: ^2.3.1
ts-command-line-args: ^2.2.0
ts-essentials: ^7.0.1
peerDependencies:
typescript: ">=4.3.0"
bin:
typechain: dist/cli/cli.js
checksum: 77984239d9728befe5a484c4e1b55c8f194696fc8a78c44754f8e25ca8fd6d0208ddfcd9e71c90c1c35ac0689f5c3053107b54fdc2aab691c980614f6daf209b
languageName: node
linkType: hard
"typedarray-to-buffer@npm:^3.1.5":
version: 3.1.5
resolution: "typedarray-to-buffer@npm:3.1.5"
@@ -19037,6 +19639,16 @@ __metadata:
languageName: node
linkType: hard
"typescript@npm:>=4.5.0, typescript@npm:^4.7.0":
version: 4.9.4
resolution: "typescript@npm:4.9.4"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: e782fb9e0031cb258a80000f6c13530288c6d63f1177ed43f770533fdc15740d271554cdae86701c1dd2c83b082cea808b07e97fd68b38a172a83dbf9e0d0ef9
languageName: node
linkType: hard
"typescript@npm:^4.4.3, typescript@npm:^4.6.4":
version: 4.8.3
resolution: "typescript@npm:4.8.3"
@@ -19047,13 +19659,13 @@ __metadata:
languageName: node
linkType: hard
"typescript@npm:^4.7.0":
"typescript@patch:typescript@>=4.5.0#~builtin<compat/typescript>, typescript@patch:typescript@^4.7.0#~builtin<compat/typescript>":
version: 4.9.4
resolution: "typescript@npm:4.9.4"
resolution: "typescript@patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=7ad353"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: e782fb9e0031cb258a80000f6c13530288c6d63f1177ed43f770533fdc15740d271554cdae86701c1dd2c83b082cea808b07e97fd68b38a172a83dbf9e0d0ef9
checksum: 37f6e2c3c5e2aa5934b85b0fddbf32eeac8b1bacf3a5b51d01946936d03f5377fe86255d4e5a4ae628fd0cd553386355ad362c57f13b4635064400f3e8e05b9d
languageName: node
linkType: hard
@@ -19067,16 +19679,6 @@ __metadata:
languageName: node
linkType: hard
"typescript@patch:typescript@^4.7.0#~builtin<compat/typescript>":
version: 4.9.4
resolution: "typescript@patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=7ad353"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 37f6e2c3c5e2aa5934b85b0fddbf32eeac8b1bacf3a5b51d01946936d03f5377fe86255d4e5a4ae628fd0cd553386355ad362c57f13b4635064400f3e8e05b9d
languageName: node
linkType: hard
"typewise-core@npm:^1.2, typewise-core@npm:^1.2.0":
version: 1.2.0
resolution: "typewise-core@npm:1.2.0"
@@ -20414,6 +21016,21 @@ __metadata:
languageName: node
linkType: hard
"web3-utils@npm:^1.3.6":
version: 1.8.1
resolution: "web3-utils@npm:1.8.1"
dependencies:
bn.js: ^5.2.1
ethereum-bloom-filters: ^1.0.6
ethereumjs-util: ^7.1.0
ethjs-unit: 0.1.6
number-to-bn: 1.7.0
randombytes: ^2.1.0
utf8: 3.0.0
checksum: 08bb2df9cd19672f034bb82a27b857e0571b836a620f83de2214377457c6e52446e8dedcf916f8f10a13c86b5a02674dd4f45c60c45698b388368601cce9cf5e
languageName: node
linkType: hard
"web3@npm:1.2.11":
version: 1.2.11
resolution: "web3@npm:1.2.11"