pragma solidity 0.4.24; pragma experimental ABIEncoderV2; contract Inventory { address admin; mapping(address => Owner) public owners; Asset[] assets; uint256 numberOfAssets = 0; struct Owner { uint256 numberAssets; } struct Asset { string name; address owner; } function constructor() { admin = msg.sender; } function addAsset(string n) public { assets[numberOfAssets].name = n; assets[numberOfAssets].owner = msg.sender; numberOfAssets++; owners[msg.sender].numberAssets++; } function getAsset(uint256 i) constant returns(string name, address owner) { return (assets[i].name , assets[i].owner); } function kill() public { if(msg.sender == admin) selfdestruct(admin); } }
0.4.24