mirror of
https://github.com/lightninglabs/loop.git
synced 2026-08-13 12:33:03 +02:00
perms: move perms.go into looprpc
The Lightning Node Connect (LNC) WASM client currently imports both `looprpc` and the entire `loop` module to access `perms.go`. This creates problems because `loop` imports `taproot-assets`, resulting in too many symbols for the WASM build. To fix this, we will move `perms.go`—which defines RPC endpoint permissions—into `looprpc`. After this change, the LNC WASM client will import only `looprpc`, while the rest of `loop` can continue importing `taproot-assets` without affecting the LNC WASM build.
This commit is contained in:
parent
7e81916829
commit
64e6bbd451
6 changed files with 74 additions and 33 deletions
|
|
@ -18,7 +18,6 @@ import (
|
|||
"github.com/lightninglabs/loop/assets"
|
||||
"github.com/lightninglabs/loop/instantout"
|
||||
"github.com/lightninglabs/loop/instantout/reservation"
|
||||
"github.com/lightninglabs/loop/loopd/perms"
|
||||
"github.com/lightninglabs/loop/loopdb"
|
||||
loop_looprpc "github.com/lightninglabs/loop/looprpc"
|
||||
"github.com/lightninglabs/loop/notifications"
|
||||
|
|
@ -502,7 +501,7 @@ func (d *Daemon) initialize(withMacaroonService bool) error {
|
|||
// Add our debug permissions to our main set of required permissions
|
||||
// if compiled in.
|
||||
for endpoint, perm := range debugRequiredPermissions {
|
||||
perms.RequiredPermissions[endpoint] = perm
|
||||
loop_looprpc.RequiredPermissions[endpoint] = perm
|
||||
}
|
||||
|
||||
rks, db, err := lndclient.NewBoltMacaroonStore(
|
||||
|
|
@ -530,7 +529,7 @@ func (d *Daemon) initialize(withMacaroonService bool) error {
|
|||
Checkers: []macaroons.Checker{
|
||||
macaroons.IPLockChecker,
|
||||
},
|
||||
RequiredPerms: perms.RequiredPermissions,
|
||||
RequiredPerms: loop_looprpc.RequiredPermissions,
|
||||
DBPassword: macDbDefaultPw,
|
||||
LndClient: &d.lnd.LndServices,
|
||||
EphemeralKey: lndclient.SharedKeyNUMS,
|
||||
|
|
|
|||
|
|
@ -1,172 +0,0 @@
|
|||
package perms
|
||||
|
||||
import "gopkg.in/macaroon-bakery.v2/bakery"
|
||||
|
||||
// RequiredPermissions is a map of all loop RPC methods and their
|
||||
// required macaroon permissions to access loopd.
|
||||
var RequiredPermissions = map[string][]bakery.Op{
|
||||
"/looprpc.SwapClient/LoopOut": {{
|
||||
Entity: "swap",
|
||||
Action: "execute",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "out",
|
||||
}},
|
||||
"/looprpc.SwapClient/LoopIn": {{
|
||||
Entity: "swap",
|
||||
Action: "execute",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}},
|
||||
"/looprpc.SwapClient/Monitor": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}},
|
||||
"/looprpc.SwapClient/ListSwaps": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}},
|
||||
"/looprpc.SwapClient/SwapInfo": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}},
|
||||
"/looprpc.SwapClient/AbandonSwap": {{
|
||||
Entity: "swap",
|
||||
Action: "execute",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "out",
|
||||
}},
|
||||
"/looprpc.SwapClient/LoopOutTerms": {{
|
||||
Entity: "terms",
|
||||
Action: "read",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "out",
|
||||
}},
|
||||
"/looprpc.SwapClient/LoopOutQuote": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "out",
|
||||
}},
|
||||
"/looprpc.SwapClient/GetLoopInTerms": {{
|
||||
Entity: "terms",
|
||||
Action: "read",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}},
|
||||
"/looprpc.SwapClient/GetLoopInQuote": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}},
|
||||
"/looprpc.SwapClient/GetL402Tokens": {{
|
||||
Entity: "auth",
|
||||
Action: "read",
|
||||
}},
|
||||
"/looprpc.SwapClient/NewStaticAddress": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}},
|
||||
"/looprpc.SwapClient/ListUnspentDeposits": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}},
|
||||
"/looprpc.SwapClient/WithdrawDeposits": {{
|
||||
Entity: "swap",
|
||||
Action: "execute",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}},
|
||||
"/looprpc.SwapClient/ListStaticAddressDeposits": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}},
|
||||
"/looprpc.SwapClient/ListStaticAddressSwaps": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}},
|
||||
"/looprpc.SwapClient/GetStaticAddressSummary": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}},
|
||||
"/looprpc.SwapClient/StaticAddressLoopIn": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}},
|
||||
"/looprpc.SwapClient/GetLsatTokens": {{
|
||||
Entity: "auth",
|
||||
Action: "read",
|
||||
}},
|
||||
"/looprpc.SwapClient/FetchL402Token": {{
|
||||
Entity: "auth",
|
||||
Action: "write",
|
||||
}},
|
||||
"/looprpc.SwapClient/SuggestSwaps": {{
|
||||
Entity: "suggestions",
|
||||
Action: "read",
|
||||
}},
|
||||
"/looprpc.SwapClient/GetInfo": {{
|
||||
Entity: "suggestions",
|
||||
Action: "read",
|
||||
}},
|
||||
"/looprpc.SwapClient/GetLiquidityParams": {{
|
||||
Entity: "suggestions",
|
||||
Action: "read",
|
||||
}},
|
||||
"/looprpc.SwapClient/SetLiquidityParams": {{
|
||||
Entity: "suggestions",
|
||||
Action: "write",
|
||||
}},
|
||||
"/looprpc.SwapClient/Probe": {{
|
||||
Entity: "swap",
|
||||
Action: "execute",
|
||||
}, {
|
||||
Entity: "loop",
|
||||
Action: "in",
|
||||
}},
|
||||
"/looprpc.SwapClient/ListReservations": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}},
|
||||
"/looprpc.SwapClient/InstantOut": {{
|
||||
Entity: "swap",
|
||||
Action: "execute",
|
||||
}},
|
||||
"/looprpc.SwapClient/InstantOutQuote": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}},
|
||||
"/looprpc.SwapClient/ListInstantOuts": {{
|
||||
Entity: "swap",
|
||||
Action: "read",
|
||||
}},
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue