pragma solidity 0.4.25; contract OrderManager { struct Order { uint256 foo; bool isOpen; } Order[] public orders; mapping (address => uint256[]) usersToOrders; function createOrder(uint256 foo) public { uint256 orderId = orders.push( Order({ foo: foo, isOpen: true }) ) - 1; usersToOrders[msg.sender].push(orderId); } function getOrder(uint256 orderId) public view returns ( uint256 foo, bool isOpen ) { return ( orders[orderId].foo, orders[orderId].isOpen ); } function updateOrder(uint256 orderId, bool newStatus) public { orders[orderId].isOpen = newStatus; } }
0.4.25