UNPKG

@arbitrum/nitro-contracts

Version:

Layer 2 precompiles and rollup for Arbitrum Nitro

1,153 lines (1,152 loc) 26.4 kB
{ "_format": "hh-sol-artifact-1", "contractName": "RollupCore", "sourceName": "src/rollup/RollupCore.sol", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "assertionHash", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "blockHash", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "sendRoot", "type": "bytes32" } ], "name": "AssertionConfirmed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "assertionHash", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "parentAssertionHash", "type": "bytes32" }, { "components": [ { "components": [ { "internalType": "bytes32", "name": "prevPrevAssertionHash", "type": "bytes32" }, { "internalType": "bytes32", "name": "sequencerBatchAcc", "type": "bytes32" }, { "components": [ { "internalType": "bytes32", "name": "wasmModuleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "requiredStake", "type": "uint256" }, { "internalType": "address", "name": "challengeManager", "type": "address" }, { "internalType": "uint64", "name": "confirmPeriodBlocks", "type": "uint64" }, { "internalType": "uint64", "name": "nextInboxPosition", "type": "uint64" } ], "internalType": "struct ConfigData", "name": "configData", "type": "tuple" } ], "internalType": "struct BeforeStateData", "name": "beforeStateData", "type": "tuple" }, { "components": [ { "components": [ { "internalType": "bytes32[2]", "name": "bytes32Vals", "type": "bytes32[2]" }, { "internalType": "uint64[2]", "name": "u64Vals", "type": "uint64[2]" } ], "internalType": "struct GlobalState", "name": "globalState", "type": "tuple" }, { "internalType": "enum MachineStatus", "name": "machineStatus", "type": "uint8" }, { "internalType": "bytes32", "name": "endHistoryRoot", "type": "bytes32" } ], "internalType": "struct AssertionState", "name": "beforeState", "type": "tuple" }, { "components": [ { "components": [ { "internalType": "bytes32[2]", "name": "bytes32Vals", "type": "bytes32[2]" }, { "internalType": "uint64[2]", "name": "u64Vals", "type": "uint64[2]" } ], "internalType": "struct GlobalState", "name": "globalState", "type": "tuple" }, { "internalType": "enum MachineStatus", "name": "machineStatus", "type": "uint8" }, { "internalType": "bytes32", "name": "endHistoryRoot", "type": "bytes32" } ], "internalType": "struct AssertionState", "name": "afterState", "type": "tuple" } ], "indexed": false, "internalType": "struct AssertionInputs", "name": "assertion", "type": "tuple" }, { "indexed": false, "internalType": "bytes32", "name": "afterInboxBatchAcc", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "inboxMaxCount", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "wasmModuleRoot", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "requiredStake", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "challengeManager", "type": "address" }, { "indexed": false, "internalType": "uint64", "name": "confirmPeriodBlocks", "type": "uint64" } ], "name": "AssertionCreated", "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": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint64", "name": "challengeIndex", "type": "uint64" }, { "indexed": false, "internalType": "address", "name": "asserter", "type": "address" }, { "indexed": false, "internalType": "address", "name": "challenger", "type": "address" }, { "indexed": false, "internalType": "uint64", "name": "challengedAssertion", "type": "uint64" } ], "name": "RollupChallengeStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "machineHash", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "chainId", "type": "uint256" } ], "name": "RollupInitialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": true, "internalType": "address", "name": "withdrawalAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "initialBalance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "finalBalance", "type": "uint256" } ], "name": "UserStakeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "initialBalance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "finalBalance", "type": "uint256" } ], "name": "UserWithdrawableFundsUpdated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_stakerMap", "outputs": [ { "internalType": "uint256", "name": "amountStaked", "type": "uint256" }, { "internalType": "bytes32", "name": "latestStakedAssertion", "type": "bytes32" }, { "internalType": "uint64", "name": "index", "type": "uint64" }, { "internalType": "bool", "name": "isStaked", "type": "bool" }, { "internalType": "address", "name": "withdrawalAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "staker", "type": "address" } ], "name": "amountStaked", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "anyTrustFastConfirmer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseStake", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bridge", "outputs": [ { "internalType": "contract IBridge", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "chainId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "challengeGracePeriodBlocks", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "challengeManager", "outputs": [ { "internalType": "contract IEdgeChallengeManager", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "confirmPeriodBlocks", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "genesisAssertionHash", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "assertionHash", "type": "bytes32" } ], "name": "getAssertion", "outputs": [ { "components": [ { "internalType": "uint64", "name": "firstChildBlock", "type": "uint64" }, { "internalType": "uint64", "name": "secondChildBlock", "type": "uint64" }, { "internalType": "uint64", "name": "createdAtBlock", "type": "uint64" }, { "internalType": "bool", "name": "isFirstChild", "type": "bool" }, { "internalType": "enum AssertionStatus", "name": "status", "type": "uint8" }, { "internalType": "bytes32", "name": "configHash", "type": "bytes32" } ], "internalType": "struct AssertionNode", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "assertionHash", "type": "bytes32" } ], "name": "getAssertionCreationBlockForLogLookup", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "assertionHash", "type": "bytes32" } ], "name": "getFirstChildCreationBlock", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "assertionHash", "type": "bytes32" } ], "name": "getSecondChildCreationBlock", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "staker", "type": "address" } ], "name": "getStaker", "outputs": [ { "components": [ { "internalType": "uint256", "name": "amountStaked", "type": "uint256" }, { "internalType": "bytes32", "name": "latestStakedAssertion", "type": "bytes32" }, { "internalType": "uint64", "name": "index", "type": "uint64" }, { "internalType": "bool", "name": "isStaked", "type": "bool" }, { "internalType": "address", "name": "withdrawalAddress", "type": "address" } ], "internalType": "struct IRollupCore.Staker", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "stakerNum", "type": "uint64" } ], "name": "getStakerAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getValidators", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "inbox", "outputs": [ { "internalType": "contract IInboxBase", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "assertionHash", "type": "bytes32" } ], "name": "isFirstChild", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "assertionHash", "type": "bytes32" } ], "name": "isPending", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "staker", "type": "address" } ], "name": "isStaked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "validator", "type": "address" } ], "name": "isValidator", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestConfirmed", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "staker", "type": "address" } ], "name": "latestStakedAssertion", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "loserStakeEscrow", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minimumAssertionPeriod", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "outbox", "outputs": [ { "internalType": "contract IOutbox", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rollupDeploymentBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rollupEventInbox", "outputs": [ { "internalType": "contract IRollupEventInbox", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sequencerInbox", "outputs": [ { "internalType": "contract ISequencerInbox", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "stakeToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "stakerCount", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalWithdrawableFunds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "assertionHash", "type": "bytes32" }, { "components": [ { "components": [ { "internalType": "bytes32[2]", "name": "bytes32Vals", "type": "bytes32[2]" }, { "internalType": "uint64[2]", "name": "u64Vals", "type": "uint64[2]" } ], "internalType": "struct GlobalState", "name": "globalState", "type": "tuple" }, { "internalType": "enum MachineStatus", "name": "machineStatus", "type": "uint8" }, { "internalType": "bytes32", "name": "endHistoryRoot", "type": "bytes32" } ], "internalType": "struct AssertionState", "name": "state", "type": "tuple" }, { "internalType": "bytes32", "name": "prevAssertionHash", "type": "bytes32" }, { "internalType": "bytes32", "name": "inboxAcc", "type": "bytes32" } ], "name": "validateAssertionHash", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "assertionHash", "type": "bytes32" }, { "components": [ { "internalType": "bytes32", "name": "wasmModuleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "requiredStake", "type": "uint256" }, { "internalType": "address", "name": "challengeManager", "type": "address" }, { "internalType": "uint64", "name": "confirmPeriodBlocks", "type": "uint64" }, { "internalType": "uint64", "name": "nextInboxPosition", "type": "uint64" } ], "internalType": "struct ConfigData", "name": "configData", "type": "tuple" } ], "name": "validateConfig", "outputs": [], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "validatorAfkBlocks", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "validatorWalletCreator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "validatorWhitelistDisabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "wasmModuleRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "withdrawableFunds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "staker", "type": "address" } ], "name": "withdrawalAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x", "deployedBytecode": "0x", "linkReferences": {}, "deployedLinkReferences": {} }