0 txs
0 calls
constructor
No constructor.
functions
generateMerkleProof
purefunction generateMerkleProof(bytes32[] leaves, uint256 index) pure returns (bytes32[])
getMerkleRoot
viewfunction getMerkleRoot(uint256 messageId, uint256 batchId) view returns (bytes32)
MAX_RECEPTIONS
viewfunction MAX_RECEPTIONS() view returns (uint256)
merkleRoots
viewfunction merkleRoots(uint256, uint256) view returns (bytes32)
verifyReception
viewfunction verifyReception(uint256 messageId, uint256 batchId, bytes32 reception, bytes32[] proof) view returns (bool)
processReceptions
nonpayablefunction processReceptions(uint256 messageId, uint256 batchId, bytes32[] receptions)
events
MerkleProofStored
event MerkleProofStored(bytes32 indexed merkleRoot, uint256 indexed messageId, uint256 indexed batchId)
errors
No errors.
creation bytecode
0x6080604052348015600e575f5ffd5b50610bf18061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c80631f78a28a1461006457806335df60181461007957806339436b00146100a15780633beef39c146100d6578063d1f2b5e8146100df578063d6da100e146100f2575b5f5ffd5b61007761007236600461099b565b610112565b005b61008c6100873660046109ea565b61028e565b60405190151581526020015b60405180910390f35b6100c86100af366004610a46565b5f60208181529281526040808220909352908152205481565b604051908152602001610098565b6100c861020081565b6100c86100ed366004610a46565b6103c7565b610105610100366004610a66565b6103e5565b6040516100989190610aae565b806101575760405162461bcd60e51b815260206004820152601060248201526f456d70747920726563657074696f6e7360801b60448201526064015b60405180910390fd5b61020081111561019f5760405162461bcd60e51b8152602060048201526013602482015272546f6f206d616e7920726563657074696f6e7360681b604482015260640161014e565b5f84815260208181526040808320868452909152902054156102035760405162461bcd60e51b815260206004820152601a60248201527f4d65726b6c6520726f6f7420616c726561647920657869737473000000000000604482015260640161014e565b5f61023f8383808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061076192505050565b5f86815260208181526040808320888452909152808220839055519192508591879184917f6f4757f36cea8ac1c68775de1799017e59962f2ff1f7f35e938a7578ca67c52c9190a45050505050565b5f85815260208181526040808320878452909152812054806102ea5760405162461bcd60e51b815260206004820152601560248201527413595c9adb19481c9bdbdd081b9bdd08199bdd5b99605a1b604482015260640161014e565b845f5b848110156103bb5785858281811061030757610307610af0565b90506020020135821015610366578186868381811061032857610328610af0565b90506020020135604051602001610349929190918252602082015260400190565b6040516020818303038152906040528051906020012091506103b3565b85858281811061037857610378610af0565b905060200201358260405160200161039a929190918252602082015260400190565b6040516020818303038152906040528051906020012091505b6001016102ed565b50149695505050505050565b5f828152602081815260408083208484529091529020545b92915050565b60608282106104265760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b604482015260640161014e565b5f835b600181111561045d57600261043f826001610b18565b6104499190610b3f565b90508161045581610b52565b925050610429565b5f8267ffffffffffffffff81111561047757610477610b6a565b6040519080825280602002602001820160405280156104a0578160200160208202803683370190505b5090505f8590505f8888808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b85811015610753575f6002835160016104f69190610b18565b6105009190610b3f565b90505f8167ffffffffffffffff81111561051c5761051c610b6a565b604051908082528060200260200182016040528015610545578160200160208202803683370190505b5090505f5b8281101561068b575f61055e826002610b7e565b90505f61056c826001610b18565b905086518110156105fe5786828151811061058957610589610af0565b60200260200101518782815181106105a3576105a3610af0565b60200260200101516040516020016105c5929190918252602082015260400190565b604051602081830303815290604052805190602001208484815181106105ed576105ed610af0565b602002602001018181525050610681565b86828151811061061057610610610af0565b602002602001015187838151811061062a5761062a610af0565b602002602001015160405160200161064c929190918252602082015260400190565b6040516020818303038152906040528051906020012084848151811061067457610674610af0565b6020026020010181815250505b505060010161054a565b50610697600286610b95565b5f036106f85783516106aa866001610b18565b10156106f357836106bc866001610b18565b815181106106cc576106cc610af0565b60200260200101518684815181106106e6576106e6610af0565b6020026020010181815250505b61073b565b83610704600187610ba8565b8151811061071457610714610af0565b602002602001015186848151811061072e5761072e610af0565b6020026020010181815250505b610746600286610b3f565b94509250506001016104dd565b509198975050505050505050565b80515f9080820361077457505f92915050565b8060010361079e57825f8151811061078e5761078e610af0565b6020026020010151915050919050565b5f60026107ac836001610b18565b6107b69190610b3f565b90505f8167ffffffffffffffff8111156107d2576107d2610b6a565b6040519080825280602002602001820160405280156107fb578160200160208202803683370190505b5090505f5b82811015610940575f610814826002610b7e565b90505f610822826001610b18565b9050858110156108b35787828151811061083e5761083e610af0565b602002602001015188828151811061085857610858610af0565b602002602001015160405160200161087a929190918252602082015260400190565b604051602081830303815290604052805190602001208484815181106108a2576108a2610af0565b602002602001018181525050610936565b8782815181106108c5576108c5610af0565b60200260200101518883815181106108df576108df610af0565b6020026020010151604051602001610901929190918252602082015260400190565b6040516020818303038152906040528051906020012084848151811061092957610929610af0565b6020026020010181815250505b5050600101610800565b5061094a81610761565b95945050505050565b5f5f83601f840112610963575f5ffd5b50813567ffffffffffffffff81111561097a575f5ffd5b6020830191508360208260051b8501011115610994575f5ffd5b9250929050565b5f5f5f5f606085870312156109ae575f5ffd5b8435935060208501359250604085013567ffffffffffffffff8111156109d2575f5ffd5b6109de87828801610953565b95989497509550505050565b5f5f5f5f5f608086880312156109fe575f5ffd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115610a29575f5ffd5b610a3588828901610953565b969995985093965092949392505050565b5f5f60408385031215610a57575f5ffd5b50508035926020909101359150565b5f5f5f60408486031215610a78575f5ffd5b833567ffffffffffffffff811115610a8e575f5ffd5b610a9a86828701610953565b909790965060209590950135949350505050565b602080825282518282018190525f918401906040840190835b81811015610ae5578351835260209384019390920191600101610ac7565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156103df576103df610b04565b634e487b7160e01b5f52601260045260245ffd5b5f82610b4d57610b4d610b2b565b500490565b5f60018201610b6357610b63610b04565b5060010190565b634e487b7160e01b5f52604160045260245ffd5b80820281158282048414176103df576103df610b04565b5f82610ba357610ba3610b2b565b500690565b818103818111156103df576103df610b0456fea2646970667358221220cc4f77756d2019b7fe87ce1235159a02d53139944e27fbf51f569c004985d00f64736f6c634300081d0033