62639a1e889caccf8ac2a62bf9afec9630abda87
[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         public CKeyID() : base()
27         {
28         }
29
30         public CKeyID(CKeyID KeyID) : base(KeyID)
31         {
32         }
33
34         public CKeyID(uint160 pubKeyHash) : base(pubKeyHash)
35         {
36         }
37
38         public CKeyID(byte[] hashBytes) : base(hashBytes)
39         {
40         }
41
42         /// <summary>
43         /// Generate Pay-to-PubkeyHash address
44         /// </summary>
45         /// <returns>Base58 formatted novacoin address</returns>
46         public override string ToString()
47         {
48             return (new CNovacoinAddress(this)).ToString();
49         }
50     }
51 }