mirror of
https://github.com/vacp2p/rln-interep-contract.git
synced 2026-01-08 21:27:58 -05:00
chore: use ganache instead of hardhat for local dev - websocket
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"address": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",
|
||||
"address": "0x235968d78eb550dD57D2e510985E92477369E351",
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
@@ -30,16 +30,16 @@
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"transactionHash": "0x5849aadc4cb94eb32ec5fc132364d2276e1dcc35ec21d8433bbbded959e3a5fe",
|
||||
"transactionHash": "0xbb11b001a91afdfb861191e653d09bd53820e670199a037290ff1e549b7e8506",
|
||||
"receipt": {
|
||||
"to": null,
|
||||
"from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
|
||||
"contractAddress": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",
|
||||
"from": "0xd2bE7ac327CEf16490FEBA8bAB2E732518cC4D13",
|
||||
"contractAddress": "0x235968d78eb550dD57D2e510985E92477369E351",
|
||||
"transactionIndex": 0,
|
||||
"gasUsed": "266738",
|
||||
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"blockHash": "0xb9c7a74f02f92a94e488f398230aa8588a172e1d34c6f2c4d169371e439a1aa0",
|
||||
"transactionHash": "0x5849aadc4cb94eb32ec5fc132364d2276e1dcc35ec21d8433bbbded959e3a5fe",
|
||||
"blockHash": "0x4f15147f5501ae7862caa8a89a05501874a363313a10e699ebe93b2dbb67a50d",
|
||||
"transactionHash": "0xbb11b001a91afdfb861191e653d09bd53820e670199a037290ff1e549b7e8506",
|
||||
"logs": [],
|
||||
"blockNumber": 2,
|
||||
"cumulativeGasUsed": "266738",
|
||||
@@ -48,7 +48,7 @@
|
||||
},
|
||||
"args": [],
|
||||
"numDeployments": 1,
|
||||
"solcInputHash": "18e331b56ad4328792b4383bfb9c0152",
|
||||
"solcInputHash": "b8e33ba299e95051cdf4858cd81bbca9",
|
||||
"metadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256[2]\",\"name\":\"a\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"b\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"c\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[4]\",\"name\":\"input\",\"type\":\"uint256[4]\"}],\"name\":\"verifyProof\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/VerifierTest.sol\":\"VerifierTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/VerifierTest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity 0.8.15;\\n\\ncontract VerifierTest {\\n function verifyProof(\\n uint[2] memory a,\\n uint[2][2] memory b,\\n uint[2] memory c,\\n uint[4] memory input\\n ) public view {}\\n}\\n\",\"keccak256\":\"0x7c2ed5d26f1027d3729951ceb1c8d6f219b187c72cf6bc42515a5c94d2e6a184\",\"license\":\"MIT\"}},\"version\":1}",
|
||||
"bytecode": "0x608060405234801561001057600080fd5b506103df806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635fe8c13b14610030575b600080fd5b61004a60048036038101906100459190610340565b61004c565b005b50505050565b6000604051905090565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6100af82610066565b810181811067ffffffffffffffff821117156100ce576100cd610077565b5b80604052505050565b60006100e1610052565b90506100ed82826100a6565b919050565b600067ffffffffffffffff82111561010d5761010c610077565b5b602082029050919050565b600080fd5b6000819050919050565b6101308161011d565b811461013b57600080fd5b50565b60008135905061014d81610127565b92915050565b6000610166610161846100f2565b6100d7565b905080602084028301858111156101805761017f610118565b5b835b818110156101a95780610195888261013e565b845260208401935050602081019050610182565b5050509392505050565b600082601f8301126101c8576101c7610061565b5b60026101d5848285610153565b91505092915050565b600067ffffffffffffffff8211156101f9576101f8610077565b5b602082029050919050565b6000610217610212846101de565b6100d7565b9050806040840283018581111561023157610230610118565b5b835b8181101561025a578061024688826101b3565b845260208401935050604081019050610233565b5050509392505050565b600082601f83011261027957610278610061565b5b6002610286848285610204565b91505092915050565b600067ffffffffffffffff8211156102aa576102a9610077565b5b602082029050919050565b60006102c86102c38461028f565b6100d7565b905080602084028301858111156102e2576102e1610118565b5b835b8181101561030b57806102f7888261013e565b8452602084019350506020810190506102e4565b5050509392505050565b600082601f83011261032a57610329610061565b5b60046103378482856102b5565b91505092915050565b600080600080610180858703121561035b5761035a61005c565b5b6000610369878288016101b3565b945050604061037a87828801610264565b93505060c061038b878288016101b3565b92505061010061039d87828801610315565b9150509295919450925056fea26469706673582212204c3284d1df30250a6b905af42dbd80322b7b1def775b998950b83c5c8590ec4b64736f6c634300080f0033",
|
||||
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80635fe8c13b14610030575b600080fd5b61004a60048036038101906100459190610340565b61004c565b005b50505050565b6000604051905090565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6100af82610066565b810181811067ffffffffffffffff821117156100ce576100cd610077565b5b80604052505050565b60006100e1610052565b90506100ed82826100a6565b919050565b600067ffffffffffffffff82111561010d5761010c610077565b5b602082029050919050565b600080fd5b6000819050919050565b6101308161011d565b811461013b57600080fd5b50565b60008135905061014d81610127565b92915050565b6000610166610161846100f2565b6100d7565b905080602084028301858111156101805761017f610118565b5b835b818110156101a95780610195888261013e565b845260208401935050602081019050610182565b5050509392505050565b600082601f8301126101c8576101c7610061565b5b60026101d5848285610153565b91505092915050565b600067ffffffffffffffff8211156101f9576101f8610077565b5b602082029050919050565b6000610217610212846101de565b6100d7565b9050806040840283018581111561023157610230610118565b5b835b8181101561025a578061024688826101b3565b845260208401935050604081019050610233565b5050509392505050565b600082601f83011261027957610278610061565b5b6002610286848285610204565b91505092915050565b600067ffffffffffffffff8211156102aa576102a9610077565b5b602082029050919050565b60006102c86102c38461028f565b6100d7565b905080602084028301858111156102e2576102e1610118565b5b835b8181101561030b57806102f7888261013e565b8452602084019350506020810190506102e4565b5050509392505050565b600082601f83011261032a57610329610061565b5b60046103378482856102b5565b91505092915050565b600080600080610180858703121561035b5761035a61005c565b5b6000610369878288016101b3565b945050604061037a87828801610264565b93505060c061038b878288016101b3565b92505061010061039d87828801610315565b9150509295919450925056fea26469706673582212204c3284d1df30250a6b905af42dbd80322b7b1def775b998950b83c5c8590ec4b64736f6c634300080f0033",
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,48 +0,0 @@
|
||||
{
|
||||
"language": "Solidity",
|
||||
"sources": {
|
||||
"@interep/contracts/IInterep.sol": {
|
||||
"content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\n/// @title Interep interface.\n/// @dev Interface of a Interep contract.\ninterface IInterep {\n struct Verifier {\n address contractAddress;\n uint8 merkleTreeDepth;\n }\n\n struct Group {\n bytes32 provider;\n bytes32 name;\n uint256 root;\n uint8 depth;\n }\n\n /// @dev Emitted when a Semaphore proof is verified.\n /// @param groupId: Id of the group.\n /// @param signal: Semaphore signal.\n event ProofVerified(uint256 indexed groupId, bytes32 signal);\n\n /// @dev Emitted when an Interep group is updated.\n /// @param groupId: Id of the group.\n /// @param provider: Provider of the group.\n /// @param name: Name of the group.\n /// @param root: Root hash of the tree.\n /// @param depth: Depth of the tree.\n event GroupUpdated(\n uint256 groupId,\n bytes32 indexed provider,\n bytes32 indexed name,\n uint256 root,\n uint8 indexed depth\n );\n\n /// @dev Updates the Interep groups.\n /// @param groups: List of Interep groups.\n function updateGroups(Group[] calldata groups) external;\n\n /// @dev Saves the nullifier hash to avoid double signaling and emits an event\n /// if the zero-knowledge proof is valid.\n /// @param groupId: Id of the group.\n /// @param signal: Semaphore signal.\n /// @param nullifierHash: Nullifier hash.\n /// @param externalNullifier: External nullifier.\n /// @param proof: Zero-knowledge proof.\n function verifyProof(\n uint256 groupId,\n bytes32 signal,\n uint256 nullifierHash,\n uint256 externalNullifier,\n uint256[8] calldata proof\n ) external;\n\n /// @dev Returns the root hash of an Interep group.\n /// @param groupId: Id of the group.\n /// @return Root hash of the group.\n function getRoot(uint256 groupId) external view returns (uint256);\n\n /// @dev Returns the tree depth of an Interep group.\n /// @param groupId: Id of the group.\n /// @return Tree depth of the group.\n function getDepth(uint256 groupId) external view returns (uint8);\n}\n"
|
||||
},
|
||||
"@semaphore-protocol/contracts/base/SemaphoreConstants.sol": {
|
||||
"content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nuint256 constant SNARK_SCALAR_FIELD = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n"
|
||||
},
|
||||
"@semaphore-protocol/contracts/base/SemaphoreCore.sol": {
|
||||
"content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nimport \"../interfaces/ISemaphoreCore.sol\";\nimport \"../interfaces/IVerifier.sol\";\n\n/// @title Semaphore core contract.\n/// @notice Minimal code to allow users to signal their endorsement of an arbitrary string.\n/// @dev The following code verifies that the proof is correct and saves the hash of the\n/// nullifier to prevent double-signaling. External nullifier and Merkle trees (i.e. groups) must be\n/// managed externally.\ncontract SemaphoreCore is ISemaphoreCore {\n /// @dev Gets a nullifier hash and returns true or false.\n /// It is used to prevent double-signaling.\n mapping(uint256 => bool) internal nullifierHashes;\n\n /// @dev Asserts that no nullifier already exists and if the zero-knowledge proof is valid.\n /// Otherwise it reverts.\n /// @param signal: Semaphore signal.\n /// @param root: Root of the Merkle tree.\n /// @param nullifierHash: Nullifier hash.\n /// @param externalNullifier: External nullifier.\n /// @param proof: Zero-knowledge proof.\n /// @param verifier: Verifier address.\n function _verifyProof(\n bytes32 signal,\n uint256 root,\n uint256 nullifierHash,\n uint256 externalNullifier,\n uint256[8] calldata proof,\n IVerifier verifier\n ) internal view {\n require(!nullifierHashes[nullifierHash], \"SemaphoreCore: you cannot use the same nullifier twice\");\n\n uint256 signalHash = _hashSignal(signal);\n\n verifier.verifyProof(\n [proof[0], proof[1]],\n [[proof[2], proof[3]], [proof[4], proof[5]]],\n [proof[6], proof[7]],\n [root, nullifierHash, signalHash, externalNullifier]\n );\n }\n\n /// @dev Stores the nullifier hash to prevent double-signaling.\n /// Attention! Remember to call it when you verify a proof if you\n /// need to prevent double-signaling.\n /// @param nullifierHash: Semaphore nullifier hash.\n function _saveNullifierHash(uint256 nullifierHash) internal {\n nullifierHashes[nullifierHash] = true;\n }\n\n /// @dev Creates a keccak256 hash of the signal.\n /// @param signal: Semaphore signal.\n /// @return Hash of the signal.\n function _hashSignal(bytes32 signal) private pure returns (uint256) {\n return uint256(keccak256(abi.encodePacked(signal))) >> 8;\n }\n}\n"
|
||||
},
|
||||
"@semaphore-protocol/contracts/interfaces/ISemaphoreCore.sol": {
|
||||
"content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\n/// @title SemaphoreCore interface.\n/// @dev Interface of SemaphoreCore contract.\ninterface ISemaphoreCore {\n /// @notice Emitted when a proof is verified correctly and a new nullifier hash is added.\n /// @param nullifierHash: Hash of external and identity nullifiers.\n event NullifierHashAdded(uint256 nullifierHash);\n}\n"
|
||||
},
|
||||
"@semaphore-protocol/contracts/interfaces/IVerifier.sol": {
|
||||
"content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\n/// @title Verifier interface.\n/// @dev Interface of Verifier contract.\ninterface IVerifier {\n function verifyProof(\n uint256[2] memory a,\n uint256[2][2] memory b,\n uint256[2] memory c,\n uint256[4] memory input\n ) external view;\n}\n"
|
||||
},
|
||||
"contracts/InterepTest.sol": {
|
||||
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nimport \"@interep/contracts/IInterep.sol\";\nimport \"@semaphore-protocol/contracts/interfaces/IVerifier.sol\";\nimport \"@semaphore-protocol/contracts/base/SemaphoreCore.sol\";\nimport \"@semaphore-protocol/contracts/base/SemaphoreConstants.sol\";\n\ncontract InterepTest is IInterep, SemaphoreCore {\n /// @dev Gets a tree depth and returns its verifier address.\n mapping(uint8 => IVerifier) public verifiers;\n\n mapping(uint256 => Group) public groups;\n\n /// @dev Checks if there is a verifier for the given tree depth.\n /// @param depth: Depth of the tree.\n modifier onlySupportedDepth(uint8 depth) {\n require(\n address(verifiers[depth]) != address(0),\n \"Interep: tree depth is not supported\"\n );\n _;\n }\n\n /// @dev Initializes the Semaphore verifiers used to verify the user's ZK proofs.\n /// @param _verifiers: List of Semaphore verifiers (address and related Merkle tree depth).\n constructor(Verifier[] memory _verifiers) {\n for (uint8 i = 0; i < _verifiers.length; i++) {\n verifiers[_verifiers[i].merkleTreeDepth] = IVerifier(\n _verifiers[i].contractAddress\n );\n }\n }\n\n /// @dev See {IInterep-updateGroups}.\n function updateGroups(Group[] calldata _groups) external override {\n for (uint8 i = 0; i < _groups.length; i++) {\n uint256 groupId = uint256(\n keccak256(\n abi.encodePacked(_groups[i].provider, _groups[i].name)\n )\n ) % SNARK_SCALAR_FIELD;\n\n _updateGroup(groupId, _groups[i]);\n }\n }\n\n /// @dev See {IInterep-getRoot}.\n function getRoot(uint256 groupId) public view override returns (uint256) {\n return groups[groupId].root;\n }\n\n /// @dev See {IInterep-getDepth}.\n function getDepth(uint256 groupId) public view override returns (uint8) {\n return groups[groupId].depth;\n }\n\n /// @dev Updates an Interep group.\n /// @param groupId: Id of the group.\n /// @param group: Group data.\n function _updateGroup(uint256 groupId, Group calldata group) private {\n groups[groupId] = group;\n\n emit GroupUpdated(\n groupId,\n group.provider,\n group.name,\n group.root,\n group.depth\n );\n }\n\n /// @dev See {IInterep-verifyProof}.\n function verifyProof(\n uint256 groupId,\n bytes32 signal,\n uint256 nullifierHash,\n uint256 externalNullifier,\n uint256[8] calldata proof\n ) external override {\n uint256 root = getRoot(groupId);\n uint8 depth = getDepth(groupId);\n\n require(depth != 0, \"Interep: group does not exist\");\n\n IVerifier verifier = verifiers[depth];\n\n _verifyProof(\n signal,\n root,\n nullifierHash,\n externalNullifier,\n proof,\n verifier\n );\n\n // NOTE: After @interep/contracts is updated to use @semaphore-protocol/contracts v2,6.1, the logic to saveNullifierHash will change\n // ref: https://github.com/semaphore-protocol/semaphore/blob/68779e90a0db120d9c36143c5f48ca6fd1a2a159/packages/contracts/contracts/interfaces/ISemaphore.sol#L23\n // https://github.com/semaphore-protocol/semaphore/blob/68779e90a0db120d9c36143c5f48ca6fd1a2a159/packages/contracts/contracts/Semaphore.sol#L162-L171\n // Till then, downgrading semaphore-protocol/contracts to v2.0.0\n _saveNullifierHash(nullifierHash);\n\n emit ProofVerified(groupId, signal);\n }\n}\n"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"optimizer": {
|
||||
"enabled": false,
|
||||
"runs": 200
|
||||
},
|
||||
"outputSelection": {
|
||||
"*": {
|
||||
"*": [
|
||||
"abi",
|
||||
"evm.bytecode",
|
||||
"evm.deployedBytecode",
|
||||
"evm.methodIdentifiers",
|
||||
"metadata",
|
||||
"devdoc",
|
||||
"userdoc",
|
||||
"storageLayout",
|
||||
"evm.gasEstimates"
|
||||
],
|
||||
"": ["ast"]
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"useLiteralContent": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "rln-interep-contracts",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"start": "hardhat node",
|
||||
"start": "ganache --chain.chainId 31337",
|
||||
"compile": "hardhat compile",
|
||||
"test": "hardhat test",
|
||||
"test:localhost": "yarn test --network localhost",
|
||||
@@ -35,7 +35,8 @@
|
||||
"prettier": "^2.8.0",
|
||||
"solidity-coverage": "^0.7.21",
|
||||
"ts-node": "^10.8.1",
|
||||
"typescript": "^4.7.4"
|
||||
"typescript": "^4.7.4",
|
||||
"ganache": "7.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"dotenv": "^16.0.1"
|
||||
|
||||
94
yarn.lock
94
yarn.lock
@@ -1053,6 +1053,13 @@
|
||||
debug "^4.3.1"
|
||||
web3 "1.7.4"
|
||||
|
||||
"@trufflesuite/bigint-buffer@1.1.10":
|
||||
version "1.1.10"
|
||||
resolved "https://registry.yarnpkg.com/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz#a1d9ca22d3cad1a138b78baaf15543637a3e1692"
|
||||
integrity sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw==
|
||||
dependencies:
|
||||
node-gyp-build "4.4.0"
|
||||
|
||||
"@tsconfig/node10@^1.0.7":
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
|
||||
@@ -1148,7 +1155,7 @@
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/lru-cache@^5.1.0":
|
||||
"@types/lru-cache@5.1.1", "@types/lru-cache@^5.1.0":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef"
|
||||
integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==
|
||||
@@ -1236,6 +1243,11 @@
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/seedrandom@3.0.1":
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-3.0.1.tgz#1254750a4fec4aff2ebec088ccd0bb02e91fedb4"
|
||||
integrity sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw==
|
||||
|
||||
"@types/sinon-chai@^3.2.3":
|
||||
version "3.2.9"
|
||||
resolved "https://registry.yarnpkg.com/@types/sinon-chai/-/sinon-chai-3.2.9.tgz#71feb938574bbadcb176c68e5ff1a6014c5e69d4"
|
||||
@@ -1345,6 +1357,18 @@ abstract-leveldown@^5.0.0, abstract-leveldown@~5.0.0:
|
||||
dependencies:
|
||||
xtend "~4.0.0"
|
||||
|
||||
abstract-leveldown@^7.2.0:
|
||||
version "7.2.0"
|
||||
resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz#08d19d4e26fb5be426f7a57004851b39e1795a2e"
|
||||
integrity sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==
|
||||
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"
|
||||
|
||||
abstract-leveldown@~2.6.0:
|
||||
version "2.6.3"
|
||||
resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8"
|
||||
@@ -2571,6 +2595,13 @@ buffer@^6.0.3:
|
||||
base64-js "^1.3.1"
|
||||
ieee754 "^1.2.1"
|
||||
|
||||
bufferutil@4.0.5:
|
||||
version "4.0.5"
|
||||
resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028"
|
||||
integrity sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==
|
||||
dependencies:
|
||||
node-gyp-build "^4.3.0"
|
||||
|
||||
bufferutil@^4.0.1:
|
||||
version "4.0.7"
|
||||
resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad"
|
||||
@@ -2697,7 +2728,7 @@ caseless@^0.12.0, caseless@~0.12.0:
|
||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
||||
integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
|
||||
|
||||
catering@^2.1.0, catering@^2.1.1:
|
||||
catering@^2.0.0, catering@^2.1.0, catering@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/catering/-/catering-2.1.1.tgz#66acba06ed5ee28d5286133982a927de9a04b510"
|
||||
integrity sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==
|
||||
@@ -3523,6 +3554,11 @@ elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5
|
||||
minimalistic-assert "^1.0.1"
|
||||
minimalistic-crypto-utils "^1.0.1"
|
||||
|
||||
emittery@0.10.0:
|
||||
version "0.10.0"
|
||||
resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.0.tgz#bb373c660a9d421bb44706ec4967ed50c02a8026"
|
||||
integrity sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==
|
||||
|
||||
emoji-regex@^7.0.1:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
|
||||
@@ -4759,6 +4795,23 @@ ganache-core@^2.13.2:
|
||||
ethereumjs-wallet "0.6.5"
|
||||
web3 "1.2.11"
|
||||
|
||||
ganache@7.5.0:
|
||||
version "7.5.0"
|
||||
resolved "https://registry.yarnpkg.com/ganache/-/ganache-7.5.0.tgz#f7a36050b6ff85e5557d6511ddca470a0a40f37c"
|
||||
integrity sha512-afNTJYBEaFrLPRrn7eUxH39TgnrffvHn/4T6THzQrc3rpfe4DOxw2nY2XEQxfsq1t4OqKSXtxomzyo26RZiOzw==
|
||||
dependencies:
|
||||
"@trufflesuite/bigint-buffer" "1.1.10"
|
||||
"@types/bn.js" "^5.1.0"
|
||||
"@types/lru-cache" "5.1.1"
|
||||
"@types/seedrandom" "3.0.1"
|
||||
emittery "0.10.0"
|
||||
keccak "3.0.2"
|
||||
leveldown "6.1.0"
|
||||
secp256k1 "4.0.3"
|
||||
optionalDependencies:
|
||||
bufferutil "4.0.5"
|
||||
utf-8-validate "5.0.7"
|
||||
|
||||
get-caller-file@^1.0.1:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
|
||||
@@ -5987,7 +6040,7 @@ keccak@3.0.1:
|
||||
node-addon-api "^2.0.0"
|
||||
node-gyp-build "^4.2.0"
|
||||
|
||||
keccak@^3.0.0, keccak@^3.0.2:
|
||||
keccak@3.0.2, keccak@^3.0.0, keccak@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0"
|
||||
integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==
|
||||
@@ -6067,6 +6120,13 @@ level-codec@~7.0.0:
|
||||
resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7"
|
||||
integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==
|
||||
|
||||
level-concat-iterator@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz#5235b1f744bc34847ed65a50548aa88d22e881cf"
|
||||
integrity sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==
|
||||
dependencies:
|
||||
catering "^2.1.0"
|
||||
|
||||
level-errors@^1.0.3:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.2.tgz#4399c2f3d3ab87d0625f7e3676e2d807deff404d"
|
||||
@@ -6155,6 +6215,11 @@ level-sublevel@6.6.4:
|
||||
typewiselite "~1.0.0"
|
||||
xtend "~4.0.0"
|
||||
|
||||
level-supports@^2.0.1:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-2.1.0.tgz#9af908d853597ecd592293b2fad124375be79c5f"
|
||||
integrity sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==
|
||||
|
||||
level-supports@^4.0.0:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-4.0.1.tgz#431546f9d81f10ff0fea0e74533a0e875c08c66a"
|
||||
@@ -6193,6 +6258,15 @@ level@^8.0.0:
|
||||
browser-level "^1.0.1"
|
||||
classic-level "^1.2.0"
|
||||
|
||||
leveldown@6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-6.1.0.tgz#7ab1297706f70c657d1a72b31b40323aa612b9ee"
|
||||
integrity sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==
|
||||
dependencies:
|
||||
abstract-leveldown "^7.2.0"
|
||||
napi-macros "~2.0.0"
|
||||
node-gyp-build "^4.3.0"
|
||||
|
||||
levelup@3.1.1, levelup@^3.0.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/levelup/-/levelup-3.1.1.tgz#c2c0b3be2b4dc316647c53b42e2f559e232d2189"
|
||||
@@ -6963,6 +7037,11 @@ node-fetch@~1.7.1:
|
||||
encoding "^0.1.11"
|
||||
is-stream "^1.0.1"
|
||||
|
||||
node-gyp-build@4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4"
|
||||
integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==
|
||||
|
||||
node-gyp-build@^4.2.0, node-gyp-build@^4.2.2, node-gyp-build@^4.3.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40"
|
||||
@@ -8151,7 +8230,7 @@ scryptsy@^1.2.1:
|
||||
dependencies:
|
||||
pbkdf2 "^3.0.3"
|
||||
|
||||
secp256k1@^4.0.1:
|
||||
secp256k1@4.0.3, secp256k1@^4.0.1:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303"
|
||||
integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==
|
||||
@@ -9348,6 +9427,13 @@ use@^3.1.0:
|
||||
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
|
||||
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
|
||||
|
||||
utf-8-validate@5.0.7:
|
||||
version "5.0.7"
|
||||
resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.7.tgz#c15a19a6af1f7ad9ec7ddc425747ca28c3644922"
|
||||
integrity sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==
|
||||
dependencies:
|
||||
node-gyp-build "^4.3.0"
|
||||
|
||||
utf-8-validate@^5.0.2:
|
||||
version "5.0.10"
|
||||
resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2"
|
||||
|
||||
Reference in New Issue
Block a user