Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
4cc5cfe
graph/db: add ChanUpdatesInHorizon benchmark
ellemouton Aug 5, 2025
f51adaf
graph/db: refactor makeZombiePubkeys
ellemouton Aug 5, 2025
ce3401e
graph/db: refactor buildNode to not take a pointer
ellemouton Aug 5, 2025
ebe6a8a
graph/db: use batch loading for ChanUpdatesInHorizon
ellemouton Aug 5, 2025
556af8e
graph/db: use batch fetching for DeleteChannelEdges
ellemouton Aug 5, 2025
69bcf47
graph/db: use batch loading for PruneGraph
ellemouton Aug 5, 2025
594c842
graph/db: batch loading for DisconnectBlockAtHeight
ellemouton Aug 5, 2025
8de33fa
graph/db: batch fetching for FetchChanInfos
ellemouton Aug 5, 2025
522e200
graph/db: add missing counter increment
ellemouton Aug 5, 2025
87844cd
multi: bump Golang version to v1.23.12
ziggie1984 Aug 7, 2025
ab6f1fc
docs: add release notes
ziggie1984 Aug 7, 2025
e00a072
Merge pull request #10139 from ziggie1984/update-golang-version
guggero Aug 8, 2025
79e1cf0
routing: make sure attempts are always resolved after a timeout
ziggie1984 Aug 7, 2025
a3793b2
Merge pull request #10129 from ellemouton/graphPerf9
ellemouton Aug 8, 2025
dc7bea1
docs: add release-notes
ziggie1984 Aug 7, 2025
138b716
lnwallet: add noop updateType to paymendDescriptor
GeorgeTsagk Jun 11, 2025
aacefb9
lnwallet: add IsAdd helper to AuxHtlcDescriptor
GeorgeTsagk May 27, 2025
a5a15f6
lnwallet: detect and handle noop HTLCs
GeorgeTsagk May 27, 2025
e048669
lnwallet: add noop HTLC tests
GeorgeTsagk May 27, 2025
4a34f78
lnwallet: add noop case to retransmit test
GeorgeTsagk Jun 25, 2025
47d1365
lnwallet: add table-driven test for evaluateNoOpHtlc helper
GeorgeTsagk Jun 30, 2025
97bbbf1
docs: update release notes for NoOp HTLCs
GeorgeTsagk Jul 23, 2025
5688935
server: don't mention aux stuff in error [skip ci]
jtobin Aug 8, 2025
72e9ad8
Merge pull request #10144 from jtobin/jt/aux-error
guggero Aug 11, 2025
1ce64eb
scripts: update hieblmi pgp key
hieblmi Aug 11, 2025
d11d699
Merge pull request #10147 from hieblmi/update-hieblmi-key
guggero Aug 11, 2025
f3e1f2f
Merge pull request #10141 from ziggie1984/fix-stuck-payment
yyforyongyu Aug 11, 2025
8810793
Merge pull request #9871 from GeorgeTsagk/htlc-noop-add
Roasbeef Aug 12, 2025
c6a9116
Merge pull request #9844 from ziggie1984/refactor-payments-code-03
yyforyongyu Aug 13, 2025
f4faad5
channeldb: export pagination method
ziggie1984 Aug 13, 2025
49417f4
channeldb: move helper function to codec.go
ziggie1984 Aug 13, 2025
d0ab2f5
multi: move payment related code into own package
ziggie1984 Aug 13, 2025
dac1eaa
mulit: move payment query code to separate file
ziggie1984 Aug 13, 2025
0801f40
multi: move FailureReason to payment package
ziggie1984 Aug 12, 2025
3b55871
multi: move PaymentCreationInfo to payment pkg
ziggie1984 Aug 12, 2025
223b091
paymentsdb: add missing comments for variables
ziggie1984 Aug 13, 2025
feda7ed
multi: fix linter
ziggie1984 Aug 12, 2025
7928c1a
multi: introduce interface for payment database
ziggie1984 Aug 12, 2025
9f62108
paymentsdb: move db interface dependant tests to different file
ziggie1984 Aug 12, 2025
3e885a4
paymentsdb: move more tests
ziggie1984 Aug 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/setup-go/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ runs:
# The key is used to create and later look up the cache. It's made of
# four parts:
# - The base part is made from the OS name, Go version and a
# job-specified key prefix. Example: `linux-go-1.23.10-unit-test-`.
# job-specified key prefix. Example: `linux-go-1.23.12-unit-test-`.
# It ensures that a job running on Linux with Go 1.23 only looks for
# caches from the same environment.
# - The unique part is the `hashFiles('**/go.sum')`, which calculates a
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ env:

# If you change this please also update GO_VERSION in Makefile (then run
# `make lint` to see where else it needs to be updated as well).
GO_VERSION: 1.23.10
GO_VERSION: 1.23.12

jobs:
static-checks:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ defaults:
env:
# If you change this please also update GO_VERSION in Makefile (then run
# `make lint` to see where else it needs to be updated as well).
GO_VERSION: 1.23.10
GO_VERSION: 1.23.12

