nwc: pay with nwc if we have it configured
This commit is contained in:
@@ -184,8 +184,13 @@ func send_zap(damus_state: DamusState, event: NostrEvent, lnurl: String, is_cust
|
|||||||
}
|
}
|
||||||
|
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
let ev = ZappingEvent(is_custom: is_custom, type: .got_zap_invoice(inv), event: event)
|
if let url = damus_state.settings.nostr_wallet_connect,
|
||||||
notify(.zapping, ev)
|
let nwc = WalletConnectURL(str: url) {
|
||||||
|
nwc_pay(url: nwc, pool: damus_state.pool, post: damus_state.postbox, invoice: inv)
|
||||||
|
} else {
|
||||||
|
let ev = ZappingEvent(is_custom: is_custom, type: .got_zap_invoice(inv), event: event)
|
||||||
|
notify(.zapping, ev)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,3 +77,13 @@ func make_wallet_connect_request<T>(req: WalletRequest<T>, to_pk: String, keypai
|
|||||||
}
|
}
|
||||||
return create_encrypted_event(content, to_pk: to_pk, tags: tags, keypair: keypair, created_at: created_at, kind: 23194)
|
return create_encrypted_event(content, to_pk: to_pk, tags: tags, keypair: keypair, created_at: created_at, kind: 23194)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func nwc_pay(url: WalletConnectURL, pool: RelayPool, post: PostBox, invoice: String) {
|
||||||
|
let req = make_wallet_pay_invoice_request(invoice: invoice)
|
||||||
|
guard let ev = make_wallet_connect_request(req: req, to_pk: url.pubkey, keypair: url.keypair) else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
try? pool.add_relay(url.relay, info: .ephemeral)
|
||||||
|
post.send(ev, to: [url.relay.id], skip_ephemeral: false)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user