pragma solidity ^0.4.24; contract StructDefineSample { struct Validator { // Used to determine the amount of wei the validator holds. To get the actual // amount of wei, multiply this by the deposit_scale_factor. uint168 deposit; // : decimal(wei/m), int128 start_dynasty; int128 end_dynasty; bool is_slashed; uint total_deposits_at_logout; //: wei_value, // The address which the validator's signatures must verify against address addr; address withdrawal_addr; } Validator[] _validators; // To avoid tuple, and it produce same code of vyper compiler. function validators__deposit(int128 arg0) public view returns (uint) { return _validators[uint256(arg0)].deposit; } function validators__start_dynasty(int128 arg0) public view returns (int128) { return _validators[uint256(arg0)].start_dynasty; } function validators__end_dynasty(int128 arg0) public view returns (int128) { return _validators[uint256(arg0)].end_dynasty; } function validators__is_slashed(int128 arg0) public view returns (bool) { return _validators[uint256(arg0)].is_slashed; } function validators__total_deposits_at_logout(int128 arg0) public view returns (uint) { return _validators[uint256(arg0)].total_deposits_at_logout; } function validators__addr(int128 arg0) public view returns (address) { return _validators[uint256(arg0)].addr; } function validators__withdrawal_addr(int128 arg0) public view returns (address) { return _validators[uint256(arg0)].withdrawal_addr; } }
0.4.24