Skip to content

Commit 3508a5b

Browse files
authored
Merge pull request #236 from GeorgeTsagk/find-base-alias-rpc
Add `XFindBaseLocalChanAlias`
2 parents 548fa9b + 1d0dbef commit 3508a5b

File tree

4 files changed

+50
-15
lines changed

4 files changed

+50
-15
lines changed

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ require (
77
github.com/btcsuite/btcd/btcutil/psbt v1.1.8
88
github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0
99
github.com/btcsuite/btclog/v2 v2.0.1-0.20250728225537-6090e87c6c5b
10-
github.com/btcsuite/btcwallet v0.16.15-0.20250811092146-05b3a40651e6
10+
github.com/btcsuite/btcwallet v0.16.17
1111
github.com/btcsuite/btcwallet/wtxmgr v1.5.6
12-
github.com/lightningnetwork/lnd v0.19.0-beta.rc5.0.20250905045430-9d74ec47701c
12+
github.com/lightningnetwork/lnd v0.20.0-beta.rc1
1313
github.com/lightningnetwork/lnd/kvdb v1.4.16
1414
github.com/stretchr/testify v1.10.0
1515
google.golang.org/grpc v1.59.0
@@ -102,7 +102,7 @@ require (
102102
github.com/lightningnetwork/lnd/fn/v2 v2.0.8 // indirect
103103
github.com/lightningnetwork/lnd/healthcheck v1.2.6 // indirect
104104
github.com/lightningnetwork/lnd/queue v1.1.1 // indirect
105-
github.com/lightningnetwork/lnd/sqldb v1.0.11-0.20250905045430-9d74ec47701c // indirect
105+
github.com/lightningnetwork/lnd/sqldb v1.0.11-0.20250930033359-90c96c7df117 // indirect
106106
github.com/lightningnetwork/lnd/ticker v1.1.1 // indirect
107107
github.com/lightningnetwork/lnd/tlv v1.3.2 // indirect
108108
github.com/lightningnetwork/lnd/tor v1.1.6 // indirect
@@ -130,7 +130,7 @@ require (
130130
github.com/rogpeppe/fastuuid v1.2.0 // indirect
131131
github.com/sirupsen/logrus v1.9.3 // indirect
132132
github.com/soheilhy/cmux v0.1.5 // indirect
133-
github.com/spf13/pflag v1.0.5 // indirect
133+
github.com/spf13/pflag v1.0.6 // indirect
134134
github.com/stretchr/objx v0.5.2 // indirect
135135
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect
136136
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 // indirect
@@ -139,7 +139,7 @@ require (
139139
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
140140
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
141141
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
142-
go.etcd.io/bbolt v1.3.11 // indirect
142+
go.etcd.io/bbolt v1.4.3 // indirect
143143
go.etcd.io/etcd/api/v3 v3.5.12 // indirect
144144
go.etcd.io/etcd/client/pkg/v3 v3.5.12 // indirect
145145
go.etcd.io/etcd/client/v2 v2.305.12 // indirect

go.sum

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ github.com/btcsuite/btclog v0.0.0-20241003133417-09c4e92e319c/go.mod h1:w7xnGOhw
5656
github.com/btcsuite/btclog/v2 v2.0.1-0.20250728225537-6090e87c6c5b h1:MQ+Q6sDy37V1wP1Yu79A5KqJutolqUGwA99UZWQDWZM=
5757
github.com/btcsuite/btclog/v2 v2.0.1-0.20250728225537-6090e87c6c5b/go.mod h1:XItGUfVOxotJL8kkuk2Hj3EVow5KCugXl3wWfQ6K0AE=
5858
github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
59-
github.com/btcsuite/btcwallet v0.16.15-0.20250811092146-05b3a40651e6 h1:s6NCipDdvDK5rBrC4dIlni1iHsuDOKdfwpL32I3b6Tw=
60-
github.com/btcsuite/btcwallet v0.16.15-0.20250811092146-05b3a40651e6/go.mod h1:H6dfoZcWPonM2wbVsR2ZBY0PKNZKdQyLAmnX8vL9JFA=
59+
github.com/btcsuite/btcwallet v0.16.17 h1:1N6lHznRdcjDopBvcofxaIHknArkJ/EcVKgLKfGL4Dg=
60+
github.com/btcsuite/btcwallet v0.16.17/go.mod h1:YO+W745BAH8n/Rpgj68QsLR6eLlgM4W2do4RejT0buo=
6161
github.com/btcsuite/btcwallet/wallet/txauthor v1.3.5 h1:Rr0njWI3r341nhSPesKQ2JF+ugDSzdPoeckS75SeDZk=
6262
github.com/btcsuite/btcwallet/wallet/txauthor v1.3.5/go.mod h1:+tXJ3Ym0nlQc/iHSwW1qzjmPs3ev+UVWMbGgfV1OZqU=
6363
github.com/btcsuite/btcwallet/wallet/txrules v1.2.2 h1:YEO+Lx1ZJJAtdRrjuhXjWrYsmAk26wLTlNzxt2q0lhk=
@@ -355,8 +355,8 @@ github.com/lightninglabs/protobuf-go-hex-display v1.33.0-hex-display h1:Y2WiPkBS
355355
github.com/lightninglabs/protobuf-go-hex-display v1.33.0-hex-display/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
356356
github.com/lightningnetwork/lightning-onion v1.2.1-0.20240815225420-8b40adf04ab9 h1:6D3LrdagJweLLdFm1JNodZsBk6iU4TTsBBFLQ4yiXfI=
357357
github.com/lightningnetwork/lightning-onion v1.2.1-0.20240815225420-8b40adf04ab9/go.mod h1:EDqJ3MuZIbMq0QI1czTIKDJ/GS8S14RXPwapHw8cw6w=
358-
github.com/lightningnetwork/lnd v0.19.0-beta.rc5.0.20250905045430-9d74ec47701c h1:GVMiT7IwHgRCCsih7KWlOHlsyFBy7JZIGKhiSTOzduw=
359-
github.com/lightningnetwork/lnd v0.19.0-beta.rc5.0.20250905045430-9d74ec47701c/go.mod h1:qvNSmsYOEmvb6JIewrv7vF4S2mjUTEYSxAp9m/U94Lw=
358+
github.com/lightningnetwork/lnd v0.20.0-beta.rc1 h1:8Rm3/pcSLQI+tpCjKfYADfMjmEVFkrtoEom470siKRA=
359+
github.com/lightningnetwork/lnd v0.20.0-beta.rc1/go.mod h1:SgniBRmo5pE7IImxIfhUofhgdXkutcV9Znrf/rEZ7TM=
360360
github.com/lightningnetwork/lnd/clock v1.1.1 h1:OfR3/zcJd2RhH0RU+zX/77c0ZiOnIMsDIBjgjWdZgA0=
361361
github.com/lightningnetwork/lnd/clock v1.1.1/go.mod h1:mGnAhPyjYZQJmebS7aevElXKTFDuO+uNFFfMXK1W8xQ=
362362
github.com/lightningnetwork/lnd/fn/v2 v2.0.8 h1:r2SLz7gZYQPVc3IZhU82M66guz3Zk2oY+Rlj9QN5S3g=
@@ -367,8 +367,8 @@ github.com/lightningnetwork/lnd/kvdb v1.4.16 h1:9BZgWdDfjmHRHLS97cz39bVuBAqMc4/p
367367
github.com/lightningnetwork/lnd/kvdb v1.4.16/go.mod h1:HW+bvwkxNaopkz3oIgBV6NEnV4jCEZCACFUcNg4xSjM=
368368
github.com/lightningnetwork/lnd/queue v1.1.1 h1:99ovBlpM9B0FRCGYJo6RSFDlt8/vOkQQZznVb18iNMI=
369369
github.com/lightningnetwork/lnd/queue v1.1.1/go.mod h1:7A6nC1Qrm32FHuhx/mi1cieAiBZo5O6l8IBIoQxvkz4=
370-
github.com/lightningnetwork/lnd/sqldb v1.0.11-0.20250905045430-9d74ec47701c h1:tW4o/gn5OdQ8SiSso1SM5jdcXw6O6awKZ4bG7azX9vY=
371-
github.com/lightningnetwork/lnd/sqldb v1.0.11-0.20250905045430-9d74ec47701c/go.mod h1:oOdZ7vjmAUmI9He+aFHTunnxKVefHZAfJttZdz16hSg=
370+
github.com/lightningnetwork/lnd/sqldb v1.0.11-0.20250930033359-90c96c7df117 h1:f351uGAVayRRe7NEp94kGPC6X7u0lLEvGhLkE+4V3GI=
371+
github.com/lightningnetwork/lnd/sqldb v1.0.11-0.20250930033359-90c96c7df117/go.mod h1:oOdZ7vjmAUmI9He+aFHTunnxKVefHZAfJttZdz16hSg=
372372
github.com/lightningnetwork/lnd/ticker v1.1.1 h1:J/b6N2hibFtC7JLV77ULQp++QLtCwT6ijJlbdiZFbSM=
373373
github.com/lightningnetwork/lnd/ticker v1.1.1/go.mod h1:waPTRAAcwtu7Ji3+3k+u/xH5GHovTsCoSVpho0KDvdA=
374374
github.com/lightningnetwork/lnd/tlv v1.3.2 h1:MO4FCk7F4k5xPMqVZF6Nb/kOpxlwPrUQpYjmyKny5s0=
@@ -481,8 +481,8 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ
481481
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
482482
github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js=
483483
github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
484-
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
485-
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
484+
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
485+
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
486486
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
487487
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
488488
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
@@ -521,8 +521,8 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
521521
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
522522
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
523523
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
524-
go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0=
525-
go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I=
524+
go.etcd.io/bbolt v1.4.3 h1:dEadXpI6G79deX5prL3QRNP6JB8UxVkqo4UPnHaNXJo=
525+
go.etcd.io/bbolt v1.4.3/go.mod h1:tKQlpPaYCVFctUIgFKFnAlvbmB3tpy1vkTnDWohtc0E=
526526
go.etcd.io/etcd/api/v3 v3.5.12 h1:W4sw5ZoU2Juc9gBWuLk5U6fHfNVyY1WC5g9uiXZio/c=
527527
go.etcd.io/etcd/api/v3 v3.5.12/go.mod h1:Ot+o0SWSyT6uHhA56al1oCED0JImsRiU9Dc26+C2a+4=
528528
go.etcd.io/etcd/client/pkg/v3 v3.5.12 h1:EYDL6pWwyOsylrQyLp2w+HkQ46ATiOvoEdMarindU2A=

router_client.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ type RouterClient interface {
8989
// will not be communicated to the channel peer via any message.
9090
XDeleteLocalChanAlias(ctx context.Context, alias,
9191
baseScid lnwire.ShortChannelID) error
92+
93+
// XFindBaseLocalChanAlias is an experimental API that looks up the base
94+
// scid for a local chan alias that was registered.
95+
XFindBaseLocalChanAlias(ctx context.Context,
96+
alias lnwire.ShortChannelID) (lnwire.ShortChannelID, error)
9297
}
9398

9499
// PaymentStatus describe the state of a payment.
@@ -1174,3 +1179,25 @@ func (r *routerClient) XDeleteLocalChanAlias(ctx context.Context, alias,
11741179
)
11751180
return err
11761181
}
1182+
1183+
// XFindBaseLocalChanAlias is an experimental API that looks up the base scid
1184+
// for a local chan alias that was registered.
1185+
func (r *routerClient) XFindBaseLocalChanAlias(ctx context.Context,
1186+
alias lnwire.ShortChannelID) (lnwire.ShortChannelID, error) {
1187+
1188+
rpcCtx, cancel := context.WithTimeout(ctx, r.timeout)
1189+
defer cancel()
1190+
1191+
res, err := r.client.XFindBaseLocalChanAlias(
1192+
r.routerKitMac.WithMacaroonAuth(rpcCtx),
1193+
&routerrpc.FindBaseAliasRequest{
1194+
Alias: alias.ToUint64(),
1195+
},
1196+
)
1197+
1198+
if err != nil {
1199+
return lnwire.ShortChannelID{}, err
1200+
}
1201+
1202+
return lnwire.NewShortChanIDFromInt(res.Base), nil
1203+
}

testdata/permissions.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -912,6 +912,14 @@
912912
}
913913
]
914914
},
915+
"/routerrpc.Router/XFindBaseLocalChanAlias": {
916+
"permissions": [
917+
{
918+
"entity": "offchain",
919+
"action": "read"
920+
}
921+
]
922+
},
915923
"/signrpc.Signer/ComputeInputScript": {
916924
"permissions": [
917925
{

0 commit comments

Comments
 (0)