NovacoinLibrary.git
8 years agoUse ulong type for output value.
CryptoManiac [Sun, 30 Aug 2015 05:24:01 +0000]
Use ulong type for output value.

8 years agoBugfix: incorrect TxOffset calculation.
CryptoManiac [Sat, 29 Aug 2015 20:17:19 +0000]
Bugfix: incorrect TxOffset calculation.

8 years agoReplace if - throw checkings with contracts.
CryptoManiac [Sat, 29 Aug 2015 18:25:53 +0000]
Replace if - throw checkings with contracts.

Also, use TryGet() to get push data in GetOP().

8 years agoTryGet, TryGetCurrent
CryptoManiac [Sat, 29 Aug 2015 18:16:49 +0000]
TryGet, TryGetCurrent

8 years agoHash and CTransaction: remove pre-initialization of properties.
CryptoManiac [Sat, 29 Aug 2015 16:49:42 +0000]
Hash and CTransaction: remove pre-initialization of properties.

8 years agoScriptCode: fix stack depth precondition and add preproccessor directive checking...
CryptoManiac [Sat, 29 Aug 2015 16:46:46 +0000]
ScriptCode: fix stack depth precondition and add preproccessor directive checking to prevent such issues in the future.

8 years agoAdd SQLiteNetExtensions and its dependencies.
CryptoManiac [Fri, 28 Aug 2015 22:31:25 +0000]
Add SQLiteNetExtensions and its dependencies.

8 years agoImplementation of new Size property for CScript, CTxIn, CTxOut, CTransaction and...
CryptoManiac [Fri, 28 Aug 2015 22:28:26 +0000]
Implementation of new Size property for CScript, CTxIn, CTxOut, CTransaction and CBlock.

8 years agoVarInt: new GetEncodedSize() method
CryptoManiac [Fri, 28 Aug 2015 22:26:12 +0000]
VarInt: new GetEncodedSize() method

8 years agoCBlock: Fix null reference in copy constructor
CryptoManiac [Fri, 28 Aug 2015 17:31:35 +0000]
CBlock: Fix null reference in copy constructor

8 years agoRemove contracts from Hash.Equals, Hash.CompareTo and Hash.!=.
CryptoManiac [Fri, 28 Aug 2015 16:37:40 +0000]
Remove contracts from Hash.Equals, Hash.CompareTo and Hash.!=.

8 years agoDuplicate checking.
CryptoManiac [Fri, 28 Aug 2015 14:55:39 +0000]
Duplicate checking.

8 years agoHash:GetHashCode()
CryptoManiac [Fri, 28 Aug 2015 14:06:33 +0000]
Hash:GetHashCode()

Now it's necessary because we want to use hash as key for dictionary.

8 years agoCChainNode
CryptoManiac [Fri, 28 Aug 2015 12:04:17 +0000]
CChainNode

8 years agoComment
CryptoManiac [Fri, 28 Aug 2015 11:57:07 +0000]
Comment

8 years agoNull reference contracts
CryptoManiac [Fri, 28 Aug 2015 10:31:20 +0000]
Null reference contracts

8 years agoHash comparison operations
CryptoManiac [Fri, 28 Aug 2015 09:52:27 +0000]
Hash comparison operations

8 years agoHash comparison operations
CryptoManiac [Fri, 28 Aug 2015 09:33:08 +0000]
Hash comparison operations

8 years agoInitial implementation of CBlockStore.
CryptoManiac [Fri, 28 Aug 2015 00:08:54 +0000]
Initial implementation of CBlockStore.

8 years agoTODO
CryptoManiac [Thu, 27 Aug 2015 21:49:39 +0000]
TODO

8 years agoCodeContractsReferenceAssembly=Build, fix typo in method name
CryptoManiac [Thu, 27 Aug 2015 19:54:04 +0000]
CodeContractsReferenceAssembly=Build, fix typo in method name

8 years agoUse code contracts.
CryptoManiac [Thu, 27 Aug 2015 19:12:25 +0000]
Use code contracts.

RunCodeAnalysis=True
CodeContractsEnableRuntimeChecking=True

8 years agoUse implicit type casting operator for serialization.
CryptoManiac [Thu, 27 Aug 2015 15:07:42 +0000]
Use implicit type casting operator for serialization.

