lnwallet+channeldb: update callers to shachain API changes

This commit is contained in:
Olaoluwa Osuntokun committed 2017-02-24 16:31:45 -08:00
1 parent 2e25787a74
commit 9adc5f6484
5 files changed
+28 -31

No files matched your search

+6 -18
View File
@@ -1561,19 +1561,11 @@ func putChanPreimageState(nodeChanBucket *bolt.Bucket, channel *OpenChannel) err
// TODO(roasbeef): shouldn't be storing on disk, should re-derive as
// needed
data, err := channel.RevocationProducer.ToBytes()
if err != nil {
return err
}
if err := wire.WriteVarBytes(&b, 0, data); err != nil {
if err := channel.RevocationProducer.Encode(&b); err != nil {
return err
}
data, err = channel.RevocationStore.ToBytes()
if err != nil {
return err
}
if err := wire.WriteVarBytes(&b, 0, data); err != nil {
if err := channel.RevocationStore.Encode(&b); err != nil {
return err
}
@@ -1624,20 +1616,16 @@ func fetchChanPreimageState(nodeChanBucket *bolt.Bucket, channel *OpenChannel) e
}
// TODO(roasbeef): should be rederiving on fly, or encrypting on disk.
producerBytes, err := wire.ReadVarBytes(reader, 0, 1000, "")
if err != nil {
var root [32]byte
if _, err := io.ReadFull(reader, root[:]); err != nil {
return err
}
channel.RevocationProducer, err = shachain.NewRevocationProducerFromBytes(producerBytes)
channel.RevocationProducer, err = shachain.NewRevocationProducerFromBytes(root[:])
if err != nil {
return err
}
storeBytes, err := wire.ReadVarBytes(reader, 0, 1000, "")
if err != nil {
return err
}
channel.RevocationStore, err = shachain.NewRevocationStoreFromBytes(storeBytes)
channel.RevocationStore, err = shachain.NewRevocationStoreFromBytes(reader)
if err != nil {
return err
}
+17 -8
View File
@@ -119,7 +119,10 @@ func createTestChannelState(cdb *DB) (*OpenChannel, error) {
}
// Simulate 1000 channel updates.
producer := shachain.NewRevocationProducer((*chainhash.Hash)(&key))
producer, err := shachain.NewRevocationProducerFromBytes(key[:])
if err != nil {
return nil, err
}
store := shachain.NewRevocationStore()
for i := 0; i < 1000; i++ {
preImage, err := producer.AtIndex(uint64(i))
@@ -127,7 +130,7 @@ func createTestChannelState(cdb *DB) (*OpenChannel, error) {
return nil, err
}
if store.Store(preImage); err != nil {
if store.AddNextEntry(preImage); err != nil {
return nil, err
}
}
@@ -318,30 +321,36 @@ func TestOpenChannelPutGetDelete(t *testing.T) {
}
// The local and remote producers should be identical.
oldProducer, err := state.RevocationProducer.ToBytes()
var old bytes.Buffer
err = state.RevocationProducer.Encode(&old)
if err != nil {
t.Fatalf("can't convert old revocation producer to bytes: %v",
err)
}
newProducer, err := newState.RevocationProducer.ToBytes()
var new bytes.Buffer
err = newState.RevocationProducer.Encode(&new)
if err != nil {
t.Fatalf("can't convert new revocation producer to bytes: %v",
err)
}
if !bytes.Equal(oldProducer, newProducer) {
if !bytes.Equal(old.Bytes(), new.Bytes()) {
t.Fatal("local producer don't match")
}
oldStore, err := state.RevocationStore.ToBytes()
old.Reset()
new.Reset()
err = state.RevocationStore.Encode(&old)
if err != nil {
t.Fatalf("unable to serialize old remote store: %v", err)
}
newStore, err := newState.RevocationStore.ToBytes()
err = newState.RevocationStore.Encode(&new)
if err != nil {
t.Fatalf("unable to serialize new remote store: %v", err)
}
if !bytes.Equal(oldStore, newStore) {
if !bytes.Equal(old.Bytes(), new.Bytes()) {
t.Fatal("remote store don't match")
}
if !newState.TheirCurrentRevocation.IsEqual(state.TheirCurrentRevocation) {