@mantleio/contracts
Version:
[Mantle] L1 and L2 smart contracts for Mantle
610 lines (609 loc) • 12.8 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "RollupBase",
"sourceName": "contracts/L1/fraud-proof/Rollup.sol",
"abi": [
{
"inputs": [],
"name": "AssertionAlreadyResolved",
"type": "error"
},
{
"inputs": [],
"name": "AssertionOutOfRange",
"type": "error"
},
{
"inputs": [],
"name": "ChallengePeriodPending",
"type": "error"
},
{
"inputs": [],
"name": "ChallengedStaker",
"type": "error"
},
{
"inputs": [],
"name": "DifferentParent",
"type": "error"
},
{
"inputs": [],
"name": "EmptyAssertion",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "staker1Challenge",
"type": "address"
},
{
"internalType": "address",
"name": "staker2Challenge",
"type": "address"
}
],
"name": "InDifferentChallenge",
"type": "error"
},
{
"inputs": [],
"name": "InboxReadLimitExceeded",
"type": "error"
},
{
"inputs": [],
"name": "InsufficientStake",
"type": "error"
},
{
"inputs": [],
"name": "InvalidParent",
"type": "error"
},
{
"inputs": [],
"name": "MinimumAssertionPeriodNotPassed",
"type": "error"
},
{
"inputs": [],
"name": "NoStaker",
"type": "error"
},
{
"inputs": [],
"name": "NoUnresolvedAssertion",
"type": "error"
},
{
"inputs": [],
"name": "NotAllStaked",
"type": "error"
},
{
"inputs": [],
"name": "NotInChallenge",
"type": "error"
},
{
"inputs": [],
"name": "NotStaked",
"type": "error"
},
{
"inputs": [],
"name": "ParentAssertionUnstaked",
"type": "error"
},
{
"inputs": [],
"name": "PreviousStateHash",
"type": "error"
},
{
"inputs": [],
"name": "RedundantInitialized",
"type": "error"
},
{
"inputs": [],
"name": "StakedOnUnconfirmedAssertion",
"type": "error"
},
{
"inputs": [],
"name": "StakerStakedOnTarget",
"type": "error"
},
{
"inputs": [],
"name": "StakersPresent",
"type": "error"
},
{
"inputs": [],
"name": "TransferFailed",
"type": "error"
},
{
"inputs": [],
"name": "UnproposedAssertion",
"type": "error"
},
{
"inputs": [],
"name": "WrongOrder",
"type": "error"
},
{
"inputs": [],
"name": "ZeroAddress",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "challengeAddr",
"type": "address"
}
],
"name": "AssertionChallenged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "AssertionConfirmed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "asserterAddr",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "vmHash",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "inboxSize",
"type": "uint256"
}
],
"name": "AssertionCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "AssertionRejected",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "stakerAddr",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "StakerStaked",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "advanceStake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "assertions",
"outputs": [
{
"internalType": "contract AssertionMap",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "baseStakeAmount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[2]",
"name": "players",
"type": "address[2]"
},
{
"internalType": "uint256[2]",
"name": "assertionIDs",
"type": "uint256[2]"
}
],
"name": "challengeAssertion",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "winner",
"type": "address"
},
{
"internalType": "address",
"name": "loser",
"type": "address"
}
],
"name": "completeChallenge",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "confirmFirstUnresolvedAssertion",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "confirmedInboxSize",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "vmHash",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "inboxSize",
"type": "uint256"
}
],
"name": "createAssertion",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "vmHash",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "inboxSize",
"type": "uint256"
},
{
"internalType": "bytes32[]",
"name": "_batch",
"type": "bytes32[]"
},
{
"internalType": "uint256",
"name": "_shouldStartAtElement",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "_signature",
"type": "bytes"
}
],
"name": "createAssertionWithStateBatch",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "currentRequiredStake",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "isStaked",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "minimumAssertionPeriod",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "rejectFirstUnresolvedAssertion",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint256",
"name": "batchIndex",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "batchRoot",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "batchSize",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "prevTotalElements",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "extraData",
"type": "bytes"
}
],
"internalType": "struct Lib_BVMCodec.ChainBatchHeader",
"name": "_batchHeader",
"type": "tuple"
}
],
"name": "rejectLatestCreatedAssertionWithBatch",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "stakerAddress",
"type": "address"
}
],
"name": "removeStake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_shouldRollBack",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_shouldStartAtElement",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "_signature",
"type": "bytes"
}
],
"name": "rollbackL2Chain",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "stakeAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "stake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "stakeToken",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "stakeAmount",
"type": "uint256"
}
],
"name": "unstake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "verifier",
"outputs": [
{
"internalType": "contract IVerifierEntry",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}