0 txs
0 calls
constructor
constructor(address bridge, uint256 bond, uint256 unchallengedFraudWindow, uint256 challengedFraudWindow, address initOperator, address verifier, bytes32 verifyingKey)
functions
BOND
viewfunction BOND() view returns (uint256)
BRIDGE
viewfunction BRIDGE() view returns (address)
CHALLENGED_FRAUD_WINDOW
viewfunction CHALLENGED_FRAUD_WINDOW() view returns (uint256)
getFactInfo
viewfunction getFactInfo(bytes32 fact) view returns (tuple)
getFactState
viewfunction getFactState(bytes32 fact) view returns (uint8)
operator
viewfunction operator() view returns (address)
operatorBondBalance
viewfunction operatorBondBalance() view returns (uint256)
UNCHALLENGED_FRAUD_WINDOW
viewfunction UNCHALLENGED_FRAUD_WINDOW() view returns (uint256)
VERIFIER
viewfunction VERIFIER() view returns (address)
VERIFYING_KEY
viewfunction VERIFYING_KEY() view returns (bytes32)
challengeFact
payablefunction challengeFact(bytes32 fact) payable
depositBond
payablefunction depositBond() payable
disproveChallengedFact
nonpayablefunction disproveChallengedFact(tuple challengedUpdateFacts, tuple proposedUpdateFacts, bytes proof, bytes publicValues)
finalizeOptimisticFact
nonpayablefunction finalizeOptimisticFact(bytes32 fact)
proposeFact
nonpayablefunction proposeFact(tuple updateFacts) returns (bytes32 fact)
proveChallengedFact
nonpayablefunction proveChallengedFact(tuple updateFacts, bytes proof, bytes publicValues)
revertChallengedFactTimeout
nonpayablefunction revertChallengedFactTimeout(bytes32 fact)
withdrawBond
nonpayablefunction withdrawBond(uint256 amount)
events
FactChallenged
event FactChallenged(bytes32 indexed fact, uint256 timestamp)
FactProposed
event FactProposed(bytes32 indexed fact, uint256 timestamp)
FactStateUpdated
event FactStateUpdated(bytes32 indexed fact, uint8 oldState, uint8 newState)
errors
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
DAHashMismatch
error DAHashMismatch(bytes32 expected, bytes32 actual)
FailedInnerCall
error FailedInnerCall()
FraudWindowNotPassed
error FraudWindowNotPassed(uint256 currentTimestamp, uint256 fraudWindowEnd)
IncorrectBond
error IncorrectBond(uint256 sent, uint256 required)
InvalidFactState
error InvalidFactState(uint8 state)
InvalidProof
error InvalidProof()
NotBridge
error NotBridge(address sender)
NotOperator
error NotOperator(address sender)
PrevStateHashMismatch
error PrevStateHashMismatch(bytes32 expected, bytes32 actual)
creation bytecode
0x61014060405234801561001157600080fd5b5060405161168938038061168983398101604081905261003091610093565b6001600160a01b0396871660805260a09590955260c09390935260e091909152600280546001600160a01b03191691851691909117905590911661010052610120526100ff565b80516001600160a01b038116811461008e57600080fd5b919050565b600080600080600080600060e0888a0312156100ae57600080fd5b6100b788610077565b602089015160408a015160608b0151929950909750955093506100dc60808901610077565b92506100ea60a08901610077565b915060c0880151905092959891949750929550565b60805160a05160c05160e05161010051610120516114cb6101be60003960008181610224015281816105a90152610dbd0152600081816101200152818161057c0152610d900152600081816101f001528181610a0d0152610a4f0152600081816101ae0152818161075f01526107a50152600081816102e50152818161063f01528181610833015281816108b6015281816108f001528181610aba01528181610b9d0152610e8b01526000818161038c0152610b0801526114cb6000f3fe6080604052600436106101095760003560e01c8063bc1a1a1e11610095578063d796919311610064578063d796919314610347578063e0696acd1461035a578063ee9a31a21461037a578063fbfa27ce146103ae578063fe0dc7e4146103ce57600080fd5b8063bc1a1a1e146102bd578063c1c1d218146102d3578063c3daab9614610307578063cfe644801461032757600080fd5b80634b904390116100dc5780634b90439014610212578063570ca73514610246578063741b3c39146102665780638ec9fc05146102705780639da494081461029d57600080fd5b806308c84e701461010e578063135b96461461015f578063183ae47c1461019c5780634a23029b146101de575b600080fd5b34801561011a57600080fd5b506101427f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016b57600080fd5b5061018f61017a366004611030565b60009081526020819052604090205460ff1690565b6040516101569190611081565b3480156101a857600080fd5b506101d07f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610156565b3480156101ea57600080fd5b506101d07f000000000000000000000000000000000000000000000000000000000000000081565b34801561021e57600080fd5b506101d07f000000000000000000000000000000000000000000000000000000000000000081565b34801561025257600080fd5b50600254610142906001600160a01b031681565b61026e6103ee565b005b34801561027c57600080fd5b5061029061028b366004611030565b610439565b604051610156919061108f565b3480156102a957600080fd5b5061026e6102b8366004611224565b6104e2565b3480156102c957600080fd5b506101d060015481565b3480156102df57600080fd5b506101d07f000000000000000000000000000000000000000000000000000000000000000081565b34801561031357600080fd5b5061026e610322366004611030565b610683565b34801561033357600080fd5b5061026e610342366004611030565b6106d5565b61026e610355366004611030565b61086d565b34801561036657600080fd5b5061026e610375366004611030565b6109bb565b34801561038657600080fd5b506101427f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ba57600080fd5b506101d06103c936600461129d565b610afb565b3480156103da57600080fd5b5061026e6103e93660046112c0565b610c67565b6002546001600160a01b0316331461042057604051633b63649d60e11b81523360048201526024015b60405180910390fd5b34600160008282546104329190611363565b9091555050565b604080516080810182526000808252602082018190529181018290526060810191909152600082815260208190526040908190208151608081019092528054829060ff16600581111561048e5761048e611049565b600581111561049f5761049f611049565b815281546001600160a01b0361010082041660208301526001600160401b03600160a81b9091048116604083015260019092015490911660609091015292915050565b6002546001600160a01b0316331461050f57604051633b63649d60e11b8152336004820152602401610417565b600061051a84610ed3565b600081815260208190526040902080549192509060ff16600281600581111561054557610545611049565b14610565578060405163c13081ef60e01b81526004016104179190611081565b60405163020a49e360e51b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906341493c60906105d5907f000000000000000000000000000000000000000000000000000000000000000090899089906004016113c6565b60006040518083038186803b1580156105ed57600080fd5b505afa158015610601573d6000803e3d6000fd5b5050835460ff19166005908117855560405186935060008051602061147683398151915292506106329185916113fb565b60405180910390a26106657f00000000000000000000000000000000000000000000000000000000000000006002611416565b600160008282546106769190611363565b9091555050505050505050565b6002546001600160a01b031633146106b057604051633b63649d60e11b8152336004820152602401610417565b80600160008282546106c2919061142d565b909155506106d290503382610f99565b50565b6000818152602081905260409020805460ff1660048160058111156106fc576106fc611049565b14806107195750600581600581111561071757610717611049565b145b1561072357505050565b600181600581111561073757610737611049565b14610757578060405163c13081ef60e01b81526004016104179190611081565b8154610794907f000000000000000000000000000000000000000000000000000000000000000090600160a81b90046001600160401b0316611363565b4210156107fc57815442906107da907f000000000000000000000000000000000000000000000000000000000000000090600160a81b90046001600160401b0316611363565b6040516323d2db3f60e11b815260048101929092526024820152604401610417565b815460ff1916600490811783556040518491600080516020611476833981519152916108299185916113fb565b60405180910390a27f0000000000000000000000000000000000000000000000000000000000000000600160008282546108639190611363565b9091555050505050565b6000818152602081905260409020805460ff16600181600581111561089457610894611049565b146108b4578060405163c13081ef60e01b81526004016104179190611081565b7f0000000000000000000000000000000000000000000000000000000000000000341461091c576040516385c6e45160e01b81523460048201527f00000000000000000000000000000000000000000000000000000000000000006024820152604401610417565b815460018301805467ffffffffffffffff1916426001600160401b031617905560026001600160a81b0319909116610100330217811783556040518491600080516020611476833981519152916109749185916113fb565b60405180910390a2827fa30d30a0795795e0fa5c7786ff00995038ddc943c00cf4f0aa7ceb140191c012426040516109ae91815260200190565b60405180910390a2505050565b6000818152602081905260409020805460ff1660028160058111156109e2576109e2611049565b14610a02578060405163c13081ef60e01b81526004016104179190611081565b6001820154610a3b907f0000000000000000000000000000000000000000000000000000000000000000906001600160401b0316611363565b421015610a7d57600182015442906107da907f0000000000000000000000000000000000000000000000000000000000000000906001600160401b0316611363565b815460ff191660039081178355604051849160008051602061147683398151915291610aaa9185916113fb565b60405180910390a2610af6610ae07f00000000000000000000000000000000000000000000000000000000000000006002611416565b835461010090046001600160a01b031690610f99565b505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b4857604051637c8da0cf60e11b8152336004820152602401610417565b610b5182610ed3565b600081815260208190526040812080549293509160ff1690816005811115610b7b57610b7b611049565b14610b9b578060405163c13081ef60e01b81526004016104179190611081565b7f000000000000000000000000000000000000000000000000000000000000000060016000828254610bcd919061142d565b90915550508154600160ff67ffffffffffffffff60a81b0119909116600160a81b426001600160401b0316021781178355604051849160008051602061147683398151915291610c1e9185916113fb565b60405180910390a2827fccf85315d65afaf074dd858b721a4c3c4d0ff37efcb8009c446c44ec66cdfe4142604051610c5891815260200190565b60405180910390a25050919050565b6000610c7285610ed3565b90506000610c7f85610ed3565b6000838152602081905260408082208383529120815481549394509192909160ff90811691166002826005811115610cb957610cb9611049565b14610cd9578160405163c13081ef60e01b81526004016104179190611081565b6000816005811115610ced57610ced611049565b14610d0d578060405163c13081ef60e01b81526004016104179190611081565b88518a5114610d3c578951895160405163036bde0160e21b815260048101929092526024820152604401610417565b88604001518a6040015114610d79578960400151896040015160405163df8847bd60e01b8152600401610417929190918252602082015260400190565b60405163020a49e360e51b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906341493c6090610de9907f0000000000000000000000000000000000000000000000000000000000000000908c908c906004016113c6565b60006040518083038186803b158015610e0157600080fd5b505afa158015610e15573d6000803e3d6000fd5b5050855460ff1916600390811787556040518993506000805160206114768339815191529250610e469186916113fb565b60405180910390a2825460ff191660059081178455604051869160008051602061147683398151915291610e7b9185916113fb565b60405180910390a2610ec7610eb17f00000000000000000000000000000000000000000000000000000000000000006002611416565b855461010090046001600160a01b031690610f99565b50505050505050505050565b6000600282604051602001610f399190600060c082019050825182526020830151602083015260408301516040830152606083015160608301526001600160401b0360808401511660808301526001600160401b0360a08401511660a083015292915050565b60408051601f1981840301815290829052610f5391611440565b602060405180830381855afa158015610f70573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610f93919061145c565b92915050565b80471015610fbc5760405163cd78605960e01b8152306004820152602401610417565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611009576040519150601f19603f3d011682016040523d82523d6000602084013e61100e565b606091505b5050905080610af657604051630a12f52160e11b815260040160405180910390fd5b60006020828403121561104257600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6006811061107d57634e487b7160e01b600052602160045260246000fd5b9052565b60208101610f93828461105f565b60006080820190506110a282845161105f565b60018060a01b0360208401511660208301526001600160401b0360408401511660408301526001600160401b03606084015116606083015292915050565b634e487b7160e01b600052604160045260246000fd5b80356001600160401b038116811461110d57600080fd5b919050565b600060c0828403121561112457600080fd5b60405160c081016001600160401b0381118282101715611146576111466110e0565b6040908152833582526020808501359083015283810135908201526060808401359082015290508061117a608084016110f6565b608082015261118b60a084016110f6565b60a08201525092915050565b600082601f8301126111a857600080fd5b81356001600160401b038111156111c1576111c16110e0565b604051601f8201601f19908116603f011681016001600160401b03811182821017156111ef576111ef6110e0565b60405281815283820160200185101561120757600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000610100848603121561123a57600080fd5b6112448585611112565b925060c08401356001600160401b0381111561125f57600080fd5b61126b86828701611197565b92505060e08401356001600160401b0381111561128757600080fd5b61129386828701611197565b9150509250925092565b600060c082840312156112af57600080fd5b6112b98383611112565b9392505050565b6000806000806101c085870312156112d757600080fd5b6112e18686611112565b93506112f08660c08701611112565b92506101808501356001600160401b0381111561130c57600080fd5b61131887828801611197565b9250506101a08501356001600160401b0381111561133557600080fd5b61134187828801611197565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b80820180821115610f9357610f9361134d565b60005b83811015611391578181015183820152602001611379565b50506000910152565b600081518084526113b2816020860160208601611376565b601f01601f19169290920160200192915050565b8381526060602082015260006113df606083018561139a565b82810360408401526113f1818561139a565b9695505050505050565b60408101611409828561105f565b6112b9602083018461105f565b8082028115828204841417610f9357610f9361134d565b81810381811115610f9357610f9361134d565b60008251611452818460208701611376565b9190910192915050565b60006020828403121561146e57600080fd5b505191905056fec849f89e73f23e9e6731774805a88b90cb962346c9bc0cce4f041a3cd839f6b9a264697066735822122042ece293c3c84bac45fab0a6901698932d28357d10b91d3ed17d021f82ec6e2c64736f6c634300081a003300000000000000000000000042d0227d4fdc7712668cfb6b7be892013888d61d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf267701c047db88a7a6382582a390bacf1a978b000000000000000000000000e7392644e103c7c8a5e9867c867e8ac83cf6c8b7b5ed858e974c4e6aa61ac7050c7b7d49ca899136bfac832ee633eef025ee2836