channeldb+utxonursery+lnwire: use lnwire's OutPoint,TxOut serialization
This commit is contained in:
1 parent
7f575b688e
commit
f0aa186a56
10 files changed
+232
-174
No files matched your search
+22
-54
@@ -380,7 +380,7 @@ func (c *OpenChannel) fullSync(tx *bolt.Tx) error {
|
||||
return err
|
||||
}
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &c.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, c.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
if chanIndexBucket.Get(b.Bytes()) == nil {
|
||||
@@ -871,7 +871,7 @@ func (c *OpenChannel) CloseChannel(summary *ChannelCloseSummary) error {
|
||||
}
|
||||
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &c.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, c.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -982,7 +982,7 @@ func serializeChannelCloseSummary(w io.Writer, cs *ChannelCloseSummary) error {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := writeOutpoint(w, &cs.ChanPoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(w, &cs.ChanPoint); err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := w.Write(cs.ClosingTXID[:]); err != nil {
|
||||
@@ -1037,7 +1037,7 @@ func deserializeCloseChannelSummary(r io.Reader) (*ChannelCloseSummary, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := readOutpoint(r, &c.ChanPoint); err != nil {
|
||||
if err := lnwire.ReadOutPoint(r, &c.ChanPoint); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if _, err := io.ReadFull(r, c.ClosingTXID[:]); err != nil {
|
||||
@@ -1245,7 +1245,7 @@ func putChanCapacity(openChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
scratch3 := make([]byte, 8)
|
||||
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1290,7 +1290,7 @@ func deleteChanCapacity(openChanBucket *bolt.Bucket, chanID []byte) error {
|
||||
func fetchChanCapacity(openChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
// A byte slice re-used to compute each key prefix below.
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1317,7 +1317,7 @@ func putChanFeePerKw(openChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
byteOrder.PutUint64(scratch, uint64(channel.FeePerKw))
|
||||
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1337,7 +1337,7 @@ func deleteChanMinFeePerKw(openChanBucket *bolt.Bucket, chanID []byte) error {
|
||||
|
||||
func fetchChanMinFeePerKw(openChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1356,7 +1356,7 @@ func putChanNumUpdates(openChanBucket *bolt.Bucket, channel *OpenChannel) error
|
||||
byteOrder.PutUint64(scratch, channel.NumUpdates)
|
||||
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1376,7 +1376,7 @@ func deleteChanNumUpdates(openChanBucket *bolt.Bucket, chanID []byte) error {
|
||||
|
||||
func fetchChanNumUpdates(openChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1395,7 +1395,7 @@ func putChanAmountsTransferred(openChanBucket *bolt.Bucket, channel *OpenChannel
|
||||
scratch2 := make([]byte, 8)
|
||||
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1428,7 +1428,7 @@ func deleteChanAmountsTransferred(openChanBucket *bolt.Bucket, chanID []byte) er
|
||||
|
||||
func fetchChanAmountsTransferred(openChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1450,7 +1450,7 @@ func putChanIsPending(openChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
scratch := make([]byte, 2)
|
||||
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1476,7 +1476,7 @@ func deleteChanIsPending(openChanBucket *bolt.Bucket, chanID []byte) error {
|
||||
|
||||
func fetchChanIsPending(openChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1541,7 +1541,7 @@ func deleteChanConfInfo(openChanBucket *bolt.Bucket, chanID []byte) error {
|
||||
func putChannelIDs(nodeChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
// TODO(roasbeef): just pass in chanID everywhere for puts
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1568,7 +1568,7 @@ func fetchChannelIDs(nodeChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
b bytes.Buffer
|
||||
)
|
||||
|
||||
if err = writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err = lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1604,7 +1604,7 @@ func putChanCommitFee(openChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
|
||||
func fetchChanCommitFee(openChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1628,7 +1628,7 @@ func deleteChanCommitFee(openChanBucket *bolt.Bucket, chanID []byte) error {
|
||||
|
||||
func putChanCommitTxns(nodeChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
var bc bytes.Buffer
|
||||
if err := writeOutpoint(&bc, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutpoint(&bc, &channel.FundingOutpoint); err != nil {
|
||||
return err
|
||||
}
|
||||
txnsKey := make([]byte, len(commitTxnsKey)+bc.Len())
|
||||
@@ -1658,7 +1658,7 @@ func deleteChanCommitTxns(nodeChanBucket *bolt.Bucket, chanID []byte) error {
|
||||
func fetchChanCommitTxns(nodeChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
var bc bytes.Buffer
|
||||
var err error
|
||||
if err = writeOutpoint(&bc, &channel.FundingOutpoint); err != nil {
|
||||
if err = lnwire.WriteOutPoint(&bc, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
txnsKey := make([]byte, len(commitTxnsKey)+bc.Len())
|
||||
@@ -1745,7 +1745,7 @@ func putChanConfigs(nodeChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
|
||||
func fetchChanConfigs(nodeChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
var bc bytes.Buffer
|
||||
if err := writeOutpoint(&bc, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&bc, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
configKey := make([]byte, len(chanConfigPrefix)+len(bc.Bytes()))
|
||||
@@ -1885,7 +1885,7 @@ func deleteChanFundingInfo(nodeChanBucket *bolt.Bucket, chanID []byte) error {
|
||||
|
||||
func fetchChanFundingInfo(nodeChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
fundTxnKey := make([]byte, len(fundingTxnKey)+b.Len())
|
||||
@@ -1971,7 +1971,7 @@ func deleteChanRevocationState(nodeChanBucket *bolt.Bucket, chanID []byte) error
|
||||
|
||||
func fetchChanRevocationState(nodeChanBucket *bolt.Bucket, channel *OpenChannel) error {
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &channel.FundingOutpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, channel.ChanID); err != nil {
|
||||
return err
|
||||
}
|
||||
preimageKey := make([]byte, len(revocationStateKey)+b.Len())
|
||||
@@ -2316,38 +2316,6 @@ func wipeChannelLogEntries(log *bolt.Bucket, o *wire.OutPoint) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func writeOutpoint(w io.Writer, o *wire.OutPoint) error {
|
||||
// TODO(roasbeef): make all scratch buffers on the stack
|
||||
scratch := make([]byte, 4)
|
||||
|
||||
// TODO(roasbeef): write raw 32 bytes instead of wasting the extra
|
||||
// byte.
|
||||
if err := wire.WriteVarBytes(w, 0, o.Hash[:]); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
byteOrder.PutUint32(scratch, o.Index)
|
||||
_, err := w.Write(scratch)
|
||||
return err
|
||||
}
|
||||
|
||||
func readOutpoint(r io.Reader, o *wire.OutPoint) error {
|
||||
scratch := make([]byte, 4)
|
||||
|
||||
txid, err := wire.ReadVarBytes(r, 0, 32, "prevout")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
copy(o.Hash[:], txid)
|
||||
|
||||
if _, err := r.Read(scratch); err != nil {
|
||||
return err
|
||||
}
|
||||
o.Index = byteOrder.Uint32(scratch)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func writeBool(w io.Writer, b bool) error {
|
||||
boolByte := byte(0x01)
|
||||
if !b {
|
||||
|
||||
+3
-3
@@ -269,7 +269,7 @@ func (d *DB) fetchNodeChannels(openChanBucket,
|
||||
|
||||
outBytes := bytes.NewReader(k)
|
||||
chanID := &wire.OutPoint{}
|
||||
if err := readOutpoint(outBytes, chanID); err != nil {
|
||||
if err := lnwire.ReadOutPoint(outBytes, chanID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -373,7 +373,7 @@ func (d *DB) MarkChannelAsOpen(outpoint *wire.OutPoint,
|
||||
// Generate the database key, which will consist of the
|
||||
// IsPending prefix followed by the channel's outpoint.
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, outpoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, outpoint); err != nil {
|
||||
return err
|
||||
}
|
||||
keyPrefix := make([]byte, 3+b.Len())
|
||||
@@ -455,7 +455,7 @@ func (d *DB) FetchClosedChannels(pendingOnly bool) ([]*ChannelCloseSummary, erro
|
||||
func (d *DB) MarkChanFullyClosed(chanPoint *wire.OutPoint) error {
|
||||
return d.Update(func(tx *bolt.Tx) error {
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, chanPoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, chanPoint); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -456,7 +456,7 @@ func (c *ChannelGraph) AddChannelEdge(edge *ChannelEdgeInfo) error {
|
||||
// Finally we add it to the channel index which maps channel
|
||||
// points (outpoints) to the shorter channel ID's.
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, &edge.ChannelPoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, &edge.ChannelPoint); err != nil {
|
||||
return err
|
||||
}
|
||||
return chanIndex.Put(b.Bytes(), chanKey[:])
|
||||
@@ -600,7 +600,7 @@ func (c *ChannelGraph) PruneGraph(spentOutputs []*wire.OutPoint,
|
||||
// if NOT if filter
|
||||
|
||||
var opBytes bytes.Buffer
|
||||
if err := writeOutpoint(&opBytes, chanPoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&opBytes, chanPoint); err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -724,7 +724,7 @@ func (c *ChannelGraph) ChannelID(chanPoint *wire.OutPoint) (uint64, error) {
|
||||
var chanID uint64
|
||||
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, chanPoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, chanPoint); err != nil {
|
||||
return 0, nil
|
||||
}
|
||||
|
||||
@@ -756,7 +756,7 @@ func (c *ChannelGraph) ChannelID(chanPoint *wire.OutPoint) (uint64, error) {
|
||||
func delChannelByEdge(edges *bolt.Bucket, edgeIndex *bolt.Bucket,
|
||||
chanIndex *bolt.Bucket, chanPoint *wire.OutPoint) error {
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, chanPoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, chanPoint); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1271,7 +1271,7 @@ func (c *ChannelGraph) FetchChannelEdgesByOutpoint(op *wire.OutPoint) (*ChannelE
|
||||
return err
|
||||
}
|
||||
var b bytes.Buffer
|
||||
if err := writeOutpoint(&b, op); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, op); err != nil {
|
||||
return err
|
||||
}
|
||||
chanID := chanIndex.Get(b.Bytes())
|
||||
@@ -1692,7 +1692,7 @@ func putChanEdgeInfo(edgeIndex *bolt.Bucket, edgeInfo *ChannelEdgeInfo, chanID [
|
||||
return err
|
||||
}
|
||||
|
||||
if err := writeOutpoint(&b, &edgeInfo.ChannelPoint); err != nil {
|
||||
if err := lnwire.WriteOutPoint(&b, &edgeInfo.ChannelPoint); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := binary.Write(&b, byteOrder, uint64(edgeInfo.Capacity)); err != nil {
|
||||
@@ -1794,7 +1794,7 @@ func deserializeChanEdgeInfo(r io.Reader) (*ChannelEdgeInfo, error) {
|
||||
}
|
||||
|
||||
edgeInfo.ChannelPoint = wire.OutPoint{}
|
||||
if err := readOutpoint(r, &edgeInfo.ChannelPoint); err != nil {
|
||||
if err := lnwire.ReadOutPoint(r, &edgeInfo.ChannelPoint); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := binary.Read(r, byteOrder, &edgeInfo.Capacity); err != nil {
|
||||
|
||||
Reference in new issue
Block a user