1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package shachain
- import (
- "bytes"
- "testing"
- "github.com/btcsuite/btcd/chaincfg/chainhash"
- )
- // TestShaChainProducerRestore checks the ability of shachain producer to be
- // properly recreated from binary representation.
- func TestShaChainProducerRestore(t *testing.T) {
- t.Parallel()
- var err error
- seed := chainhash.DoubleHashH([]byte("shachaintest"))
- sender := NewRevocationProducer(seed)
- s1, err := sender.AtIndex(0)
- if err != nil {
- t.Fatal(err)
- }
- var b bytes.Buffer
- if err := sender.Encode(&b); err != nil {
- t.Fatal(err)
- }
- sender, err = NewRevocationProducerFromBytes(b.Bytes())
- if err != nil {
- t.Fatal(err)
- }
- s3, err := sender.AtIndex(0)
- if err != nil {
- t.Fatal(err)
- }
- if !s1.IsEqual(s3) {
- t.Fatalf("secrets should match: %v:%v", s1.String(), s3.String())
- }
- }
|