diff --git a/docker-compose.yml b/docker-compose.yml index 0d087e1d..5a482158 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -517,10 +517,10 @@ services: labels: CONNECT: "localhost:8025" cpu_shares: "${CPU_SHARES_LOW}" - nwc: + nwc_send: build: context: ./docker/nwc - container_name: nwc + container_name: nwc_send profiles: - wallets restart: unless-stopped @@ -536,7 +536,7 @@ services: - 'nostr-wallet-connect-lnd' - '--relay' - 'wss://relay.primal.net' - - '--macaroon-file' + - '--admin-macaroon-file' - '/root/.lnd/regtest/admin.macaroon' - '--cert-file' - '/root/.lnd/tls.cert' @@ -548,6 +548,42 @@ services: - '0' - '--daily-limit' - '0' + - '--keys-file' + - 'admin-keys.json' + cpu_shares: "${CPU_SHARES_LOW}" + nwc_recv: + build: + context: ./docker/nwc + container_name: nwc_recv + profiles: + - wallets + restart: unless-stopped + depends_on: + stacker_lnd: + condition: service_healthy + restart: true + volumes: + - ./docker/lnd/stacker:/root/.lnd + environment: + - RUST_LOG=info + entrypoint: + - 'nostr-wallet-connect-lnd' + - '--relay' + - 'wss://relay.primal.net' + - '--invoice-macaroon-file' + - '/root/.lnd/regtest/invoice.macaroon' + - '--cert-file' + - '/root/.lnd/tls.cert' + - '--lnd-host' + - 'stacker_lnd' + - '--lnd-port' + - '10009' + - '--max-amount' + - '0' + - '--daily-limit' + - '0' + - '--keys-file' + - 'invoice-keys.json' cpu_shares: "${CPU_SHARES_LOW}" lnbits: image: lnbits/lnbits:0.12.5 diff --git a/docker/lnd/stacker/regtest/invoice.macaroon b/docker/lnd/stacker/regtest/invoice.macaroon new file mode 100644 index 00000000..5113d4bf Binary files /dev/null and b/docker/lnd/stacker/regtest/invoice.macaroon differ diff --git a/docker/lnd/stacker/regtest/readonly.macaroon b/docker/lnd/stacker/regtest/readonly.macaroon new file mode 100644 index 00000000..a1ce959a Binary files /dev/null and b/docker/lnd/stacker/regtest/readonly.macaroon differ diff --git a/docker/nwc/Dockerfile b/docker/nwc/Dockerfile index 62d559e4..0ab195ba 100644 --- a/docker/nwc/Dockerfile +++ b/docker/nwc/Dockerfile @@ -1,9 +1,11 @@ FROM rust:1.78 -RUN wget https://github.com/benthecarman/nostr-wallet-connect-lnd/archive/9d53490f0a0cf655030e4ef4d32b478d7f29af5b.zip \ - && unzip 9d53490f0a0cf655030e4ef4d32b478d7f29af5b.zip +ARG KEY_FILE -WORKDIR nostr-wallet-connect-lnd-9d53490f0a0cf655030e4ef4d32b478d7f29af5b +RUN wget https://github.com/ekzyis/nostr-wallet-connect-lnd/archive/a02939c350191f8a6750a72d2456fbdf567e5848.zip \ + && unzip a02939c350191f8a6750a72d2456fbdf567e5848.zip + +WORKDIR nostr-wallet-connect-lnd-a02939c350191f8a6750a72d2456fbdf567e5848 RUN apt-get update -y \ && apt-get install -y cmake \ @@ -11,4 +13,4 @@ RUN apt-get update -y \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* RUN cargo build --release && cargo install --path . -COPY keys.json . +COPY . . diff --git a/docker/nwc/admin-keys.json b/docker/nwc/admin-keys.json new file mode 100644 index 00000000..b1cdc2d8 --- /dev/null +++ b/docker/nwc/admin-keys.json @@ -0,0 +1,5 @@ +{ + "server_key": "ea7b559d5b49e6d4a22f57cc84a15fd3b87742ff91a85bb871242e09e6d0b0d7", + "user_key": "c8f7fcb4707863ba1cc1b32c8871585ddb1eb7a555925cd2818a6caf4a21fb90", + "sent_info": true +} \ No newline at end of file diff --git a/docker/nwc/invoice-keys.json b/docker/nwc/invoice-keys.json new file mode 100644 index 00000000..f8e8bab4 --- /dev/null +++ b/docker/nwc/invoice-keys.json @@ -0,0 +1,5 @@ +{ + "server_key": "86e7b8a53c22677066d882618f28f8e1f39e4676114c0ae019e9d86518177e49", + "user_key": "87e73293804edb089e0be8bf01ab2f6f219591f91998479851a7a2d1daf1a617", + "sent_info": true +} \ No newline at end of file diff --git a/docker/nwc/keys.json b/docker/nwc/keys.json deleted file mode 100644 index 5e6a042e..00000000 --- a/docker/nwc/keys.json +++ /dev/null @@ -1 +0,0 @@ -{"server_key":"4463b828d1950885de82b518efbfbe3dd6c35278e8ee5f6389721515b4c5e021","user_key":"0d1ef06059c9b1acf8c424cfe357c5ffe2d5f3594b9081695771a363ee716b67","sent_info":true} \ No newline at end of file diff --git a/wallets/nwc/ATTACH.md b/wallets/nwc/ATTACH.md index a604e228..f20fe107 100644 --- a/wallets/nwc/ATTACH.md +++ b/wallets/nwc/ATTACH.md @@ -1,9 +1,13 @@ -Use this NWC string to attach the wallet for payments: +Use these NWC strings to attach the wallet + +* sending: ``` -nostr+walletconnect://5224c44600696216595a70982ee7387a04bd66248b97fefb803f4ed6d4af1972?relay=wss%3A%2F%2Frelay.primal.net&secret=0d1ef06059c9b1acf8c424cfe357c5ffe2d5f3594b9081695771a363ee716b67 +nostr+walletconnect://b7dcc7aca6e27ec2bc2374eef1a3ce1f975b76ea8ebc806fcbb9e4d359ced47e?relay=wss%3A%2F%2Frelay.primal.net&secret=c8f7fcb4707863ba1cc1b32c8871585ddb1eb7a555925cd2818a6caf4a21fb90 ``` -This won't work for receives since it allows `pay_invoice`. +- receiving: -TODO: generate NWC string with only `make_invoice` as permission +``` +nostr+walletconnect://ed77e8af26fee9d179443505ad7d11d5a535e1767eb3058b01673c3f56f08191?relay=wss%3A%2F%2Frelay.primal.net&secret=87e73293804edb089e0be8bf01ab2f6f219591f91998479851a7a2d1daf1a617 +```