X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=Novacoin%2FCKeyStore.cs;h=b7dae294fc8ed30c81b50330bbf8030e3b651d6d;hb=f30a394b2eca2189e0b926818a2190efd1a798e9;hp=e90b103b6ca0e8de03f095688eab6edf9b18e284;hpb=76cb31496b0a6c10854071195c9312366acb56f3;p=NovacoinLibrary.git diff --git a/Novacoin/CKeyStore.cs b/Novacoin/CKeyStore.cs index e90b103..b7dae29 100644 --- a/Novacoin/CKeyStore.cs +++ b/Novacoin/CKeyStore.cs @@ -39,19 +39,19 @@ namespace Novacoin public int ItemId { get; set; } /// - /// Hash160 of pubkey in base58 form + /// Hash160 of pubkey /// - public string KeyID { get; set; } + public byte[] KeyID { get; set; } /// - /// Public key in base58 form + /// Public key /// - public string PublicKey { get; set; } + public byte[] PublicKey { get; set; } /// - /// Private key in base58 form + /// Private key /// - public string PrivateKey { get; set; } + public byte[] PrivateKey { get; set; } /// /// Compressed key flag @@ -78,15 +78,14 @@ namespace Novacoin public int ItemId { get; set; } /// - /// Hash160 of script in base58 form + /// Hash160 of script /// - public string ScriptID { get; set; } + public byte[] ScriptID { get; set; } /// - /// Script code bytes in hex form + /// Script code bytes /// - public string ScriptCode { get; set; } - + public byte[] ScriptCode { get; set; } } /// @@ -116,15 +115,15 @@ namespace Novacoin dbConn.CreateTable(CreateFlags.AutoIncPK); // Generate keys - for (int i = 0; i < 100; i++) + for (int i = 0; i < 1000; i++) { var keyPair = new CKeyPair(); var res = dbConn.Insert(new KeyStorageItem() { - KeyID = keyPair.KeyID.ToString(), // Use string serializarion of binary values, - PublicKey = keyPair.PubKey.ToString(), // otherwise sqlite corrupts them. - PrivateKey = keyPair.ToString(), + KeyID = keyPair.KeyID.hashBytes, + PublicKey = keyPair.PublicBytes, + PrivateKey = keyPair.SecretBytes, IsCompressed = keyPair.IsCompressed, IsUsed = false }); @@ -155,9 +154,9 @@ namespace Novacoin { var res = dbConn.Insert(new KeyStorageItem() { - KeyID = keyPair.KeyID.ToString(), - PublicKey = keyPair.PubKey.ToString(), - PrivateKey = keyPair.ToString(), + KeyID = keyPair.KeyID.hashBytes, + PublicKey = keyPair.PublicBytes, + PrivateKey = keyPair.SecretBytes, IsCompressed = keyPair.IsCompressed, IsUsed = true }); @@ -173,8 +172,7 @@ namespace Novacoin public bool HaveKey(CKeyID keyID) { - var QueryCount = dbConn.Query("select count([ItemID]) as [Count] from [KeyStorage] where [KeyID] = ?", keyID.ToString()); - + var QueryCount = dbConn.Query("select count([ItemID]) as [Count] from [KeyStorage] where [KeyID] = ?", keyID.hashBytes); return QueryCount.First().Count == 1; } @@ -187,7 +185,7 @@ namespace Novacoin /// Result public bool GetKey(CKeyID keyID, out CKeyPair keyPair) { - var QueryGet = dbConn.Query("select * from [KeyStorage] where [KeyID] = ?", keyID.ToString()); + var QueryGet = dbConn.Query("select * from [KeyStorage] where [KeyID] = ?", keyID.hashBytes); if (QueryGet.Count() == 1) { @@ -205,8 +203,8 @@ namespace Novacoin { var res = dbConn.Insert(new ScriptStorageItem() { - ScriptID = script.ScriptID.ToString(), - ScriptCode = Interop.ToHex(script.Bytes) + ScriptID = script.ScriptID.hashBytes, + ScriptCode = script.Bytes }); if (res == 0) @@ -220,18 +218,18 @@ namespace Novacoin public bool HaveScript(CScriptID scriptID) { - var QueryGet = dbConn.Query("select count([ItemID]) from [ScriptStorage] where [ScriptID] = ?", scriptID.ToString()); + var QueryGet = dbConn.Query("select count([ItemID]) from [ScriptStorage] where [ScriptID] = ?", scriptID.hashBytes); return QueryGet.First().Count == 1; } public bool GetScript(CScriptID scriptID, out CScript script) { - var QueryGet = dbConn.Query("select * from [ScriptStorage] where [ScriptID] = ?", scriptID.ToString()); + var QueryGet = dbConn.Query("select * from [ScriptStorage] where [ScriptID] = ?", scriptID.hashBytes); if (QueryGet.Count() == 1) { - script = new CScript(Interop.HexToArray(QueryGet.First().ScriptCode)); + script = new CScript(QueryGet.First().ScriptCode); return true; }