Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // user
- struct User {
- uint UserListPointer; // needed to delete a "User"
- bytes32[] AccountKeys; // User has many "Account"s
- mapping(bytes32 => uint) AccountKeyPointers;
- //User properties
- bytes32 userName;
- }
- mapping(address => User) private Users;
- address[] private UserList;
- event UserRegistered_Successful(address userAddress, bytes32 userName);
- /**
- * @dev Function to check if _userAddress exist
- * @param _userAddress the address to check if it exist.
- * @return boolean flag if _userAddress exist.
- */
- function isUser(address _userAddress) public view returns(bool isIndeed) {
- if(UserList.length==0) return false;
- return UserList[Users[_userAddress].UserListPointer]==_userAddress;
- }
- /**
- * @dev Function to register User
- * @param _userName the bytes32 to insert userName.
- * @return boolean flag if register success.
- */
- function registerUser(bytes32 _userName) public returns (bool isIndeed) {
- if(isUser(msg.sender)) revert(); // duplicate user prohibited
- Users[msg.sender].ListPointer = UserList.push(msg.sender)-1;
- Users[msg.sender].userName = _userName;
- UserRegistered_Successful(msg.sender, _userName);
- return true;
- }
Add Comment
Please, Sign In to add comment