bd4dea53c13104f72f618ff58823b2b3059343e1
[NovacoinLibrary.git] / Novacoin / CScriptID.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 using System;
20 using System.Diagnostics.Contracts;
21
22 namespace Novacoin
23 {
24     public class CScriptID : Hash160
25     {
26         public CScriptID(Hash160 scriptHash)
27         {
28             _hashBytes = scriptHash;
29         }
30
31         internal CScriptID(byte[] hashBytes)
32         {
33             Contract.Requires<ArgumentException>(hashBytes.Length == 20, "Your data doesn't seem like a hash160 of some value.");
34
35             _hashBytes = hashBytes;
36         }
37
38         public override string ToString()
39         {
40             return (new CNovacoinAddress(this)).ToString();
41         }
42
43     }
44 }