{ "attributes": { "fullyImplemented": true, "isLibrary": false, "linearizedBaseContracts": [ 274 ], "name": "Ballot" }, "children": [ { "attributes": { "name": "Voter" }, "children": [], "name": "StructDefinition" }, { "attributes": { "name": "Proposal" }, "children": [], "name": "StructDefinition" }, { "attributes": { "name": "chairperson", "type": "address" }, "children": [ { "attributes": { "name": "address" }, "name": "ElementaryTypeName" } ], "name": "VariableDeclaration" }, { "attributes": { "name": "voters", "type": "mapping(address => struct Ballot.Voter storage ref)" }, "children": [ { "children": [ { "attributes": { "name": "address" }, "name": "ElementaryTypeName" }, { "attributes": { "name": "Voter" }, "name": "UserDefinedTypeName" } ], "name": "Mapping" } ], "name": "VariableDeclaration" }, { "attributes": { "name": "proposals", "type": "struct Ballot.Proposal storage ref[] storage ref" }, "children": [ { "children": [ { "attributes": { "name": "Proposal" }, "name": "UserDefinedTypeName" } ], "name": "ArrayTypeName" } ], "name": "VariableDeclaration" }, { "attributes": { "constant": false, "name": "Ballot", "payable": false, "visibility": "public" }, "children": [], "name": "FunctionDefinition" }, { "attributes": { "constant": false, "name": "giveRightToVote", "payable": false, "visibility": "public" }, "children": [], "name": "FunctionDefinition" } ], "name": "ContractDefinition" }