8 years agoRemove transaction example.
CryptoManiac [Thu, 27 Aug 2015 14:07:30 +0000]
Remove transaction example.

8 years agoAdd key store reset test
CryptoManiac [Thu, 27 Aug 2015 13:01:40 +0000]
Add key store reset test

8 years agoFix SQL error
CryptoManiac [Thu, 27 Aug 2015 13:01:20 +0000]
Fix SQL error

8 years agoImplement CKeyPool functionality as a part of CKeyStore, remove CKeyPool.
CryptoManiac [Thu, 27 Aug 2015 12:55:51 +0000]
Implement CKeyPool functionality as a part of CKeyStore, remove CKeyPool.

8 years agoAdd ArgumentException for incorrect private key
CryptoManiac [Thu, 27 Aug 2015 11:25:51 +0000]
Add ArgumentException for incorrect private key

8 years agoRemove zero only if serialized key is 33 bytes long.
CryptoManiac [Thu, 27 Aug 2015 10:39:11 +0000]
Remove zero only if serialized key is 33 bytes long.

8 years agoCNovacoinAddress: Return hash data as byte array
CryptoManiac [Thu, 27 Aug 2015 06:11:57 +0000]
CNovacoinAddress: Return hash data as byte array

8 years agoAlternate privkey generation method, disabled for now
CryptoManiac [Thu, 27 Aug 2015 06:11:02 +0000]
Alternate privkey generation method, disabled for now

8 years agoKeyStore: key timestamp
CryptoManiac [Thu, 27 Aug 2015 06:09:56 +0000]
KeyStore: key timestamp

8 years agoLEBytes() and ToUInt32Array now are private members of ScryptHash256
CryptoManiac [Thu, 27 Aug 2015 06:09:00 +0000]
LEBytes() and ToUInt32Array now are private members of ScryptHash256

8 years agoSerialization isn't necessary anymore.
CryptoManiac [Wed, 26 Aug 2015 18:24:35 +0000]
Serialization isn't necessary anymore.

8 years agoSimplest implementation of CKeyStore
CryptoManiac [Tue, 25 Aug 2015 23:47:29 +0000]
Simplest implementation of CKeyStore

8 years agoPush SQLite.Net-PCL NuGet package
CryptoManiac [Tue, 25 Aug 2015 20:47:58 +0000]
Push SQLite.Net-PCL NuGet package

8 years agoCKeyPool stub
CryptoManiac [Tue, 25 Aug 2015 16:34:05 +0000]
CKeyPool stub

8 years agoAdd CKeyStore stub
CryptoManiac [Mon, 24 Aug 2015 23:18:24 +0000]
Add CKeyStore stub

8 years agoFix incorrect comments
CryptoManiac [Mon, 24 Aug 2015 17:31:07 +0000]
Fix incorrect comments

8 years agoCScript: implement new AddRawData method, allow RemoveInstruction to process the...
CryptoManiac [Mon, 24 Aug 2015 17:28:52 +0000]
CScript: implement new AddRawData method, allow RemoveInstruction to process the PUSH operators.

+ remove all these big-endian conversions, we're not on big-endian
platform.

8 years agoFix RemovePattern issues
CryptoManiac [Mon, 24 Aug 2015 09:59:37 +0000]
Fix RemovePattern issues

8 years agoCODESEPARATOR workaround
CryptoManiac [Mon, 24 Aug 2015 04:40:34 +0000]
CODESEPARATOR workaround

8 years agoAppend big-endian value with zeros if its size is less than used by specific data...
CryptoManiac [Mon, 24 Aug 2015 04:08:28 +0000]
Append big-endian value with zeros if its size is less than used by specific data type

8 years agoP2SH Test
CryptoManiac [Mon, 24 Aug 2015 02:44:37 +0000]
P2SH Test

8 years agoGet rid of HexToList and HexToEnumerable functions
CryptoManiac [Mon, 24 Aug 2015 00:57:36 +0000]
Get rid of HexToList and HexToEnumerable functions

8 years agoJust add some syntactic sugar
CryptoManiac [Mon, 24 Aug 2015 00:33:41 +0000]
Just add some syntactic sugar

8 years agoUse GetRange for subsets
CryptoManiac [Mon, 24 Aug 2015 00:17:19 +0000]
Use GetRange for subsets

8 years agoComments
CryptoManiac [Sun, 23 Aug 2015 22:14:52 +0000]
Comments

