@mantleio/contracts
Version:
[Mantle] L1 and L2 smart contracts for Mantle
360 lines (359 loc) • 8.74 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "IChallenge",
"sourceName": "contracts/L1/fraud-proof/challenge/IChallenge.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "startState",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "midState",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "endState",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "blockNum",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "blockTime",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "challengedSegmentStart",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "challengedSegmentLength",
"type": "uint256"
}
],
"name": "Bisected",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "winner",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "loser",
"type": "address"
},
{
"indexed": false,
"internalType": "enum IChallenge.CompletionReason",
"name": "reason",
"type": "uint8"
}
],
"name": "ChallengeCompleted",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes32[3]",
"name": "bisection",
"type": "bytes32[3]"
},
{
"internalType": "uint256",
"name": "challengedSegmentIndex",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "challengedSegmentStart",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "challengedSegmentLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "prevChallengedSegmentStart",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "prevChallengedSegmentLength",
"type": "uint256"
}
],
"name": "bisectExecution",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"name": "completeChallenge",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "currentResponder",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentResponderTimeLeft",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_defender",
"type": "address"
},
{
"internalType": "address",
"name": "_challenger",
"type": "address"
},
{
"internalType": "contract IVerifierEntry",
"name": "_verifier",
"type": "address"
},
{
"internalType": "address",
"name": "_resultReceiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "_startInboxSize",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "_startStateHash",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "_endStateHash",
"type": "bytes32"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "checkStateHash",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "_numSteps",
"type": "uint256"
}
],
"name": "initializeChallengeLength",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "setRollback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "timeout",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "coinbase",
"type": "address"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "number",
"type": "uint256"
},
{
"internalType": "address",
"name": "origin",
"type": "address"
},
{
"components": [
{
"internalType": "uint64",
"name": "nonce",
"type": "uint64"
},
{
"internalType": "uint256",
"name": "gasPrice",
"type": "uint256"
},
{
"internalType": "uint64",
"name": "gas",
"type": "uint64"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "v",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "r",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "s",
"type": "uint256"
}
],
"internalType": "struct EVMTypesLib.Transaction",
"name": "transaction",
"type": "tuple"
},
{
"internalType": "bytes32",
"name": "inputRoot",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "txHash",
"type": "bytes32"
}
],
"internalType": "struct VerificationContext.Context",
"name": "ctx",
"type": "tuple"
},
{
"internalType": "uint8",
"name": "verifyType",
"type": "uint8"
},
{
"internalType": "bytes",
"name": "proof",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "challengedStepIndex",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "prevChallengedSegmentStart",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "prevChallengedSegmentLength",
"type": "uint256"
}
],
"name": "verifyOneStepProof",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}