pragma solidity ^0.4.24; contract A { uint eventId = 2; string uniqueVendorRef = "UniqueTicketRef2"; bytes32 vendorTicketRefHash = keccak256(abi.encodePacked(uniqueVendorRef)); // bytes32 vendorTicketRefHash = 0x401fe3217d433fb5683819bd2906c1cfce4ffc310adbd3f083779bd6445e0c18; string ticketMetadata = "some metadata"; address ticketOwner = 0xc8bda5db1e89b8eca12aa885821a66a9cda7f8d1; // hash of eventId, vendorTicketRefHash, ticketOwner bytes32 public proofHash = keccak256(abi.encodePacked(eventId, vendorTicketRefHash, ticketOwner)); address eventOwner = 0xe9fc3fab441149cd1da672ddafc254ecf43c5641; // originalProof = the proofHash signed by the eventOwner bytes originalProof = hex"feff00425228d4afb6eff2c28fd78497832e1a64c29817982a608690467b1a462ace4b15b27688518e77d2c333b842c45e1f236a907e0427f509df1799feaf7e00"; // optional bytes doorData = ""; // packed bytes bytes public packed = abi.encodePacked(eventId, vendorTicketRefHash, ticketMetadata, ticketOwner, originalProof, doorData); // hashed packed bytes bytes32 public leafHash = keccak256(packed); // expected leafHash = 0xe3b7756d314fd54067e251e7dce73081828d35c45a95451d3949447e971934fe }
0.4.18