@mantleio/contracts
Version:
[Mantle] L1 and L2 smart contracts for Mantle
353 lines (352 loc) • 20.6 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "AssertionMap",
"sourceName": "contracts/L1/fraud-proof/AssertionMap.sol",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "ChildInboxSizeMismatch",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "rollup",
"type": "address"
}
],
"name": "NotRollup",
"type": "error"
},
{
"inputs": [],
"name": "SiblingStateHashExists",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "assertions",
"outputs": [
{
"internalType": "bytes32",
"name": "stateHash",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "inboxSize",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "parent",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "proposalTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "numStakers",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "childInboxSize",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "stateHash",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "inboxSize",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "parentID",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
}
],
"name": "createAssertion",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "deleteAssertion",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "deleteAssertionForBatch",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "getDeadline",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "getInboxSize",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "getNumStakers",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "getParentID",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "getProposalTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
}
],
"name": "getStateHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
},
{
"internalType": "address",
"name": "stakerAddress",
"type": "address"
}
],
"name": "isStaker",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "rollupAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_rollupAddress",
"type": "address"
}
],
"name": "setRollupAddress",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assertionID",
"type": "uint256"
},
{
"internalType": "address",
"name": "stakerAddress",
"type": "address"
}
],
"name": "stakeOnAssertion",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b610c81806100ed6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806354823e6611610097578063873fd08911610066578063873fd089146102d1578063a832c3ae14610327578063d0087d611461033a578063d8a4e5af1461034d57600080fd5b806354823e66146102415780635ec6a8df146102615780638129fc1c146102a657806382862275146102ae57600080fd5b8063366b2b69116100d3578063366b2b6914610169578063422815841461018c5780634e04886d1461019f578063524232f6146101c257600080fd5b806307663706146100fa5780632b27e93b1461010f57806330b9477014610146575b600080fd5b61010d610108366004610b49565b610360565b005b61013361011d366004610b6b565b6000908152600160208190526040909120015490565b6040519081526020015b60405180910390f35b610133610154366004610b6b565b60009081526001602052604090206002015490565b610133610177366004610b6b565b60009081526001602052604090206005015490565b61010d61019a366004610b84565b6104cf565b6101336101ad366004610b6b565b60009081526001602052604090206004015490565b61020c6101d0366004610b6b565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600690950154939492939192909187565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e00161013d565b61013361024f366004610b6b565b60009081526001602052604090205490565b6003546102819073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013d565b61010d610700565b6101336102bc366004610b6b565b60009081526001602052604090206003015490565b6103176102df366004610bbf565b600091825260026020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b604051901515815260200161013d565b61010d610335366004610bbf565b61088a565b61010d610348366004610b6b565b610978565b61010d61035b366004610b6b565b610a72565b60035473ffffffffffffffffffffffffffffffffffffffff161561040b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f726f6c6c75704164647265737320616c726561647920696e697469616c697a6560448201527f642e00000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f4144445245535300000000000000000000000000000000000000006044820152606401610402565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60035473ffffffffffffffffffffffffffffffffffffffff163314610542576003546040517f3933c6fc00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610402565b6000828152600160209081526040808320600290925290912060068201548061057157600683018690556105da565b8086146105da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4368696c64496e626f7853697a654d69736d61746368000000000000000000006044820152606401610402565b600087815260018301602052604090205460ff1615610655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5369626c696e67537461746548617368457869737473000000000000000000006044820152606401610402565b50600086815260019182016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685179055805160e081018252988952888201978852888101968752606089019586524360808a0190815260a08a0184815260c08b018581529b85529285905292209751885595519187019190915592516002860155505160038401555160048301555160058201559051600690910155565b600054610100900460ff16158080156107205750600054600160ff909116105b8061073a5750303b15801561073a575060005460ff166001145b6107c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610402565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561082457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b801561088757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60035473ffffffffffffffffffffffffffffffffffffffff1633146108fd576003546040517f3933c6fc00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610402565b60008281526001602081815260408084206002835281852073ffffffffffffffffffffffffffffffffffffffff87168652909252832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155600581018054919261096e83610beb565b9190505550505050565b60035473ffffffffffffffffffffffffffffffffffffffff1633146109eb576003546040517f3933c6fc00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610402565b600090815260016020818152604080842080546002808301805488855584880189905590889055600384018890556004840188905560058401889055600693840188905587528387209092018690559083528185209085529092019052902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60035473ffffffffffffffffffffffffffffffffffffffff163314610ae5576003546040517f3933c6fc00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610402565b600090815260016020819052604082208281559081018290556002810182905560038101829055600481018290556005810182905560060155565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b4457600080fd5b919050565b600060208284031215610b5b57600080fd5b610b6482610b20565b9392505050565b600060208284031215610b7d57600080fd5b5035919050565b600080600080600060a08688031215610b9c57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008060408385031215610bd257600080fd5b82359150610be260208401610b20565b90509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610c44577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220acd405bd898eae7c9fd5c61cddb20cf8e53b7bf787c6e27ce2e1027f231aef7964736f6c63430008090033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806354823e6611610097578063873fd08911610066578063873fd089146102d1578063a832c3ae14610327578063d0087d611461033a578063d8a4e5af1461034d57600080fd5b806354823e66146102415780635ec6a8df146102615780638129fc1c146102a657806382862275146102ae57600080fd5b8063366b2b69116100d3578063366b2b6914610169578063422815841461018c5780634e04886d1461019f578063524232f6146101c257600080fd5b806307663706146100fa5780632b27e93b1461010f57806330b9477014610146575b600080fd5b61010d610108366004610b49565b610360565b005b61013361011d366004610b6b565b6000908152600160208190526040909120015490565b6040519081526020015b60405180910390f35b610133610154366004610b6b565b60009081526001602052604090206002015490565b610133610177366004610b6b565b60009081526001602052604090206005015490565b61010d61019a366004610b84565b6104cf565b6101336101ad366004610b6b565b60009081526001602052604090206004015490565b61020c6101d0366004610b6b565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600690950154939492939192909187565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e00161013d565b61013361024f366004610b6b565b60009081526001602052604090205490565b6003546102819073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013d565b61010d610700565b6101336102bc366004610b6b565b60009081526001602052604090206003015490565b6103176102df366004610bbf565b600091825260026020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b604051901515815260200161013d565b61010d610335366004610bbf565b61088a565b61010d610348366004610b6b565b610978565b61010d61035b366004610b6b565b610a72565b60035473ffffffffffffffffffffffffffffffffffffffff161561040b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f726f6c6c75704164647265737320616c726561647920696e697469616c697a6560448201527f642e00000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f4144445245535300000000000000000000000000000000000000006044820152606401610402565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60035473ffffffffffffffffffffffffffffffffffffffff163314610542576003546040517f3933c6fc00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610402565b6000828152600160209081526040808320600290925290912060068201548061057157600683018690556105da565b8086146105da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4368696c64496e626f7853697a654d69736d61746368000000000000000000006044820152606401610402565b600087815260018301602052604090205460ff1615610655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5369626c696e67537461746548617368457869737473000000000000000000006044820152606401610402565b50600086815260019182016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685179055805160e081018252988952888201978852888101968752606089019586524360808a0190815260a08a0184815260c08b018581529b85529285905292209751885595519187019190915592516002860155505160038401555160048301555160058201559051600690910155565b600054610100900460ff16158080156107205750600054600160ff909116105b8061073a5750303b15801561073a575060005460ff166001145b6107c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610402565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561082457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b801561088757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60035473ffffffffffffffffffffffffffffffffffffffff1633146108fd576003546040517f3933c6fc00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610402565b60008281526001602081815260408084206002835281852073ffffffffffffffffffffffffffffffffffffffff87168652909252832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155600581018054919261096e83610beb565b9190505550505050565b60035473ffffffffffffffffffffffffffffffffffffffff1633146109eb576003546040517f3933c6fc00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610402565b600090815260016020818152604080842080546002808301805488855584880189905590889055600384018890556004840188905560058401889055600693840188905587528387209092018690559083528185209085529092019052902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60035473ffffffffffffffffffffffffffffffffffffffff163314610ae5576003546040517f3933c6fc00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610402565b600090815260016020819052604082208281559081018290556002810182905560038101829055600481018290556005810182905560060155565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b4457600080fd5b919050565b600060208284031215610b5b57600080fd5b610b6482610b20565b9392505050565b600060208284031215610b7d57600080fd5b5035919050565b600080600080600060a08688031215610b9c57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008060408385031215610bd257600080fd5b82359150610be260208401610b20565b90509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610c44577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220acd405bd898eae7c9fd5c61cddb20cf8e53b7bf787c6e27ce2e1027f231aef7964736f6c63430008090033",
"linkReferences": {},
"deployedLinkReferences": {}
}