jobs:
main:
Expand Down
2 changes: 1 addition & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
run:
# If you change this please also update GO_VERSION in Makefile (then run
# `make lint` to see where else it needs to be updated as well).
go: "1.23.10"
go: "1.23.12"

# Abort after 10 minutes.
timeout: 10m
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# If you change this please also update GO_VERSION in Makefile (then run
# `make lint` to see where else it needs to be updated as well).
FROM golang:1.23.10-alpine as builder
FROM golang:1.23.12-alpine as builder

# Force Go to use the cgo based DNS resolver. This is required to ensure DNS
# queries required to connect to linked containers succeed.
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ ACTIVE_GO_VERSION_MINOR := $(shell echo $(ACTIVE_GO_VERSION) | cut -d. -f2)
# GO_VERSION is the Go version used for the release build, docker files, and
# GitHub Actions. This is the reference version for the project. All other Go
# versions are checked against this version.
GO_VERSION = 1.23.10
GO_VERSION = 1.23.12

GOBUILD := $(GOCC) build -v
GOINSTALL := $(GOCC) install -v
Expand Down
45 changes: 35 additions & 10 deletions channeldb/codec.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"fmt"
"io"
"net"
"time"

"github.com/btcsuite/btcd/btcec/v2"
"github.com/btcsuite/btcd/btcutil"
Expand Down Expand Up @@ -182,11 +183,6 @@ func WriteElement(w io.Writer, element interface{}) error {
return err
}

case paymentIndexType:
if err := binary.Write(w, byteOrder, e); err != nil {
return err
}

case lnwire.FundingFlag:
if err := binary.Write(w, byteOrder, e); err != nil {
return err
Expand Down Expand Up @@ -415,11 +411,6 @@ func ReadElement(r io.Reader, element interface{}) error {
return err
}

case *paymentIndexType:
if err := binary.Read(r, byteOrder, e); err != nil {
return err
}

case *lnwire.FundingFlag:
if err := binary.Read(r, byteOrder, e); err != nil {
return err
Expand Down Expand Up @@ -466,3 +457,37 @@ func ReadElements(r io.Reader, elements ...interface{}) error {
}
return nil
}

// deserializeTime deserializes time as unix nanoseconds.
func deserializeTime(r io.Reader) (time.Time, error) {
var scratch [8]byte
if _, err := io.ReadFull(r, scratch[:]); err != nil {
return time.Time{}, err
}

// Convert to time.Time. Interpret unix nano time zero as a zero
// time.Time value.
unixNano := byteOrder.Uint64(scratch[:])
if unixNano == 0 {
return time.Time{}, nil
}

return time.Unix(0, int64(unixNano)), nil
}

// serializeTime serializes time as unix nanoseconds.
func serializeTime(w io.Writer, t time.Time) error {
var scratch [8]byte

// Convert to unix nano seconds, but only if time is non-zero. Calling
// UnixNano() on a zero time yields an undefined result.
var unixNano int64
if !t.IsZero() {
unixNano = t.UnixNano()
}

byteOrder.PutUint64(scratch[:], uint64(unixNano))
_, err := w.Write(scratch[:])

return err
}
13 changes: 7 additions & 6 deletions channeldb/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,13 @@ var (
migration: mig.CreateTLB(payAddrIndexBucket),
},
{
// Initialize payment index bucket which will be used
// to index payments by sequence number. This index will
// be used to allow more efficient ListPayments queries.
number: 15,
migration: mig.CreateTLB(paymentsIndexBucket),
// This used to be create payment related top-level
// buckets, however this is now done by the payment
// package.
number: 15,
migration: func(tx kvdb.RwTx) error {
return nil
},
},
{
// Add our existing payments to the index bucket created
Expand Down Expand Up @@ -450,7 +452,6 @@ var dbTopLevelBuckets = [][]byte{
invoiceBucket,
payAddrIndexBucket,
setIDIndexBucket,
paymentsIndexBucket,
peersBucket,
nodeInfoBucket,
metaBucket,
Expand Down
4 changes: 2 additions & 2 deletions channeldb/invoices.go
Original file line number Diff line number Diff line change
Expand Up @@ -553,7 +553,7 @@ func (d *DB) QueryInvoices(_ context.Context, q invpkg.InvoiceQuery) (

// Create a paginator which reads from our add index bucket with
// the parameters provided by the invoice query.
paginator := newPaginator(
paginator := NewPaginator(
invoiceAddIndex.ReadCursor(), q.Reversed, q.IndexOffset,
q.NumMaxInvoices,
)
Expand Down Expand Up @@ -603,7 +603,7 @@ func (d *DB) QueryInvoices(_ context.Context, q invpkg.InvoiceQuery) (

// Query our paginator using accumulateInvoices to build up a
// set of invoices.
if err := paginator.query(accumulateInvoices); err != nil {
if err := paginator.Query(accumulateInvoices); err != nil {
return err
}

Expand Down
Loading
Loading