@ethersphere/bee-factory
Version:
Local Ethereum Swarm development stack
1,570 lines • 71.3 kB
JSON
{
"contractName": "Redistribution",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "staking",
"type": "address"
},
{
"internalType": "address",
"name": "postageContract",
"type": "address"
},
{
"internalType": "address",
"name": "oracleContract",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "AlreadyClaimed",
"type": "error"
},
{
"inputs": [],
"name": "AlreadyCommitted",
"type": "error"
},
{
"inputs": [],
"name": "AlreadyRevealed",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "BatchDoesNotExist",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "BucketDiffers",
"type": "error"
},
{
"inputs": [],
"name": "CommitRoundNotStarted",
"type": "error"
},
{
"inputs": [],
"name": "CommitRoundOver",
"type": "error"
},
{
"inputs": [],
"name": "FirstRevealDone",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "InclusionProofFailed",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "IndexOutsideSet",
"type": "error"
},
{
"inputs": [],
"name": "InvalidSignatureLength",
"type": "error"
},
{
"inputs": [],
"name": "LastElementCheckFailed",
"type": "error"
},
{
"inputs": [],
"name": "MustStake2Rounds",
"type": "error"
},
{
"inputs": [],
"name": "NoCommitsReceived",
"type": "error"
},
{
"inputs": [],
"name": "NoMatchingCommit",
"type": "error"
},
{
"inputs": [],
"name": "NoReveals",
"type": "error"
},
{
"inputs": [],
"name": "NotAdmin",
"type": "error"
},
{
"inputs": [],
"name": "NotClaimPhase",
"type": "error"
},
{
"inputs": [],
"name": "NotCommitPhase",
"type": "error"
},
{
"inputs": [],
"name": "NotMatchingOwner",
"type": "error"
},
{
"inputs": [],
"name": "NotRevealPhase",
"type": "error"
},
{
"inputs": [],
"name": "NotStaked",
"type": "error"
},
{
"inputs": [],
"name": "OnlyPauser",
"type": "error"
},
{
"inputs": [],
"name": "OutOfDepth",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"name": "OutOfDepthClaim",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "OutOfDepthReveal",
"type": "error"
},
{
"inputs": [],
"name": "PhaseLastBlock",
"type": "error"
},
{
"inputs": [],
"name": "RandomElementCheckFailed",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "trALast",
"type": "bytes32"
}
],
"name": "ReserveCheckFailed",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "SigRecoveryFailed",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "SocCalcNotMatching",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "SocVerificationFailed",
"type": "error"
},
{
"inputs": [],
"name": "WrongPhase",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "validChunkCount",
"type": "uint256"
}
],
"name": "ChunkCount",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "roundNumber",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "overlay",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint8",
"name": "height",
"type": "uint8"
}
],
"name": "Committed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "_count",
"type": "uint256"
}
],
"name": "CountCommits",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "_count",
"type": "uint256"
}
],
"name": "CountReveals",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "roundNumber",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "anchor",
"type": "bytes32"
}
],
"name": "CurrentRevealAnchor",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint16",
"name": "redundancyCount",
"type": "uint16"
}
],
"name": "PriceAdjustmentSkipped",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "roundNumber",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "overlay",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "stakeDensity",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "reserveCommitment",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint8",
"name": "depth",
"type": "uint8"
}
],
"name": "Revealed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "previousAdminRole",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "newAdminRole",
"type": "bytes32"
}
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleRevoked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint8",
"name": "depth",
"type": "uint8"
}
],
"name": "TruthSelected",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"components": [
{
"internalType": "bytes32",
"name": "overlay",
"type": "bytes32"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint8",
"name": "depth",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "stakeDensity",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
}
],
"indexed": false,
"internalType": "struct Redistribution.Reveal",
"name": "winner",
"type": "tuple"
}
],
"name": "WinnerSelected",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "WithdrawFailed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "indexInRC",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "chunkAddress",
"type": "bytes32"
}
],
"name": "transformedChunkAddressFromInclusionProof",
"type": "event"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "OracleContract",
"outputs": [
{
"internalType": "contract IPriceOracle",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PostageContract",
"outputs": [
{
"internalType": "contract IPostageStamp",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "Stakes",
"outputs": [
{
"internalType": "contract IStakeRegistry",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "bytes32[]",
"name": "proofSegments",
"type": "bytes32[]"
},
{
"internalType": "bytes32",
"name": "proveSegment",
"type": "bytes32"
},
{
"internalType": "bytes32[]",
"name": "proofSegments2",
"type": "bytes32[]"
},
{
"internalType": "bytes32",
"name": "proveSegment2",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "chunkSpan",
"type": "uint64"
},
{
"internalType": "bytes32[]",
"name": "proofSegments3",
"type": "bytes32[]"
},
{
"components": [
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "postageId",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "index",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "timeStamp",
"type": "uint64"
}
],
"internalType": "struct Redistribution.PostageProof",
"name": "postageProof",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "identifier",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "chunkAddr",
"type": "bytes32"
}
],
"internalType": "struct Redistribution.SOCProof[]",
"name": "socProof",
"type": "tuple[]"
}
],
"internalType": "struct Redistribution.ChunkInclusionProof",
"name": "entryProof1",
"type": "tuple"
},
{
"components": [
{
"internalType": "bytes32[]",
"name": "proofSegments",
"type": "bytes32[]"
},
{
"internalType": "bytes32",
"name": "proveSegment",
"type": "bytes32"
},
{
"internalType": "bytes32[]",
"name": "proofSegments2",
"type": "bytes32[]"
},
{
"internalType": "bytes32",
"name": "proveSegment2",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "chunkSpan",
"type": "uint64"
},
{
"internalType": "bytes32[]",
"name": "proofSegments3",
"type": "bytes32[]"
},
{
"components": [
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "postageId",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "index",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "timeStamp",
"type": "uint64"
}
],
"internalType": "struct Redistribution.PostageProof",
"name": "postageProof",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "identifier",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "chunkAddr",
"type": "bytes32"
}
],
"internalType": "struct Redistribution.SOCProof[]",
"name": "socProof",
"type": "tuple[]"
}
],
"internalType": "struct Redistribution.ChunkInclusionProof",
"name": "entryProof2",
"type": "tuple"
},
{
"components": [
{
"internalType": "bytes32[]",
"name": "proofSegments",
"type": "bytes32[]"
},
{
"internalType": "bytes32",
"name": "proveSegment",
"type": "bytes32"
},
{
"internalType": "bytes32[]",
"name": "proofSegments2",
"type": "bytes32[]"
},
{
"internalType": "bytes32",
"name": "proveSegment2",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "chunkSpan",
"type": "uint64"
},
{
"internalType": "bytes32[]",
"name": "proofSegments3",
"type": "bytes32[]"
},
{
"components": [
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "postageId",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "index",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "timeStamp",
"type": "uint64"
}
],
"internalType": "struct Redistribution.PostageProof",
"name": "postageProof",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "identifier",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "chunkAddr",
"type": "bytes32"
}
],
"internalType": "struct Redistribution.SOCProof[]",
"name": "socProof",
"type": "tuple[]"
}
],
"internalType": "struct Redistribution.ChunkInclusionProof",
"name": "entryProofLast",
"type": "tuple"
}
],
"name": "claim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_obfuscatedHash",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "_roundNumber",
"type": "uint64"
}
],
"name": "commit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "currentClaimRound",
"outputs": [
{
"internalType": "uint64",
"name": "",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentCommitRound",
"outputs": [
{
"internalType": "uint64",
"name": "",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "currentCommits",
"outputs": [
{
"internalType": "bytes32",
"name": "overlay",
"type": "bytes32"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "bool",
"name": "revealed",
"type": "bool"
},
{
"internalType": "uint8",
"name": "height",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "obfuscatedHash",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "revealIndex",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentMinimumDepth",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentPhaseClaim",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentPhaseCommit",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentPhaseReveal",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentRevealRound",
"outputs": [
{
"internalType": "uint64",
"name": "",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "currentReveals",
"outputs": [
{
"internalType": "bytes32",
"name": "overlay",
"type": "bytes32"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint8",
"name": "depth",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "stakeDensity",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentRound",
"outputs": [
{
"internalType": "uint64",
"name": "",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentRoundAnchor",
"outputs": [
{
"internalType": "bytes32",
"name": "returnVal",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentRoundReveals",
"outputs": [
{
"components": [
{
"internalType": "bytes32",
"name": "overlay",
"type": "bytes32"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint8",
"name": "depth",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "stakeDensity",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
}
],
"internalType": "struct Redistribution.Reveal[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentSeed",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "A",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "B",
"type": "bytes32"
},
{
"internalType": "uint8",
"name": "minimum",
"type": "uint8"
}
],
"name": "inProximity",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "uint8",
"name": "_depth",
"type": "uint8"
}
],
"name": "isParticipatingInUpcomingRound",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_overlay",
"type": "bytes32"
}
],
"name": "isWinner",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "nextSeed",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "renounceRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "_depth",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "_hash",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "_revealNonce",
"type": "bytes32"
}
],
"name": "reveal",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "revokeRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "_penaltyMultiplierDisagreement",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "_penaltyMultiplierNonRevealed",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "_penaltyRandomFactor",
"type": "uint8"
}
],
"name": "setFreezingParams",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_sampleMaxValue",
"type": "uint256"
}
],
"name": "setSampleMaxValue",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "unPause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "winner",
"outputs": [
{
"internalType": "bytes32",
"name": "overlay",
"type": "bytes32"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint8",
"name": "depth",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "stakeDensity",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_overlay",
"type": "bytes32"
},
{
"internalType": "uint8",
"name": "_depth",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "_hash",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "revealNonce",
"type": "bytes32"
}
],
"name": "wrapCommit",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"bytecode": "0x60806040526008805462ffffff60c01b19166264020160c01b1790557dba1914b54e0348a1028d1a103a95ed55c4004b9d332400000000000000006009553480156200004a57600080fd5b506040516200470c3803806200470c8339810160408190526200006d916200019d565b60018054600380546001600160a01b03199081166001600160a01b03888116919091179092556001600160a81b0319909216610100868316021790925560028054909116918316919091179055620000c7600033620000d0565b505050620001e7565b620000dc8282620000e0565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620000dc576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200013c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b03811681146200019857600080fd5b919050565b600080600060608486031215620001b357600080fd5b620001be8462000180565b9250620001ce6020850162000180565b9150620001de6040850162000180565b90509250925092565b61451580620001f76000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c806377c75d1011610130578063b6cd5822116100b8578063dfbf53ae1161007c578063dfbf53ae14610524578063f4e6fcca14610554578063f69ee1d114610567578063f7b188a51461057a578063fb00f2f31461058257600080fd5b8063b6cd5822146104c9578063c46b4029146104dc578063ce987745146104f6578063d1e8b63d14610509578063d547741f1461051157600080fd5b80638456cb59116100ff5780638456cb59146104965780638a19c8bc1461049e5780638d8b6428146104a657806391d14854146104ae578063a217fddf146104c157600080fd5b806377c75d10146104115780637fe019c61461042457806382b39b1b1461043e578063832206261461048e57600080fd5b80635c975abb116101b357806364c34a851161018257806364c34a851461035957806369bfac011461036157806369da91141461038c5780636f94aaf21461039f57806372286cba146103b957600080fd5b80635c975abb146103205780635d4844ea1461032b57806362fd29ae1461033e57806363f5cf7c1461034657600080fd5b80632a4e6249116101fa5780632a4e6249146102c85780632f2ff15d146102dd5780632f3906da146102f257806336568abe146102fa5780635838d6731461030d57600080fd5b806301ffc9a71461022c5780631736d472146102545780631835009614610267578063248a9ca314610297575b600080fd5b61023f61023a366004613c67565b610595565b60405190151581526020015b60405180910390f35b61023f610262366004613cb5565b6105cc565b60015461027f9061010090046001600160a01b031681565b6040516001600160a01b03909116815260200161024b565b6102ba6102a5366004613cee565b60009081526020819052604090206001015490565b60405190815260200161024b565b6102d06107c0565b60405161024b9190613d4a565b6102f06102eb366004613d98565b6108cc565b005b61023f6108f6565b6102f0610308366004613d98565b610940565b6102f061031b366004613dd9565b6109c3565b60015460ff1661023f565b60035461027f906001600160a01b031681565b6102ba610ec2565b6102f0610354366004613e1e565b610f89565b6102ba611390565b600854610374906001600160401b031681565b6040516001600160401b03909116815260200161024b565b60025461027f906001600160a01b031681565b60085461037490600160801b90046001600160401b031681565b6103cc6103c7366004613cee565b611453565b604080519788526001600160a01b0390961660208801529315159486019490945260ff9091166060850152608084015260a083019190915260c082015260e00161024b565b61023f61041f366004613cee565b6114b1565b60085461037490600160401b90046001600160401b031681565b61045161044c366004613cee565b611756565b604080519687526001600160a01b03909516602087015260ff909316938501939093526060840152608083019190915260a082015260c00161024b565b6102ba6117ad565b6102f06117b8565b6103746117ea565b61023f6117f7565b61023f6104bc366004613d98565b611821565b6102ba600081565b6102f06104d7366004613ea5565b61184a565b6104e4611d07565b60405160ff909116815260200161024b565b6102ba610504366004613eda565b611d8a565b61023f611de1565b6102f061051f366004613d98565b611e06565b600a54600b54600c54600d54600e5461045194936001600160a01b03811693600160a01b90910460ff1692909186565b6102f0610562366004613f17565b611e2b565b6102f0610575366004613cee565b611e9b565b6102f0611ec8565b61023f610590366004613f62565b611ef8565b60006001600160e01b03198216637965db0b60e01b14806105c657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60035460405163d1052d1f60e01b81526001600160a01b038481166004830152600092839291169063d1052d1f90602401602060405180830381865afa15801561061a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063e9190613f90565b600354604051631d54805360e01b81526001600160a01b03878116600483015292935060009290911690631d54805390602401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b29190613fa9565b6106bc9085613fdc565b90506106c66108f6565b156106e4576040516338961af360e21b815260040160405180910390fd5b81600003610704576040516273e5c360e31b815260040160405180910390fd5b61071060986002613ff5565b61071a904361400c565b821061073957604051630a0744c560e01b815260040160405180910390fd5b6003546040516397adedb560e01b81526001600160a01b0387811660048301526107b79216906397adedb590602401602060405180830381865afa158015610785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a99190613f90565b6107b1611390565b83611ef8565b95945050505050565b60606107ca6117f7565b6107e757604051633788c6c160e11b815260040160405180910390fd5b60006107f16117ea565b6008549091506001600160401b03808316600160401b909204161461082957604051636fbabc7760e01b815260040160405180910390fd5b6005805480602002602001604051908101604052809291908181526020016000905b828210156108c25760008481526020908190206040805160c08101825260058602909201805483526001808201546001600160a01b03811685870152600160a01b900460ff169284019290925260028101546060840152600381015460808401526004015460a0830152908352909201910161084b565b5050505091505090565b6000828152602081905260409020600101546108e781611f35565b6108f18383611f42565b505050565b600080610904609843614035565b905061091260046098614049565b811015801561092b575061092860026098614049565b81105b1561093857600191505090565b600091505090565b6001600160a01b03811633146109b55760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6109bf8282611fc6565b5050565b6109cb61202b565b60006109d56117ea565b6003546040516397adedb560e01b81523360048201529192506000916001600160a01b03909116906397adedb590602401602060405180830381865afa158015610a23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a479190613f90565b600354604051634185029f60e11b81523360048201529192506000916001600160a01b039091169063830a053e90602401602060405180830381865afa158015610a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab99190613f90565b60035460405163d1052d1f60e01b81523360048201529192506000916001600160a01b039091169063d1052d1f90602401602060405180830381865afa158015610b07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2b9190613f90565b600354604051631d54805360e01b81523360048201529192506000916001600160a01b0390911690631d54805390602401602060405180830381865afa158015610b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9d9190613fa9565b905081600003610bbf576040516273e5c360e31b815260040160405180910390fd5b610bcb60986002613ff5565b610bd5904361400c565b8210610bf457604051630a0744c560e01b815260040160405180910390fd5b856001600160401b0316856001600160401b03161115610c265760405162143fdf60ea1b815260040160405180910390fd5b856001600160401b0316856001600160401b03161015610c5957604051633d0607eb60e11b815260040160405180910390fd5b610c61611de1565b610c7e5760405163dc816a8760e01b815260040160405180910390fd5b6001610c8c60046098614049565b610c96919061400c565b610ca1609843614035565b03610cbf57604051632dd77b5b60e11b815260040160405180910390fd5b6008546001600160401b03868116911614610cfd57610ce060046000613bab565b6008805467ffffffffffffffff19166001600160401b0387161790555b60045460005b81811015610d57578560048281548110610d1f57610d1f61405d565b90600052602060002090600502016000015403610d4f576040516317fd8aab60e31b815260040160405180910390fd5b600101610d03565b5060046040518060e00160405280878152602001336001600160a01b031681526020016000151581526020018460ff1681526020018681526020018a8152602001600081525090806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160146101000a81548160ff02191690831515021790555060608201518160010160156101000a81548160ff021916908360ff1602179055506080820151816002015560a0820151816003015560c0820151816004015550507faadc88121471799d39ee2bbe1dd30a4ab57510e2a33bd6e537de5fafd2daa886878684604051610eb0939291906001600160401b03939093168352602083019190915260ff16604082015260600190565b60405180910390a15050505050505050565b600080610ecd6117ea565b610ed8906001614073565b60075460085491925090610efd90600160401b90046001600160401b03166001614073565b6001600160401b0316826001600160401b031611156105c657600854600090600190610f3990600160401b90046001600160401b03168561409a565b610f43919061409a565b6001600160401b031690508181604051602001610f6a929190918252602082015260400190565b6040516020818303038152906040528051906020012091505092915050565b610f9161202b565b610f99612071565b6040805160c081018252600a548152600b546001600160a01b0381166020830152600160a01b900460ff1691810191909152600c546060820152600d546080820152600e5460a08201526006546007546000918291610ff9600f82614035565b9350611006600e82614035565b925083831061101d5782611019816140ba565b9350505b6110308660200135838760400151611ef8565b61105057604051633b5f43a360e01b8152600360048201526024016109ac565b61105b86601e61269c565b611064866129ae565b61106d86612c55565b6110808860200135838760400151611ef8565b6110a057604051633b5f43a360e01b8152600260048201526024016109ac565b6110b4886110af866002613ff5565b61269c565b6110bd886129ae565b6110c688612c55565b6110d98760200135838760400151611ef8565b6110f957604051633b5f43a360e01b8152600160048201526024016109ac565b611108876110af856002613ff5565b611111876129ae565b61111a87612c55565b61119084846111298b806140d3565b600081811061113a5761113a61405d565b6020029190910135905061114e8b806140d3565b600081811061115f5761115f61405d565b602002919091013590506111738b806140d3565b60008181106111845761118461405d565b90506020020135612eb7565b6111ba61119d87806140d3565b60008181106111ae576111ae61405d565b90506020020135612f44565b60015460208601516040516001600160a01b03918216602482015260009261010090049091169060440160408051601f198184030181529181526020820180516001600160e01b03166351cff8d960e01b179052516112199190614147565b6000604051808303816000865af19150503d8060008114611256576040519150601f19603f3d011682016040523d82523d6000602084013e61125b565b606091505b50509050806112a6576020808701516040516001600160a01b0390911681527f7ae187a0c04cf55b655ca83fa11d37854c882bf1fdcb588469b414731bb0e05a910160405180910390a15b7f788e77979e6e6a8a6a5d2c19c58b1ff9671298f54c85ac6f6aa30379aed5861a866040516112d59190614163565b60405180910390a17fbee3fc8a3523c1a65fa9308ce1f2b8fd90c24975b141b754603194597846e4dd60018054906101000a90046001600160a01b03166001600160a01b0316638a5e8e326040518163ffffffff1660e01b8152600401602060405180830381865afa15801561134f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113739190613f90565b6040519081526020015b60405180910390a1505050505050505050565b600061139a611de1565b806113d65750600854600160401b90046001600160401b03166113bb6117ea565b6001600160401b03161180156113d657506113d46117f7565b155b156113e8576113e36117ad565b905090565b6113f06117f7565b156113fd576113e3610ec2565b6114056108f6565b80156114325750600854600160401b90046001600160401b03166114276117ea565b6001600160401b0316145b15611450576040516336b7884b60e01b815260040160405180910390fd5b90565b6004818154811061146357600080fd5b6000918252602090912060059091020180546001820154600283015460038401546004909401549294506001600160a01b0382169360ff600160a01b8404811694600160a81b909404169287565b60006114bb6117f7565b6114d857604051633788c6c160e11b815260040160405180910390fd5b60006114e26117ea565b6008549091506001600160401b03808316600160401b909204161461151a57604051636fbabc7760e01b815260040160405180910390fd5b6008546001600160401b03600160801b90910481169082161161155057604051630c8d9eab60e31b815260040160405180910390fd5b600080600080600080600080611564612f69565b90506000611570613006565b600454919650945060005b8181101561174257600481815481106115965761159661405d565b9060005260206000209060050201600401549450600481815481106115bd576115bd61405d565b906000526020600020906005020160010160149054906101000a900460ff16801561160b5750600585815481106115f6576115f661405d565b90600052602060002090600502016004015487145b80156116495750600585815481106116255761162561405d565b600091825260209091206001600590920201015460ff878116600160a01b90920416145b1561173a57600585815481106116615761166161405d565b9060005260206000209060050201600301548b61167e9190614171565b9a508383604051602001611693929190614184565b60408051601f19818403018152919052805160209091012098506001600160801b03808a1698506116c5906001614171565b600586815481106116d8576116d861405d565b9060005260206000209060050201600301546116f49190613ff5565b6116fe8c8a613ff5565b101561172c57600585815481106117175761171761405d565b90600052602060002090600502016000015499505b82611736816140ba565b9350505b60010161157b565b505050959099149998505050505050505050565b6005818154811061176657600080fd5b6000918252602090912060059091020180546001820154600283015460038401546004909401549294506001600160a01b03821693600160a01b90920460ff169290919086565b600080610ed86117ea565b6117c3600033611821565b6117e057604051631d77d47760e21b815260040160405180910390fd5b6117e86131b6565b565b60006113e3609843614049565b600061180560026098614049565b611810609843614035565b1061181b5750600190565b50600090565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b61185261202b565b600061185c6117ea565b6003546040516397adedb560e01b81523360048201529192506000916001600160a01b03909116906397adedb590602401602060405180830381865afa1580156118aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ce9190613f90565b6008549091506001600160401b038381169116146118ff576040516342154f0560e11b815260040160405180910390fd5b6119076108f6565b6119245760405163688446db60e11b815260040160405180910390fd5b61192c611d07565b60ff168560ff161015611952576040516383d9b7bd60e01b815260040160405180910390fd5b6008546001600160401b03838116600160401b9092041614611a2957611976611390565b60065561198560056000613bcc565b600880546fffffffffffffffff00000000000000001916600160401b6001600160401b038516908102919091179091556006546040805192835260208301919091527ff0ae472da9c8da86bda4991a549c03a3cb328b5f360ea11a5b8814f32bb85176910160405180910390a1611a29600754604080516020810192909252449082015260600160408051601f198184030181529190528051602090910120600755565b6000611a3782878787611d8a565b90506000611a45838361320a565b9050600060048281548110611a5c57611a5c61405d565b600091825260208083206040805160e08101825260059094029091018054845260018101546001600160a01b0381169385019390935260ff600160a01b84048116151592850192909252600160a81b909204166060830181905260028201546080840152600382015460a084015260049091015460c0830152909250611ae2908a613fdc565b9050611af5826000015160065483611ef8565b611b185760065460405163053aeef960e21b81526004016109ac91815260200190565b816040015115611b3b5760405163a89ac15160e01b815260040160405180910390fd5b600160048481548110611b5057611b5061405d565b906000526020600020906005020160010160146101000a81548160ff0