8 years agoComments
CryptoManiac [Sun, 23 Aug 2015 22:07:43 +0000]
Comments

8 years agoUse GetDigestSize()
CryptoManiac [Sun, 23 Aug 2015 21:14:58 +0000]
Use GetDigestSize()

8 years agoUse BouncyCastle hashing functions
CryptoManiac [Sun, 23 Aug 2015 21:02:23 +0000]
Use BouncyCastle hashing functions

8 years agoMerkle tree computation
CryptoManiac [Sun, 23 Aug 2015 10:50:35 +0000]
Merkle tree computation

This implementation is quite slow, so optimization is on the way

8 years agoUse byte[] instead of IEnumerable<byte> if possible
CryptoManiac [Sun, 23 Aug 2015 06:32:13 +0000]
Use byte[] instead of IEnumerable<byte> if possible

8 years agoComments
CryptoManiac [Sun, 23 Aug 2015 04:26:03 +0000]
Comments

8 years agoAdd license text.
CryptoManiac [Sun, 23 Aug 2015 03:03:32 +0000]
Add license text.

8 years agoAdd license header.
CryptoManiac [Sun, 23 Aug 2015 03:01:08 +0000]
Add license header.

8 years agoUse SequenceEqual to compare stack items.
CryptoManiac [Sun, 23 Aug 2015 02:13:50 +0000]
Use SequenceEqual to compare stack items.

8 years agoEvalScript: fix execute flag calculation
CryptoManiac [Sun, 23 Aug 2015 02:06:07 +0000]
EvalScript: fix execute flag calculation

8 years agoReplace GetOpName with shorter version
CryptoManiac [Sun, 23 Aug 2015 01:03:26 +0000]
Replace GetOpName with shorter version

8 years agoVerifyScript
CryptoManiac [Sat, 22 Aug 2015 23:27:32 +0000]
VerifyScript

8 years agoMake IsCanonicalPubKey, IsCanonicalSignature and CheckSig public. Wrap execution...
CryptoManiac [Sat, 22 Aug 2015 22:49:57 +0000]
Make IsCanonicalPubKey, IsCanonicalSignature and CheckSig public. Wrap execution loop into try { } block

8 years agoUnreachable code
CryptoManiac [Sat, 22 Aug 2015 22:25:52 +0000]
Unreachable code

8 years agoDocument SignatureHash and EvalScript methods, a little refactoring of hashing instru...
CryptoManiac [Sat, 22 Aug 2015 22:21:45 +0000]
Document SignatureHash and EvalScript methods, a little refactoring of hashing instructions handling code

8 years agoPrint signature for proof-of-stake blocks only
CryptoManiac [Sat, 22 Aug 2015 22:14:22 +0000]
Print signature for proof-of-stake blocks only

8 years agoCTransaction.Hash property
CryptoManiac [Sat, 22 Aug 2015 21:58:50 +0000]
CTransaction.Hash property

8 years agoAdd SignatureOK property, init block signature with zero lengh byte array
CryptoManiac [Sat, 22 Aug 2015 21:11:34 +0000]
Add SignatureOK property, init block signature with zero lengh byte array

8 years agoUse NONEwithECDSA signer
CryptoManiac [Sat, 22 Aug 2015 21:10:12 +0000]
Use NONEwithECDSA signer

8 years agoCBlockHeader hash property
CryptoManiac [Sat, 22 Aug 2015 21:09:24 +0000]
CBlockHeader hash property

8 years agoUse length instead of last element value
CryptoManiac [Sat, 22 Aug 2015 21:08:40 +0000]
Use length instead of last element value

+ Resolve pubkeys list corruption issue

8 years agoSimplify OP_SMALLINTEGER checking
CryptoManiac [Sat, 22 Aug 2015 19:39:42 +0000]
Simplify OP_SMALLINTEGER checking

8 years agoCheckSig implementation
CryptoManiac [Sat, 22 Aug 2015 19:30:32 +0000]
CheckSig implementation

8 years agoAllow encoding/decoding for -1, rename opcodetype to instruction
CryptoManiac [Sat, 22 Aug 2015 18:56:17 +0000]
Allow encoding/decoding for -1, rename opcodetype to instruction

8 years agoRemove if block of checking disabled opcodes
CryptoManiac [Sat, 22 Aug 2015 17:44:52 +0000]
Remove if block of checking disabled opcodes

