0 txs
0 calls
constructor
No constructor.
functions
identify
purefunction identify() pure returns (string)
isFinalized
viewfunction isFinalized() view returns (bool)
isFrozen
viewfunction isFrozen() view returns (bool)
isOperator
viewfunction isOperator(address testedOperator) view returns (bool)
l1ToL2Messages
viewfunction l1ToL2Messages(bytes32 msgHash) view returns (uint256)
l2ToL1Messages
viewfunction l2ToL1Messages(bytes32 msgHash) view returns (uint256)
programHash
viewfunction programHash() view returns (uint256)
starknetIsGovernor
viewfunction starknetIsGovernor(address testGovernor) view returns (bool)
stateRoot
viewfunction stateRoot() view returns (uint256)
stateSequenceNumber
viewfunction stateSequenceNumber() view returns (int256)
consumeMessageFromL2
nonpayablefunction consumeMessageFromL2(uint256 from_address, uint256[] payload) returns (bytes32)
finalize
nonpayablefunction finalize()
initialize
nonpayablefunction initialize(bytes data)
registerOperator
nonpayablefunction registerOperator(address newOperator)
sendMessageToL2
nonpayablefunction sendMessageToL2(uint256 to_address, uint256 selector, uint256[] payload) returns (bytes32)
setProgramHash
nonpayablefunction setProgramHash(uint256 newProgramHash)
starknetAcceptGovernance
nonpayablefunction starknetAcceptGovernance()
starknetCancelNomination
nonpayablefunction starknetCancelNomination()
starknetNominateNewGovernor
nonpayablefunction starknetNominateNewGovernor(address newGovernor)
starknetRemoveGovernor
nonpayablefunction starknetRemoveGovernor(address governorForRemoval)
unregisterOperator
nonpayablefunction unregisterOperator(address removedOperator)
updateState
nonpayablefunction updateState(int256 sequenceNumber, uint256[] programOutput, uint256 onchainDataHash, uint256 onchainDataSize)
events
ConsumedMessageToL1
event ConsumedMessageToL1(uint256 indexed from_address, address indexed to_address, uint256[] payload)
ConsumedMessageToL2
event ConsumedMessageToL2(address indexed from_address, uint256 indexed to_address, uint256 indexed selector, uint256[] payload)
LogMessageToL1
event LogMessageToL1(uint256 indexed from_address, address indexed to_address, uint256[] payload)
LogMessageToL2
event LogMessageToL2(address indexed from_address, uint256 indexed to_address, uint256 indexed selector, uint256[] payload)
LogNewGovernorAccepted
event LogNewGovernorAccepted(address acceptedGovernor)
LogNominatedGovernor
event LogNominatedGovernor(address nominatedGovernor)
LogNominationCancelled
event LogNominationCancelled()
LogOperatorAdded
event LogOperatorAdded(address operator)
LogOperatorRemoved
event LogOperatorRemoved(address operator)
LogRemovedGovernor
event LogRemovedGovernor(address removedGovernor)
LogStateTransitionFact
event LogStateTransitionFact(bytes32 stateTransitionFact)
LogStateUpdate
event LogStateUpdate(uint256 globalRoot, int256 sequenceNumber)
errors
No errors.
creation bytecode
0x60a060405234801561001057600080fd5b50600030425a6040516020016100289392919061004f565b60408051601f1981840301815291905280516020909101206080819052602a905550610070565b6001600160a01b039390931683526020830191909152604082015260600190565b6080516120f461008a6000398061072c52506120f46000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638a9bf090116100b857806396115bc21161007c57806396115bc21461025a578063a46efaf31461026d578063a5cab76914610280578063e37fec2514610288578063e87e733214610290578063eeb72866146102a357610142565b80638a9bf090146102275780638d4e40831461022f57806391a66a2614610237578063946be3ed1461024a5780639588eca21461025257610142565b80633e3aa6c51161010a5780633e3aa6c5146101c0578063439fab91146101d35780634bb278f3146101e65780636d70f7ae146101ee57806377c7d7a91461020157806384f921cd1461021457610142565b806301a015901461014757806313f4a5b6146101705780632c9dd5c01461018557806333eeb147146101a55780633682a450146101ad575b600080fd5b61015a6101553660046116a9565b6102b8565b60405161016791906119ff565b60405180910390f35b61018361017e366004611771565b6102c9565b005b610198610193366004611844565b61050e565b6040516101679190611a0a565b61015a6105e8565b6101836101bb3660046116a9565b6105ed565b6101986101ce36600461188e565b610680565b6101836101e1366004611704565b61072a565b61018361086d565b61015a6101fc3660046116a9565b6108b7565b61019861020f3660046116ec565b6108e4565b6101836102223660046116a9565b6108ff565b61019861090b565b61015a610933565b6101836102453660046116a9565b610956565b61018361095f565b610198610967565b6101836102683660046116a9565b610977565b61019861027b3660046116ec565b6109ff565b610198610a09565b610183610a1c565b61018361029e3660046116ec565b610a24565b6102ab610a77565b6040516101679190611a42565b60006102c382610aae565b92915050565b6102d2336108b7565b6102f75760405162461bcd60e51b81526004016102ee90611e92565b60405180910390fd5b6103018484610add565b60006103228585604051806040016040528087815260200186815250610afd565b9050600061032e61090b565b82604051602001610340929190611f0d565b604051602081830303815290604052805190602001209050610360610b78565b6001600160a01b0316636a938567826040518263ffffffff1660e01b815260040161038b9190611a0a565b60206040518083038186803b1580156103a357600080fd5b505afa1580156103b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103db91906116cc565b6103f75760405162461bcd60e51b81526004016102ee90611df7565b7f9866f8ddfe70bb512b2f2b28b49d4017c43f7ba775f1a20c61c13eea8cdac111826040516104269190611a0a565b60405180910390a1600261044e60016104418884818c611f1b565b610449610b9b565b610bbe565b0161046860006104608884818c611f1b565b610449610e74565b018581146104885760405162461bcd60e51b81526004016102ee90611d06565b61049e888888610496610e97565b929190610ee1565b6104a661164d565b6104ae610e97565b60408051808201825282548082526001909301546020820181905291519093507fe8012213bb931d3efa0a954cfb0d7b75f2a5e2358ba5f7d3edfb0154f6e7a568926104fb929091611f0d565b60405180910390a1505050505050505050565b604051600090819061052c9086903390869088908290602001611956565b604051602081830303815290604052805190602001209050600061054e610b9b565b600083815260209190915260409020541161057b5760405162461bcd60e51b81526004016102ee90611e5b565b336001600160a01b0316857f7a06c571aa77f34d9706c51e5d8122b5595aebeaa34233bfe866f22befb973b186866040516105b79291906119c5565b60405180910390a360016105c9610b9b565b6000838152602091909152604090208054919091039055949350505050565b600090565b6105f633610aae565b6106125760405162461bcd60e51b81526004016102ee90611dce565b600161061c610f5b565b6001600160a01b0383166000908152602091909152604090819020805460ff191692151592909217909155517f50a18c352ee1c02ffe058e15c2eb6e58be387c81e73cc1e17035286e54c19a57906106759083906119b1565b60405180910390a150565b60008385336001600160a01b03167f474d2456b41fc1146ae05ba36e794e448efd2f172a9128ca1c8c6dbdb22b62f786866040516106bf9291906119c5565b60405180910390a46040516000906106e890339088906001870190899089908990602001611980565b604051602081830303815290604052805190602001209050600161070a610e74565b600083815260209190915260409020805490910190559050949350505050565b7f0000000000000000000000000000000000000000000000000000000000000000805490811561076c5760405162461bcd60e51b81526004016102ee90611c3c565b505060006107786105e8565b602090810291508101808310156107a15760405162461bcd60e51b81526004016102ee90611e2e565b60006107af82848688611f46565b8101906107bc91906116a9565b90503660006107cd8582888a611f46565b915091506107db8282610869565b3660006107ea8887818c611f46565b90925090506001600160a01b0385161561081557610809858383610f7e565b50505050505050610869565b61081d6110a3565b156108455780156108405760405162461bcd60e51b81526004016102ee90611bde565b610861565b61084f82826110b4565b6108598282611114565b61086161115c565b505050505050505b5050565b61087633610aae565b6108925760405162461bcd60e51b81526004016102ee90611dce565b6108b560405180606001604052806031815260200161208e6031913960016111b3565b565b60006108c1610f5b565b6001600160a01b0392909216600090815260209290925250604090205460ff1690565b60006108ee610e74565b600092835260205250604090205490565b610908816111e6565b50565b600061092e604051806060016040528060238152602001612048602391396112c1565b905090565b600061092e60405180606001604052806031815260200161208e603191396112c1565b610908816112f5565b6108b5611399565b6000610971610e97565b54905090565b61098033610aae565b61099c5760405162461bcd60e51b81526004016102ee90611dce565b60006109a6610f5b565b6001600160a01b0383166000908152602091909152604090819020805460ff191692151592909217909155517fec5f6c3a91a1efb1f9a308bb33c6e9e66bf9090fad0732f127dfdbf516d0625d906106759083906119b1565b60006108ee610b9b565b6000610a13610e97565b60010154905090565b6108b561142b565b610a2c610933565b15610a495760405162461bcd60e51b81526004016102ee90611dab565b610a5233610aae565b610a6e5760405162461bcd60e51b81526004016102ee90611dce565b6109088161149b565b60408051808201909152601981527f537461726b576172655f537461726b6e65745f323032315f3100000000000000602082015290565b600080610ab96114bd565b6001600160a01b039390931660009081526020939093525050604090205460ff1690565b600281116108695760405162461bcd60e51b81526004016102ee90611d3d565b60405160009083908290610b17908790849060200161190a565b60405160208183030381529060405280519060200120905060008183866000015187602001518601604051602001610b52949392919061191f565b60408051808303601f190181529190528051602090910120600101979650505050505050565b600061092e604051806060016040528060228152602001611fb4602291396112c1565b600061092e60405180606001604052806023815260200161206b60239139611506565b60008084846000818110610bce57fe5b90506020020135905063400000008110610bfa5760405162461bcd60e51b81526004016102ee90611ccf565b60018181015b80821015610e4a5760028201868110610c2b5760405162461bcd60e51b81526004016102ee90611aa1565b6000888883818110610c3957fe5b90506020020135905063400000008110610c655760405162461bcd60e51b81526004016102ee90611c0c565b83810160030188811115610c8b5760405162461bcd60e51b81526004016102ee90611d74565b6000610c9982878c8e611f1b565b604051602001610caa92919061190a565b6040516020818303038152906040528051906020012090508b15610d63578a8a60018801818110610cd757fe5b905060200201356001600160a01b03168b8b60008901818110610cf657fe5b905060200201357f4264ac208b5fde633ccdd42e0f12c3d6d443a4f3779bbf886925b94665b63a228d8d60038b01908792610d3393929190611f1b565b604051610d419291906119c5565b60405180910390a3600081815260208a90526040902080546001019055610e3f565b600081815260208a90526040902054610d8e5760405162461bcd60e51b81526004016102ee90611e5b565b8a8a60038801818110610d9d57fe5b905060200201358b8b60018901818110610db357fe5b905060200201358c8c60008a01818110610dc957fe5b905060200201356001600160a01b03167f1b7c6a3c6d074c4cf7fd0d3df85d11841723634d90f563629ea6d1a88f5ff2528e8e60038c01600101908892610e1293929190611f1b565b604051610e209291906119c5565b60405180910390a4600081815260208a90526040902080546000190190555b509350610c00915050565b808214610e695760405162461bcd60e51b81526004016102ee90611ccf565b509695505050505050565b600061092e604051806060016040528060238152602001611ffe60239139611506565b60008060405180606001604052806027815260200161202160279139604051602001610ec3919061193a565b60408051601f19818403018152919052805160209091012092915050565b60018481018054909101908190558314610f0d5760405162461bcd60e51b81526004016102ee90611acc565b366000610f1a8484611539565b91509150610f288282611555565b865414610f475760405162461bcd60e51b81526004016102ee90611b5d565b610f518282611573565b9095555050505050565b600061092e604051806060016040528060288152602001611fd660289139611506565b610f90836001600160a01b0316611582565b610fac5760405162461bcd60e51b81526004016102ee90611a75565b60006060846001600160a01b031663439fab9160e01b8585604051602401610fd5929190611a13565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611013919061193a565b600060405180830381855af49150503d806000811461104e576040519150601f19603f3d011682016040523d82523d6000602084013e611053565b606091505b50915091508181906110785760405162461bcd60e51b81526004016102ee9190611a42565b50805181901561109b5760405162461bcd60e51b81526004016102ee9190611a42565b505050505050565b60006110ad61090b565b1515905090565b608081146110d45760405162461bcd60e51b81526004016102ee90611b03565b60006110e36020828486611f46565b8101906110f091906116ec565b90508061110f5760405162461bcd60e51b81526004016102ee90611ca3565b505050565b60008061111f61164d565b61112b848601866117cd565b92509250925061113a8361149b565b61114382611588565b6111558161114f610e97565b906115aa565b5050505050565b60006111666114bd565b6001810154909150600160a01b900460ff16156111955760405162461bcd60e51b81526004016102ee90611b8c565b60018101805460ff60a01b1916600160a01b179055610908336115ba565b6000826040516020016111c6919061193a565b604051602081830303815290604052805190602001209050818155505050565b6111ef33610aae565b61120b5760405162461bcd60e51b81526004016102ee90611dce565b336001600160a01b03821614156112345760405162461bcd60e51b81526004016102ee90611eb9565b600061123e6114bd565b905061124982610aae565b6112655760405162461bcd60e51b81526004016102ee90611ee7565b6001600160a01b03821660009081526020829052604090819020805460ff19169055517fd75f94825e770b8b512be8e74759e252ad00e102e38f50cce2f7c6f868a29599906112b59084906119b1565b60405180910390a15050565b600080826040516020016112d5919061193a565b60408051601f198184030181529190528051602090910120549392505050565b6112fe33610aae565b61131a5760405162461bcd60e51b81526004016102ee90611dce565b60006113246114bd565b905061132f82610aae565b1561134c5760405162461bcd60e51b81526004016102ee90611b33565b6001810180546001600160a01b0319166001600160a01b0384161790556040517f6166272c8d3f5f579082f2827532732f97195007983bb5b83ac12c56700b01a6906112b59084906119b1565b60006113a36114bd565b60018101549091506001600160a01b031633146113d25760405162461bcd60e51b81526004016102ee90611c6c565b60018101546113e9906001600160a01b03166115ba565b6001810180546001600160a01b03191690556040517fcfb473e6c03f9a29ddaf990e736fa3de5188a0bd85d684f5b6e164ebfbfff5d2906106759033906119b1565b61143433610aae565b6114505760405162461bcd60e51b81526004016102ee90611dce565b600061145a6114bd565b6001810180546001600160a01b03191690556040519091507f7a8dc7dd7fffb43c4807438fa62729225156941e641fd877938f4edade3429f590600090a150565b61090860405180606001604052806023815260200161204860239139826111b3565b6000806040518060400160405280601c81526020017f535441524b4e45545f312e305f474f5645524e414e43455f494e464f00000000815250604051602001610ec3919061193a565b6000808260405160200161151a919061193a565b60408051601f1981840301815291905280516020909101209392505050565b3660006115496002828587611f1b565b915091505b9250929050565b60008282600081811061156457fe5b90506020020135905092915050565b60008282600181811061156457fe5b3b151590565b610908604051806060016040528060228152602001611fb46022913982611612565b8051825560200151600190910155565b6115c381610aae565b156115e05760405162461bcd60e51b81526004016102ee90611b33565b60006115ea6114bd565b6001600160a01b0390921660009081526020929092525060409020805460ff19166001179055565b600061161d836112c1565b6001600160a01b0316146116435760405162461bcd60e51b81526004016102ee90611bb9565b61086982826111b3565b604051806040016040528060008152602001600081525090565b60008083601f840112611678578182fd5b50813567ffffffffffffffff81111561168f578182fd5b602083019150836020808302850101111561154e57600080fd5b6000602082840312156116ba578081fd5b81356116c581611f9e565b9392505050565b6000602082840312156116dd578081fd5b815180151581146116c5578182fd5b6000602082840312156116fd578081fd5b5035919050565b60008060208385031215611716578081fd5b823567ffffffffffffffff8082111561172d578283fd5b818501915085601f830112611740578283fd5b81358181111561174e578384fd5b86602082850101111561175f578384fd5b60209290920196919550909350505050565b600080600080600060808688031215611788578081fd5b85359450602086013567ffffffffffffffff8111156117a5578182fd5b6117b188828901611667565b9699909850959660408101359660609091013595509350505050565b600080600083850360808112156117e2578384fd5b8435935060208501356117f481611f9e565b92506040603f1982011215611807578182fd5b506040516040810181811067ffffffffffffffff82111715611827578283fd5b604090815285013581526060909401356020850152509093909250565b600080600060408486031215611858578283fd5b83359250602084013567ffffffffffffffff811115611875578283fd5b61188186828701611667565b9497909650939450505050565b600080600080606085870312156118a3578384fd5b8435935060208501359250604085013567ffffffffffffffff8111156118c7578283fd5b6118d387828801611667565b95989497509550505050565b60006001600160fb1b038311156118f4578081fd5b6020830280838637939093019283525090919050565b60006119178284866118df565b949350505050565b93845260208401929092526040830152606082015260800190565b6000825161194c818460208701611f6e565b9190910192915050565b60008682528560208301528460408301526119756060830184866118df565b979650505050505050565b60008782528660208301528560408301528460608301526119a56080830184866118df565b98975050505050505050565b6001600160a01b0391909116815260200190565b6020808252810182905260006001600160fb1b038311156119e4578081fd5b60208302808560408501379190910160400190815292915050565b901515815260200190565b90815260200190565b60006020825282602083015282846040840137818301604090810191909152601f909201601f19160101919050565b6000602082528251806020840152611a61816040850160208701611f6e565b601f01601f19169190910160400192915050565b602080825260129082015271115250d7d393d517d057d0d3d395149050d560721b604082015260600190565b602080825260119082015270135154d4d051d157d513d3d7d4d213d495607a1b604082015260600190565b60208082526017908201527f494e56414c49445f53455155454e43455f4e554d424552000000000000000000604082015260600190565b602080825260169082015275494c4c4547414c5f494e49545f444154415f53495a4560501b604082015260600190565b60208082526010908201526f20a62922a0a22cafa3a7ab22a92727a960811b604082015260600190565b6020808252601590820152741253959053125117d41491559253d554d7d493d3d5605a1b604082015260600190565b6020808252601390820152721053149150511657d253925512505312569151606a1b604082015260600190565b6020808252600b908201526a1053149150511657d4d15560aa1b604082015260600190565b602080825260149082015273554e45585045435445445f494e49545f4441544160601b604082015260600190565b6020808252601690820152750929cac82989288bea082b2989e8288be988a9c8ea8960531b604082015260600190565b6020808252601690820152751112549150d517d0d0531317d11254d0531313d5d15160521b604082015260600190565b60208082526017908201527f4f4e4c595f43414e4449444154455f474f5645524e4f52000000000000000000604082015260600190565b6020808252601290820152712120a22fa4a724aa24a0a624ad20aa24a7a760711b604082015260600190565b6020808252601c908201527f494e56414c49445f4d4553534147455f5345474d454e545f53495a4500000000604082015260600190565b60208082526018908201527f535441524b4e45545f4f55545055545f544f4f5f4c4f4e470000000000000000604082015260600190565b60208082526019908201527f535441524b4e45545f4f55545055545f544f4f5f53484f525400000000000000604082015260600190565b60208082526019908201527f5452554e43415445445f4d4553534147455f5041594c4f414400000000000000604082015260600190565b60208082526009908201526811925390531256915160ba1b604082015260600190565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b60208082526019908201527f4e4f5f53544154455f5452414e534954494f4e5f50524f4f4600000000000000604082015260600190565b6020808252601390820152721253925517d110551057d513d3d7d4d3505313606a1b604082015260600190565b6020808252601a908201527f494e56414c49445f4d4553534147455f544f5f434f4e53554d45000000000000604082015260600190565b6020808252600d908201526c27a7262cafa7a822a920aa27a960991b604082015260600190565b602080825260149082015273474f5645524e4f525f53454c465f52454d4f564560601b604082015260600190565b6020808252600c908201526b2727aa2fa3a7ab22a92727a960a11b604082015260600190565b918252602082015260400190565b60008085851115611f2a578182fd5b83861115611f36578182fd5b5050602083020193919092039150565b60008085851115611f55578081fd5b83861115611f61578081fd5b5050820193919092039150565b60005b83811015611f89578181015183820152602001611f71565b83811115611f98576000848401525b50505050565b6001600160a01b038116811461090857600080fdfe535441524b4e45545f312e305f494e49545f56455249464945525f41444452455353535441524b4e45545f312e305f524f4c45535f4f50455241544f52535f4d415050494e475f544147535441524b4e45545f312e305f4d5347494e475f4c31544f4c325f4d41505050494e47535441524b4e45545f312e305f494e49545f535441524b4e45545f53544154455f535452554354535441524b4e45545f312e305f494e49545f50524f4752414d5f484153485f55494e54535441524b4e45545f312e305f4d5347494e475f4c32544f4c315f4d41505050494e47535441524b574152455f434f4e5452414354535f474f564552454e45445f46494e414c495a41424c455f312e305f544147a26469706673582212202d3154bf0e8174a4de80203edb417fe649374c77204fac8232fdc2a58710ad2464736f6c634300060c0033