Remove Hash, Hash256, Hash160 and ScryptHash256 classes.
[NovacoinLibrary.git] / Novacoin / CKeyID.cs
1 \feff/**
2 *  Novacoin classes library
3 *  Copyright (C) 2015 Alex D. (balthazar.ad@gmail.com)
4
5 *  This program is free software: you can redistribute it and/or modify
6 *  it under the terms of the GNU Affero General Public License as
7 *  published by the Free Software Foundation, either version 3 of the
8 *  License, or (at your option) any later version.
9
10 *  This program is distributed in the hope that it will be useful,
11 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 *  GNU Affero General Public License for more details.
14
15 *  You should have received a copy of the GNU Affero General Public License
16 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19 namespace Novacoin
20 {
21     /// <summary>
22     /// Represents the key identifier. Internal state is calculated as Hash160(pubkey).
23     /// </summary>
24     public class CKeyID : uint160
25     {
26         #region Constructors
27         public CKeyID() : base()
28         {
29         }
30
31         public CKeyID(CKeyID KeyID) : base(KeyID as uint160)
32         {
33         }
34
35         public CKeyID(uint160 pubKeyHash) : base(pubKeyHash)
36         {
37         }
38
39         public CKeyID(byte[] hashBytes) : base(hashBytes)
40         {
41         }
42         #endregion
43
44         /// <summary>
45         /// Generate Pay-to-PubkeyHash address
46         /// </summary>
47         /// <returns>Base58 formatted novacoin address</returns>
48         public override string ToString()
49         {
50             return (new CNovacoinAddress(this)).ToString();
51         }
52     }
53 }