8 years agoEvaluateScript and IsCanonicalPubKey implementation, IsCanonicalSignature/CheckSig...
CryptoManiac [Sat, 22 Aug 2015 03:33:17 +0000]
EvaluateScript and IsCanonicalPubKey implementation, IsCanonicalSignature/CheckSig stubs.

8 years agoAdd README.md
CryptoManiac [Sat, 22 Aug 2015 02:41:31 +0000]
Add README.md

8 years agoStack machine helpers
CryptoManiac [Fri, 21 Aug 2015 20:49:07 +0000]
Stack machine helpers

8 years agoStack machine helpers
CryptoManiac [Fri, 21 Aug 2015 20:34:21 +0000]
Stack machine helpers

8 years agoRemoval of ReadVarInt
CryptoManiac [Fri, 21 Aug 2015 19:10:30 +0000]
Removal of ReadVarInt

8 years agoGeneric class was a bit excessive for our purposes
CryptoManiac [Fri, 21 Aug 2015 18:58:19 +0000]
Generic class was a bit excessive for our purposes

8 years agoRemove VarStr, for now
CryptoManiac [Fri, 21 Aug 2015 18:46:12 +0000]
Remove VarStr, for now

8 years agoRemove VarStr, for now
CryptoManiac [Fri, 21 Aug 2015 18:45:32 +0000]
Remove VarStr, for now

8 years agoInitialization cleanup
CryptoManiac [Fri, 21 Aug 2015 17:09:42 +0000]
Initialization cleanup

8 years agoSimplification of syntax
CryptoManiac [Fri, 21 Aug 2015 17:08:37 +0000]
Simplification of syntax

8 years agoNew constructor for block header class
CryptoManiac [Fri, 21 Aug 2015 16:00:10 +0000]
New constructor for block header class

8 years agoSetEmpty on construct
CryptoManiac [Fri, 21 Aug 2015 14:14:53 +0000]
SetEmpty on construct

8 years agoRemove old ToString code
CryptoManiac [Fri, 21 Aug 2015 14:01:34 +0000]
Remove old ToString code

8 years agoCOutPoint class, coinbase/coinstake properties
CryptoManiac [Fri, 21 Aug 2015 12:15:34 +0000]
COutPoint class, coinbase/coinstake properties

8 years agoCopy constructors for block, block header and hash classes
CryptoManiac [Fri, 21 Aug 2015 07:48:25 +0000]
Copy constructors for block, block header and hash classes

8 years agoSigHash tests
CryptoManiac [Fri, 21 Aug 2015 07:31:47 +0000]
SigHash tests

Not verified yet, though.

8 years agoComments
CryptoManiac [Fri, 21 Aug 2015 01:59:25 +0000]
Comments

8 years agoImprove empty constructors behavior
CryptoManiac [Fri, 21 Aug 2015 01:52:30 +0000]
Improve empty constructors behavior

8 years agoSignatureHash
CryptoManiac [Fri, 21 Aug 2015 00:18:19 +0000]
SignatureHash

8 years agoUse CScript for vin and vout,
CryptoManiac [Fri, 21 Aug 2015 00:18:11 +0000]
Use CScript for vin and vout,

8 years agoCTransaction: copy constructor
CryptoManiac [Thu, 20 Aug 2015 23:15:00 +0000]
CTransaction: copy constructor

8 years agoSolver: P2SH tests
CryptoManiac [Thu, 20 Aug 2015 21:50:33 +0000]
Solver: P2SH tests

8 years agoMultisig destination parsing example
CryptoManiac [Thu, 20 Aug 2015 20:52:50 +0000]
Multisig destination parsing example

8 years agoSetDestination fixes and tests
CryptoManiac [Thu, 20 Aug 2015 20:37:21 +0000]
SetDestination fixes and tests

8 years agoCScript.SetNullDestination
CryptoManiac [Thu, 20 Aug 2015 20:14:47 +0000]
CScript.SetNullDestination

8 years agoVirtual to abstract
CryptoManiac [Thu, 20 Aug 2015 19:22:09 +0000]
Virtual to abstract

8 years agoUse getters instead of Satoshi-style access methods
CryptoManiac [Thu, 20 Aug 2015 19:16:25 +0000]
Use getters instead of Satoshi-style access methods