feat: fix deployments
This commit is contained in:
parent
8d771fd4ad
commit
9c9943df9b
File diff suppressed because it is too large
Load Diff
|
@ -3,7 +3,7 @@ pragma solidity 0.8.15;
|
|||
|
||||
import "./RlnBase.sol";
|
||||
|
||||
contract Rln is RlnBase {
|
||||
contract RLN is RlnBase {
|
||||
constructor(uint256 membershipDeposit, uint256 depth, address _poseidonHasher, address _verifier)
|
||||
RlnBase(membershipDeposit, depth, _poseidonHasher, _verifier)
|
||||
{}
|
||||
|
|
|
@ -6,8 +6,6 @@ import {PoseidonHasher} from "./PoseidonHasher.sol";
|
|||
import {IVerifier} from "./IVerifier.sol";
|
||||
import {BinaryIMT, BinaryIMTData} from "@zk-kit/imt.sol/BinaryIMT.sol";
|
||||
|
||||
import "forge-std/console.sol";
|
||||
|
||||
/// The tree is full
|
||||
error FullTree();
|
||||
|
||||
|
|
|
@ -7,9 +7,17 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
|
|||
|
||||
const [deployer] = await getUnnamedAccounts();
|
||||
|
||||
const deployRes = await deploy("PoseidonT3", {
|
||||
from: deployer,
|
||||
log: true,
|
||||
});
|
||||
|
||||
await deploy("PoseidonHasher", {
|
||||
from: deployer,
|
||||
log: true,
|
||||
libraries: {
|
||||
PoseidonT3: deployRes.address,
|
||||
},
|
||||
});
|
||||
};
|
||||
export default func;
|
||||
|
|
|
@ -11,12 +11,24 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
|
|||
.address;
|
||||
const rlnVerifierAddress = (await deployments.get("Verifier")).address;
|
||||
|
||||
await deploy("Rln", {
|
||||
const deployRes = await deploy("BinaryIMT", {
|
||||
from: deployer,
|
||||
log: true,
|
||||
libraries: {
|
||||
PoseidonT3: (await deployments.get("PoseidonT3")).address,
|
||||
},
|
||||
});
|
||||
|
||||
await deploy("RLN", {
|
||||
from: deployer,
|
||||
log: true,
|
||||
args: [1000000000000000, 20, poseidonHasherAddress, rlnVerifierAddress],
|
||||
libraries: {
|
||||
BinaryIMT: deployRes.address,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
export default func;
|
||||
func.tags = ["Rln"];
|
||||
func.dependencies = ["PoseidonHasher", "RlnVerifier"];
|
||||
func.dependencies = ["PoseidonHasher", "RlnVerifier", "BinaryIMT"];
|
||||
|
|
|
@ -4,17 +4,54 @@
|
|||
"name": "sepolia",
|
||||
"chainId": "11155111",
|
||||
"contracts": {
|
||||
"PoseidonHasher": {
|
||||
"address": "0xa1554EAF0DF18C05956249aac375e212edeD2CcF",
|
||||
"PoseidonT3": {
|
||||
"address": "0xbeeeAcde37Bce9011326137a49Bd5CA8153E9FCD",
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256[2]",
|
||||
"name": "",
|
||||
"type": "uint256[2]"
|
||||
}
|
||||
],
|
||||
"name": "hash",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "input",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "pure",
|
||||
"type": "function"
|
||||
}
|
||||
]
|
||||
},
|
||||
"PoseidonHasher": {
|
||||
"address": "0x2092b99411d480b8Dd04BfD68EF1F0d545b0eB1D",
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Q",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256[2]",
|
||||
"name": "inputs",
|
||||
"type": "uint256[2]"
|
||||
}
|
||||
],
|
||||
"name": "hash",
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -28,8 +65,526 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"Verifier": {
|
||||
"address": "0xe36940B40aDe98F02a4829414F7e8d636CCf3663",
|
||||
"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[2]",
|
||||
"name": "input",
|
||||
"type": "uint256[2]"
|
||||
}
|
||||
],
|
||||
"name": "verifyProof",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "r",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
}
|
||||
]
|
||||
},
|
||||
"BinaryIMT": {
|
||||
"address": "0x9Eae140A17Fd002B2ffA3B5df76C13100CDF909d",
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "MAX_DEPTH",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint8",
|
||||
"name": "",
|
||||
"type": "uint8"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "SNARK_SCALAR_FIELD",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_0",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_1",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_10",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_11",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_12",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_13",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_14",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_15",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_16",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_17",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_18",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_19",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_2",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_20",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_21",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_22",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_23",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_24",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_25",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_26",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_27",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_28",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_29",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_3",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_30",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_31",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_32",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_4",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_5",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_6",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_7",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_8",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "Z_9",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "index",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "defaultZero",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "pure",
|
||||
"type": "function"
|
||||
}
|
||||
]
|
||||
},
|
||||
"RLN": {
|
||||
"address": "0xB8144E3214080f179D037bbb4dcaaa6B87f224E4",
|
||||
"address": "0x3d2dcfF8Ee904C3F5Bf3043642C605DFcA7BEBA9",
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
|
@ -93,6 +648,17 @@
|
|||
"name": "InsufficientWithdrawalBalance",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "idCommitment",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "InvalidIdCommitment",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "InvalidProof",
|
||||
|
@ -208,6 +774,32 @@
|
|||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "computeRoot",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "deployedBlockNumber",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint32",
|
||||
"name": "",
|
||||
"type": "uint32"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "idCommitmentIndex",
|
||||
|
@ -221,6 +813,72 @@
|
|||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "imtData",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "depth",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "root",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "numberOfLeaves",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "useDefaultZeroes",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "idCommitment",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "isValidCommitment",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "memberExists",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
|
@ -245,7 +903,7 @@
|
|||
"name": "poseidonHasher",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "contract IPoseidonHasher",
|
||||
"internalType": "contract PoseidonHasher",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
|
@ -348,45 +1006,6 @@
|
|||
"type": "function"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Verifier": {
|
||||
"address": "0xb81Faa6F0126dedB55A45eb63E8430B270A00303",
|
||||
"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[2]",
|
||||
"name": "input",
|
||||
"type": "uint256[2]"
|
||||
}
|
||||
],
|
||||
"name": "verifyProof",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "r",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
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
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
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
852
docs/index.md
852
docs/index.md
|
@ -13,16 +13,16 @@ function verifyProof(uint256[2] a, uint256[2][2] b, uint256[2] c, uint256[2] inp
|
|||
### hash
|
||||
|
||||
```solidity
|
||||
function hash(uint256 input) external pure returns (uint256 result)
|
||||
function hash(uint256[2] inputs) external pure returns (uint256 result)
|
||||
```
|
||||
|
||||
Hashes the input using the Poseidon hash function, n = 2, second input is the constant 0
|
||||
Hashes the input using the Poseidon hash function, n = 2
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ------- | ----------------- |
|
||||
| input | uint256 | The input to hash |
|
||||
| Name | Type | Description |
|
||||
| ------ | ---------- | ----------------- |
|
||||
| inputs | uint256[2] | The input to hash |
|
||||
|
||||
## PoseidonHasher
|
||||
|
||||
|
@ -32,819 +32,21 @@ Hashes the input using the Poseidon hash function, n = 2, second input is the co
|
|||
uint256 Q
|
||||
```
|
||||
|
||||
### C0
|
||||
|
||||
```solidity
|
||||
uint256 C0
|
||||
```
|
||||
|
||||
### C1
|
||||
|
||||
```solidity
|
||||
uint256 C1
|
||||
```
|
||||
|
||||
### C2
|
||||
|
||||
```solidity
|
||||
uint256 C2
|
||||
```
|
||||
|
||||
### C3
|
||||
|
||||
```solidity
|
||||
uint256 C3
|
||||
```
|
||||
|
||||
### C4
|
||||
|
||||
```solidity
|
||||
uint256 C4
|
||||
```
|
||||
|
||||
### C5
|
||||
|
||||
```solidity
|
||||
uint256 C5
|
||||
```
|
||||
|
||||
### C6
|
||||
|
||||
```solidity
|
||||
uint256 C6
|
||||
```
|
||||
|
||||
### C7
|
||||
|
||||
```solidity
|
||||
uint256 C7
|
||||
```
|
||||
|
||||
### C8
|
||||
|
||||
```solidity
|
||||
uint256 C8
|
||||
```
|
||||
|
||||
### C9
|
||||
|
||||
```solidity
|
||||
uint256 C9
|
||||
```
|
||||
|
||||
### C10
|
||||
|
||||
```solidity
|
||||
uint256 C10
|
||||
```
|
||||
|
||||
### C11
|
||||
|
||||
```solidity
|
||||
uint256 C11
|
||||
```
|
||||
|
||||
### C12
|
||||
|
||||
```solidity
|
||||
uint256 C12
|
||||
```
|
||||
|
||||
### C13
|
||||
|
||||
```solidity
|
||||
uint256 C13
|
||||
```
|
||||
|
||||
### C14
|
||||
|
||||
```solidity
|
||||
uint256 C14
|
||||
```
|
||||
|
||||
### C15
|
||||
|
||||
```solidity
|
||||
uint256 C15
|
||||
```
|
||||
|
||||
### C16
|
||||
|
||||
```solidity
|
||||
uint256 C16
|
||||
```
|
||||
|
||||
### C17
|
||||
|
||||
```solidity
|
||||
uint256 C17
|
||||
```
|
||||
|
||||
### C18
|
||||
|
||||
```solidity
|
||||
uint256 C18
|
||||
```
|
||||
|
||||
### C19
|
||||
|
||||
```solidity
|
||||
uint256 C19
|
||||
```
|
||||
|
||||
### C20
|
||||
|
||||
```solidity
|
||||
uint256 C20
|
||||
```
|
||||
|
||||
### C21
|
||||
|
||||
```solidity
|
||||
uint256 C21
|
||||
```
|
||||
|
||||
### C22
|
||||
|
||||
```solidity
|
||||
uint256 C22
|
||||
```
|
||||
|
||||
### C23
|
||||
|
||||
```solidity
|
||||
uint256 C23
|
||||
```
|
||||
|
||||
### C24
|
||||
|
||||
```solidity
|
||||
uint256 C24
|
||||
```
|
||||
|
||||
### C25
|
||||
|
||||
```solidity
|
||||
uint256 C25
|
||||
```
|
||||
|
||||
### C26
|
||||
|
||||
```solidity
|
||||
uint256 C26
|
||||
```
|
||||
|
||||
### C27
|
||||
|
||||
```solidity
|
||||
uint256 C27
|
||||
```
|
||||
|
||||
### C28
|
||||
|
||||
```solidity
|
||||
uint256 C28
|
||||
```
|
||||
|
||||
### C29
|
||||
|
||||
```solidity
|
||||
uint256 C29
|
||||
```
|
||||
|
||||
### C30
|
||||
|
||||
```solidity
|
||||
uint256 C30
|
||||
```
|
||||
|
||||
### C31
|
||||
|
||||
```solidity
|
||||
uint256 C31
|
||||
```
|
||||
|
||||
### C32
|
||||
|
||||
```solidity
|
||||
uint256 C32
|
||||
```
|
||||
|
||||
### C33
|
||||
|
||||
```solidity
|
||||
uint256 C33
|
||||
```
|
||||
|
||||
### C34
|
||||
|
||||
```solidity
|
||||
uint256 C34
|
||||
```
|
||||
|
||||
### C35
|
||||
|
||||
```solidity
|
||||
uint256 C35
|
||||
```
|
||||
|
||||
### C36
|
||||
|
||||
```solidity
|
||||
uint256 C36
|
||||
```
|
||||
|
||||
### C37
|
||||
|
||||
```solidity
|
||||
uint256 C37
|
||||
```
|
||||
|
||||
### C38
|
||||
|
||||
```solidity
|
||||
uint256 C38
|
||||
```
|
||||
|
||||
### C39
|
||||
|
||||
```solidity
|
||||
uint256 C39
|
||||
```
|
||||
|
||||
### C40
|
||||
|
||||
```solidity
|
||||
uint256 C40
|
||||
```
|
||||
|
||||
### C41
|
||||
|
||||
```solidity
|
||||
uint256 C41
|
||||
```
|
||||
|
||||
### C42
|
||||
|
||||
```solidity
|
||||
uint256 C42
|
||||
```
|
||||
|
||||
### C43
|
||||
|
||||
```solidity
|
||||
uint256 C43
|
||||
```
|
||||
|
||||
### C44
|
||||
|
||||
```solidity
|
||||
uint256 C44
|
||||
```
|
||||
|
||||
### C45
|
||||
|
||||
```solidity
|
||||
uint256 C45
|
||||
```
|
||||
|
||||
### C46
|
||||
|
||||
```solidity
|
||||
uint256 C46
|
||||
```
|
||||
|
||||
### C47
|
||||
|
||||
```solidity
|
||||
uint256 C47
|
||||
```
|
||||
|
||||
### C48
|
||||
|
||||
```solidity
|
||||
uint256 C48
|
||||
```
|
||||
|
||||
### C49
|
||||
|
||||
```solidity
|
||||
uint256 C49
|
||||
```
|
||||
|
||||
### C50
|
||||
|
||||
```solidity
|
||||
uint256 C50
|
||||
```
|
||||
|
||||
### C51
|
||||
|
||||
```solidity
|
||||
uint256 C51
|
||||
```
|
||||
|
||||
### C52
|
||||
|
||||
```solidity
|
||||
uint256 C52
|
||||
```
|
||||
|
||||
### C53
|
||||
|
||||
```solidity
|
||||
uint256 C53
|
||||
```
|
||||
|
||||
### C54
|
||||
|
||||
```solidity
|
||||
uint256 C54
|
||||
```
|
||||
|
||||
### C55
|
||||
|
||||
```solidity
|
||||
uint256 C55
|
||||
```
|
||||
|
||||
### C56
|
||||
|
||||
```solidity
|
||||
uint256 C56
|
||||
```
|
||||
|
||||
### C57
|
||||
|
||||
```solidity
|
||||
uint256 C57
|
||||
```
|
||||
|
||||
### C58
|
||||
|
||||
```solidity
|
||||
uint256 C58
|
||||
```
|
||||
|
||||
### C59
|
||||
|
||||
```solidity
|
||||
uint256 C59
|
||||
```
|
||||
|
||||
### C60
|
||||
|
||||
```solidity
|
||||
uint256 C60
|
||||
```
|
||||
|
||||
### C61
|
||||
|
||||
```solidity
|
||||
uint256 C61
|
||||
```
|
||||
|
||||
### C62
|
||||
|
||||
```solidity
|
||||
uint256 C62
|
||||
```
|
||||
|
||||
### C63
|
||||
|
||||
```solidity
|
||||
uint256 C63
|
||||
```
|
||||
|
||||
### C64
|
||||
|
||||
```solidity
|
||||
uint256 C64
|
||||
```
|
||||
|
||||
### C65
|
||||
|
||||
```solidity
|
||||
uint256 C65
|
||||
```
|
||||
|
||||
### C66
|
||||
|
||||
```solidity
|
||||
uint256 C66
|
||||
```
|
||||
|
||||
### C67
|
||||
|
||||
```solidity
|
||||
uint256 C67
|
||||
```
|
||||
|
||||
### C68
|
||||
|
||||
```solidity
|
||||
uint256 C68
|
||||
```
|
||||
|
||||
### C69
|
||||
|
||||
```solidity
|
||||
uint256 C69
|
||||
```
|
||||
|
||||
### C70
|
||||
|
||||
```solidity
|
||||
uint256 C70
|
||||
```
|
||||
|
||||
### C71
|
||||
|
||||
```solidity
|
||||
uint256 C71
|
||||
```
|
||||
|
||||
### C72
|
||||
|
||||
```solidity
|
||||
uint256 C72
|
||||
```
|
||||
|
||||
### C73
|
||||
|
||||
```solidity
|
||||
uint256 C73
|
||||
```
|
||||
|
||||
### C74
|
||||
|
||||
```solidity
|
||||
uint256 C74
|
||||
```
|
||||
|
||||
### C75
|
||||
|
||||
```solidity
|
||||
uint256 C75
|
||||
```
|
||||
|
||||
### C76
|
||||
|
||||
```solidity
|
||||
uint256 C76
|
||||
```
|
||||
|
||||
### C77
|
||||
|
||||
```solidity
|
||||
uint256 C77
|
||||
```
|
||||
|
||||
### C78
|
||||
|
||||
```solidity
|
||||
uint256 C78
|
||||
```
|
||||
|
||||
### C79
|
||||
|
||||
```solidity
|
||||
uint256 C79
|
||||
```
|
||||
|
||||
### C80
|
||||
|
||||
```solidity
|
||||
uint256 C80
|
||||
```
|
||||
|
||||
### C81
|
||||
|
||||
```solidity
|
||||
uint256 C81
|
||||
```
|
||||
|
||||
### C82
|
||||
|
||||
```solidity
|
||||
uint256 C82
|
||||
```
|
||||
|
||||
### C83
|
||||
|
||||
```solidity
|
||||
uint256 C83
|
||||
```
|
||||
|
||||
### C84
|
||||
|
||||
```solidity
|
||||
uint256 C84
|
||||
```
|
||||
|
||||
### C85
|
||||
|
||||
```solidity
|
||||
uint256 C85
|
||||
```
|
||||
|
||||
### C86
|
||||
|
||||
```solidity
|
||||
uint256 C86
|
||||
```
|
||||
|
||||
### C87
|
||||
|
||||
```solidity
|
||||
uint256 C87
|
||||
```
|
||||
|
||||
### C88
|
||||
|
||||
```solidity
|
||||
uint256 C88
|
||||
```
|
||||
|
||||
### C89
|
||||
|
||||
```solidity
|
||||
uint256 C89
|
||||
```
|
||||
|
||||
### C90
|
||||
|
||||
```solidity
|
||||
uint256 C90
|
||||
```
|
||||
|
||||
### C91
|
||||
|
||||
```solidity
|
||||
uint256 C91
|
||||
```
|
||||
|
||||
### C92
|
||||
|
||||
```solidity
|
||||
uint256 C92
|
||||
```
|
||||
|
||||
### C93
|
||||
|
||||
```solidity
|
||||
uint256 C93
|
||||
```
|
||||
|
||||
### C94
|
||||
|
||||
```solidity
|
||||
uint256 C94
|
||||
```
|
||||
|
||||
### C95
|
||||
|
||||
```solidity
|
||||
uint256 C95
|
||||
```
|
||||
|
||||
### C96
|
||||
|
||||
```solidity
|
||||
uint256 C96
|
||||
```
|
||||
|
||||
### C97
|
||||
|
||||
```solidity
|
||||
uint256 C97
|
||||
```
|
||||
|
||||
### C98
|
||||
|
||||
```solidity
|
||||
uint256 C98
|
||||
```
|
||||
|
||||
### C99
|
||||
|
||||
```solidity
|
||||
uint256 C99
|
||||
```
|
||||
|
||||
### C100
|
||||
|
||||
```solidity
|
||||
uint256 C100
|
||||
```
|
||||
|
||||
### C101
|
||||
|
||||
```solidity
|
||||
uint256 C101
|
||||
```
|
||||
|
||||
### C102
|
||||
|
||||
```solidity
|
||||
uint256 C102
|
||||
```
|
||||
|
||||
### C103
|
||||
|
||||
```solidity
|
||||
uint256 C103
|
||||
```
|
||||
|
||||
### C104
|
||||
|
||||
```solidity
|
||||
uint256 C104
|
||||
```
|
||||
|
||||
### C105
|
||||
|
||||
```solidity
|
||||
uint256 C105
|
||||
```
|
||||
|
||||
### C106
|
||||
|
||||
```solidity
|
||||
uint256 C106
|
||||
```
|
||||
|
||||
### C107
|
||||
|
||||
```solidity
|
||||
uint256 C107
|
||||
```
|
||||
|
||||
### C108
|
||||
|
||||
```solidity
|
||||
uint256 C108
|
||||
```
|
||||
|
||||
### C109
|
||||
|
||||
```solidity
|
||||
uint256 C109
|
||||
```
|
||||
|
||||
### C110
|
||||
|
||||
```solidity
|
||||
uint256 C110
|
||||
```
|
||||
|
||||
### C111
|
||||
|
||||
```solidity
|
||||
uint256 C111
|
||||
```
|
||||
|
||||
### C112
|
||||
|
||||
```solidity
|
||||
uint256 C112
|
||||
```
|
||||
|
||||
### C113
|
||||
|
||||
```solidity
|
||||
uint256 C113
|
||||
```
|
||||
|
||||
### C114
|
||||
|
||||
```solidity
|
||||
uint256 C114
|
||||
```
|
||||
|
||||
### C115
|
||||
|
||||
```solidity
|
||||
uint256 C115
|
||||
```
|
||||
|
||||
### C116
|
||||
|
||||
```solidity
|
||||
uint256 C116
|
||||
```
|
||||
|
||||
### C117
|
||||
|
||||
```solidity
|
||||
uint256 C117
|
||||
```
|
||||
|
||||
### C118
|
||||
|
||||
```solidity
|
||||
uint256 C118
|
||||
```
|
||||
|
||||
### C119
|
||||
|
||||
```solidity
|
||||
uint256 C119
|
||||
```
|
||||
|
||||
### C120
|
||||
|
||||
```solidity
|
||||
uint256 C120
|
||||
```
|
||||
|
||||
### C121
|
||||
|
||||
```solidity
|
||||
uint256 C121
|
||||
```
|
||||
|
||||
### C122
|
||||
|
||||
```solidity
|
||||
uint256 C122
|
||||
```
|
||||
|
||||
### C123
|
||||
|
||||
```solidity
|
||||
uint256 C123
|
||||
```
|
||||
|
||||
### C124
|
||||
|
||||
```solidity
|
||||
uint256 C124
|
||||
```
|
||||
|
||||
### C125
|
||||
|
||||
```solidity
|
||||
uint256 C125
|
||||
```
|
||||
|
||||
### C126
|
||||
|
||||
```solidity
|
||||
uint256 C126
|
||||
```
|
||||
|
||||
### C127
|
||||
|
||||
```solidity
|
||||
uint256 C127
|
||||
```
|
||||
|
||||
### M00
|
||||
|
||||
```solidity
|
||||
uint256 M00
|
||||
```
|
||||
|
||||
### M01
|
||||
|
||||
```solidity
|
||||
uint256 M01
|
||||
```
|
||||
|
||||
### M10
|
||||
|
||||
```solidity
|
||||
uint256 M10
|
||||
```
|
||||
|
||||
### M11
|
||||
|
||||
```solidity
|
||||
uint256 M11
|
||||
```
|
||||
|
||||
### hash
|
||||
|
||||
```solidity
|
||||
function hash(uint256 input) external pure returns (uint256 result)
|
||||
function hash(uint256[2] inputs) external pure returns (uint256 result)
|
||||
```
|
||||
|
||||
Hashes the input using the Poseidon hash function, n = 2, second input is the constant 0
|
||||
Hashes the input using the Poseidon hash function, n = 2
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ------- | ----------------- |
|
||||
| input | uint256 | The input to hash |
|
||||
| Name | Type | Description |
|
||||
| ------ | ---------- | ----------------- |
|
||||
| inputs | uint256[2] | The input to hash |
|
||||
|
||||
### \_hash
|
||||
|
||||
```solidity
|
||||
function _hash(uint256 input) internal pure returns (uint256 result)
|
||||
```
|
||||
|
||||
## Rln
|
||||
## RLN
|
||||
|
||||
### constructor
|
||||
|
||||
|
@ -1013,6 +215,14 @@ mapping(uint256 => uint256) members
|
|||
The membership status of each member
|
||||
maps from idCommitment to their index in the set
|
||||
|
||||
### memberExists
|
||||
|
||||
```solidity
|
||||
mapping(uint256 => bool) memberExists
|
||||
```
|
||||
|
||||
The membership status of each member
|
||||
|
||||
### withdrawalBalance
|
||||
|
||||
```solidity
|
||||
|
@ -1045,6 +255,14 @@ uint32 deployedBlockNumber
|
|||
|
||||
the deployed block number
|
||||
|
||||
### imtData
|
||||
|
||||
```solidity
|
||||
struct BinaryIMTData imtData
|
||||
```
|
||||
|
||||
the Incremental Merkle Tree
|
||||
|
||||
### MemberRegistered
|
||||
|
||||
```solidity
|
||||
|
@ -1174,17 +392,17 @@ Allows a user to withdraw funds allocated to them upon slashing a member
|
|||
### hash
|
||||
|
||||
```solidity
|
||||
function hash(uint256 input) internal view returns (uint256)
|
||||
function hash(uint256[2] inputs) internal view returns (uint256)
|
||||
```
|
||||
|
||||
Hashes a value using the Poseidon hasher
|
||||
NOTE: The variant of Poseidon we use accepts only 1 input, assume n=2, and the second input is 0
|
||||
NOTE: The variant of Poseidon we use accepts only 1 input, assume n=2
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ------- | ----------------- |
|
||||
| input | uint256 | The value to hash |
|
||||
| Name | Type | Description |
|
||||
| ------ | ---------- | ------------------ |
|
||||
| inputs | uint256[2] | The values to hash |
|
||||
|
||||
### isValidCommitment
|
||||
|
||||
|
@ -1200,6 +418,12 @@ function _verifyProof(uint256 idCommitment, address receiver, uint256[8] proof)
|
|||
|
||||
_Groth16 proof verification_
|
||||
|
||||
### computeRoot
|
||||
|
||||
```solidity
|
||||
function computeRoot() external view returns (uint256)
|
||||
```
|
||||
|
||||
## Pairing
|
||||
|
||||
### G1Point
|
||||
|
|
|
@ -10,12 +10,13 @@ describe("PoseidonHasher", () => {
|
|||
const poseidonHasher = await ethers.getContract("PoseidonHasher");
|
||||
|
||||
// We test hashing for a random number
|
||||
const hash = await poseidonHasher.hash(
|
||||
"19014214495641488759237505126948346942972912379615652741039992445865937985820"
|
||||
);
|
||||
const hash = await poseidonHasher.hash([
|
||||
"19014214495641488759237505126948346942972912379615652741039992445865937985820",
|
||||
"0",
|
||||
]);
|
||||
|
||||
expect(hash._hex).to.eql(
|
||||
"0x0c3ac305f6a4fe9bfeb3eba978bc876e2a99208b8b56c80160cfb54ba8f02368"
|
||||
expect(hash.toHexString()).to.eql(
|
||||
"0x1d1ac5f6cf23b059eb43c657ce622b614b5960ea4b23f92d428d3e42982a4e13"
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -7,7 +7,7 @@ describe("Rln", () => {
|
|||
});
|
||||
|
||||
it("should register new memberships", async () => {
|
||||
const rln = await ethers.getContract("Rln", ethers.provider.getSigner(0));
|
||||
const rln = await ethers.getContract("RLN", ethers.provider.getSigner(0));
|
||||
|
||||
const price = await rln.MEMBERSHIP_DEPOSIT();
|
||||
|
||||
|
@ -30,7 +30,7 @@ describe("Rln", () => {
|
|||
});
|
||||
|
||||
it("should slash membership", async () => {
|
||||
const rln = await ethers.getContract("Rln", ethers.provider.getSigner(0));
|
||||
const rln = await ethers.getContract("RLN", ethers.provider.getSigner(0));
|
||||
|
||||
const price = await rln.MEMBERSHIP_DEPOSIT();
|
||||
|
||||
|
@ -55,7 +55,7 @@ describe("Rln", () => {
|
|||
});
|
||||
|
||||
it("should not allow multiple registrations with same pubkey", async () => {
|
||||
const rln = await ethers.getContract("Rln", ethers.provider.getSigner(0));
|
||||
const rln = await ethers.getContract("RLN", ethers.provider.getSigner(0));
|
||||
|
||||
const price = await rln.MEMBERSHIP_DEPOSIT();
|
||||
|
||||
|
|
Loading…
Reference in New Issue