github.com/decred/dcrlnd@v0.7.6/channeldb/dcrmigrations/migration01/codec.go (about)

     1  package dcrmigration01
     2  
     3  import (
     4  	"encoding/binary"
     5  	"io"
     6  
     7  	"github.com/decred/dcrd/wire"
     8  )
     9  
    10  // readMig20Outpoint reads an outpoint that was stored by the migration20.
    11  func readMig20Outpoint(r io.Reader, o *wire.OutPoint) error {
    12  	if _, err := io.ReadFull(r, o.Hash[:]); err != nil {
    13  		return err
    14  	}
    15  	if err := binary.Read(r, byteOrder, &o.Index); err != nil {
    16  		return err
    17  	}
    18  
    19  	return nil
    20  }
    21  
    22  // writeMig20Outpoint writes an outpoint from the passed writer.
    23  func writeMig20Outpoint(w io.Writer, o *wire.OutPoint) error {
    24  	if _, err := w.Write(o.Hash[:]); err != nil {
    25  		return err
    26  	}
    27  	if err := binary.Write(w, byteOrder, o.Index); err != nil {
    28  		return err
    29  	}
    30  
    31  	return nil
    32  }
    33  
    34  // writeOkOutpoint writes an outpoint with the correct format to the passed
    35  // writer.
    36  func writeOkOutpoint(w io.Writer, o *wire.OutPoint) error {
    37  	if _, err := w.Write(o.Hash[:]); err != nil {
    38  		return err
    39  	}
    40  	if err := binary.Write(w, byteOrder, o.Index); err != nil {
    41  		return err
    42  	}
    43  	if err := binary.Write(w, byteOrder, o.Tree); err != nil {
    44  		return err
    45  	}
    46  
    47  	return nil
    48  }