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 }