From b0231204600cb4275dfb328bc06f1edb7a78c024 Mon Sep 17 00:00:00 2001 From: Olaoluwa Osuntokun Date: Wed, 18 Nov 2015 14:59:51 -0800 Subject: [PATCH] add skeleton for shachain packaged MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Still considering if it’s better just to use a modified HD chain or not: * give them child branch/sub-tree etc. --- wallet/shachain/hash_chain.go | 32 ++++++++++++++++++++++++++++++ wallet/shachain/hash_chain_test.go | 1 + 2 files changed, 33 insertions(+) create mode 100644 wallet/shachain/hash_chain.go create mode 100644 wallet/shachain/hash_chain_test.go diff --git a/wallet/shachain/hash_chain.go b/wallet/shachain/hash_chain.go new file mode 100644 index 00000000..4c3a8e52 --- /dev/null +++ b/wallet/shachain/hash_chain.go @@ -0,0 +1,32 @@ +package wallet + +import "github.com/btcsuite/btcd/wire" + +// TODO(roasbeef): port Rusty's hash-chain stuff +// * or just use HD chains based off of CodeShark's proposal? + +// chainFragment... +type chainFragment struct { + index uint64 + hash wire.ShaHash +} + +// ShaChain... +type ShaChain struct { + lastChainIndex uint64 + + chainFragments []chainFragment +} + +// NewShaChain... +func NewShaChain(seed wire.ShaHash) *ShaChain { + // TODO(roasbeef): from/to or static size? +} + +// NextHash... +func (s *ShaChain) NextHash() { +} + +// GetHash... +func (s *ShaChain) GetHash(index uint64) { +} diff --git a/wallet/shachain/hash_chain_test.go b/wallet/shachain/hash_chain_test.go new file mode 100644 index 00000000..23a75073 --- /dev/null +++ b/wallet/shachain/hash_chain_test.go @@ -0,0 +1 @@ +package wallet