Files
next.orly.dev/pkg/protocol/nwc
mleku 2614b51068
Some checks failed
Go / build (push) Has been cancelled
Go / release (push) Has been cancelled
Refactor crypto package to use p256k1 signer
- Replaced the p256k package with p256k1.mleku.dev/signer across the codebase, updating all instances where the previous signer was utilized.
- Removed the deprecated p256k package, including all related files and tests, to streamline the codebase and improve maintainability.
- Updated various components, including event handling, database interactions, and protocol implementations, to ensure compatibility with the new signer interface.
- Enhanced tests to validate the new signing functionality and ensure robustness across the application.
- Bumped version to v0.23.3 to reflect these changes.
2025-11-03 10:21:31 +00:00
..

NWC Client

Nostr Wallet Connect (NIP-47) client implementation.

Usage

import "orly.dev/pkg/protocol/nwc"

// Create client from NWC connection URI
client, err := nwc.NewClient("nostr+walletconnect://...")
if err != nil {
    log.Fatal(err)
}

// Make requests
var info map[string]any
err = client.Request(ctx, "get_info", nil, &info)

var balance map[string]any
err = client.Request(ctx, "get_balance", nil, &balance)

var invoice map[string]any
params := map[string]any{"amount": 1000, "description": "test"}
err = client.Request(ctx, "make_invoice", params, &invoice)

Methods

  • get_info - Get wallet info
  • get_balance - Get wallet balance
  • make_invoice - Create invoice
  • lookup_invoice - Check invoice status
  • pay_invoice - Pay invoice

Payment Notifications

// Subscribe to payment notifications
err = client.SubscribeNotifications(ctx, func(notificationType string, notification map[string]any) error {
    if notificationType == "payment_received" {
        amount := notification["amount"].(float64)
        description := notification["description"].(string)
        // Process payment...
    }
    return nil
})

Features

  • NIP-44 encryption
  • Event signing
  • Relay communication
  • Payment notifications
  • Error handling