Merge pull request #68 from breez/savage-msat

Update lnurl_pay and send_spontaneous_payment docs
This commit is contained in:
Ross Savage
2023-10-25 16:23:45 +02:00
committed by GitHub
2 changed files with 72 additions and 38 deletions

View File

@@ -13,11 +13,15 @@
let lnurl_pay_url = "lightning@address.com"; let lnurl_pay_url = "lightning@address.com";
if let Ok(LnUrlPay{data: pd}) = parse(lnurl_pay_url).await { if let Ok(LnUrlPay{data: pd}) = parse(lnurl_pay_url).await {
// TODO Show payment details in UI, read user input
let amount_msat = pd.min_sendable; let amount_msat = pd.min_sendable;
let comment = "Test payment".to_string(); let comment = "Test payment".to_string();
sdk.lnurl_pay(amount_msat, Some(comment), pd).await?; sdk.lnurl_pay(LnUrlPayRequest {
data: pd,
amount_msat,
comment: Some(comment)
})
.await?;
} }
``` ```
</section> </section>
@@ -31,11 +35,14 @@ if let Ok(LnUrlPay{data: pd}) = parse(lnurl_pay_url).await {
// lnurl1dp68gurn8ghj7mr0vdskc6r0wd6z7mrww4excttsv9un7um9wdekjmmw84jxywf5x43rvv35xgmr2enrxanr2cfcvsmnwe3jxcukvde48qukgdec89snwde3vfjxvepjxpjnjvtpxd3kvdnxx5crxwpjvyunsephsz36jf // lnurl1dp68gurn8ghj7mr0vdskc6r0wd6z7mrww4excttsv9un7um9wdekjmmw84jxywf5x43rvv35xgmr2enrxanr2cfcvsmnwe3jxcukvde48qukgdec89snwde3vfjxvepjxpjnjvtpxd3kvdnxx5crxwpjvyunsephsz36jf
let lnurlPayUrl = "lightning@address.com"; let lnurlPayUrl = "lightning@address.com";
do { do {
let inputType = try parseInput(s: lnurlPayUrl) let inputType = try parseInput(s: lnurlPayUrl)
if case .lnUrlPay(let data) = inputType { if case .lnUrlPay(let data) = inputType {
let amountSats = data.minSendable; let amountMsat = data.minSendable;
try sdk.payLnurl(reqData: data, amountSats: amountSats, comment: "comment") try sdk.payLnurl(req: LnUrlPayRequest(
} data: data,
amountMsat: amountMsat,
comment: "comment"))
}
} catch { } catch {
// handle error // handle error
} }
@@ -54,9 +61,8 @@ try {
val inputType = parseInput(lnurlPayUrl) val inputType = parseInput(lnurlPayUrl)
if (inputType is InputType.LnUrlPay) { if (inputType is InputType.LnUrlPay) {
val requestData = inputType.data val requestData = inputType.data
val amountSats = requestData.minSendable val amountMsat = requestData.minSendable
val comment = "Any comment" sdk.payLnurl(LnUrlPayRequest(requestData, amountMsat, "comment"))
sdk.payLnurl(requestData, amountSats, comment)
} }
} catch (e: Exception) { } catch (e: Exception) {
// handle error // handle error
@@ -76,8 +82,8 @@ let lnurlPayUrl = "lightning@address.com"
try { try {
const input = await parseInput(lnurlPayUrl) const input = await parseInput(lnurlPayUrl)
if (input.type === InputTypeVariant.LN_URL_PAY) { if (input.type === InputTypeVariant.LN_URL_PAY) {
const amountSats = input.data.minSendable const amountMsat = input.data.minSendable
const result = await payLnurl(input.data, amountSats, "comment") const result = await payLnurl({data: input.data, amountMsat, comment: "comment"})
} }
} catch (error) { } catch (error) {
console.log(error) console.log(error)
@@ -97,11 +103,13 @@ String lnurlPayUrl = "lightning@address.com";
try { try {
InputType inputType = await parseInput(s: lnurlPayUrl); InputType inputType = await parseInput(s: lnurlPayUrl);
if (inputType is InputType_LnUrlPay) { if (inputType is InputType_LnUrlPay) {
int amountSats = inputType.data.minSendable; int amountMsat = inputType.data.minSendable;
LnUrlCallbackStatus result = await lnurlPay( LnUrlCallbackStatus result = await lnurlPay(
reqData: inputType.data, req: LnUrlPayRequest(
userAmountSat: amountSats, data: inputType.data,
comment: "comment", amountMsat: amountMsat,
comment: "comment",
),
); );
} }
} catch (error) { } catch (error) {
@@ -120,10 +128,14 @@ try {
lnurl_pay_url = "lightning@address.com" lnurl_pay_url = "lightning@address.com"
try: try:
parsed_input = breez_sdk.parse_input(lnurl_pay_url) parsed_input = breez_sdk.parse_input(lnurl_pay_url)
if isinstance(parsed_input, breez_sdk.InputType.LN_URL_PAY): if isinstance(parsed_input, breez_sdk.InputType.LN_URL_PAY):
amount_sats = parsed_input.data.min_sendable amount_msat = parsed_input.data.min_sendable
result = sdk_service.pay_lnurl(parsed_input.data, amount_sats, "comment") result = sdk_service.pay_lnurl(
breez_sdk.LnUrlPayRequest(
data=parsed_input.data,
amount_msat=amount_msat,
comment="comment"))
except Exception as error: except Exception as error:
# Handle error # Handle error
``` ```
@@ -141,9 +153,14 @@ lnurlPayUrl := "lightning@address.com"
if input, err := breez_sdk.ParseInput(lnurlPayUrl); err != nil { if input, err := breez_sdk.ParseInput(lnurlPayUrl); err != nil {
switch inputType := input.(type) { switch inputType := input.(type) {
case breez_sdk.InputTypeLnUrlPay: case breez_sdk.InputTypeLnUrlPay:
amountsSats := inputType.Data.MinSendable amountMsat := inputType.Data.MinSendable
comment := "comment" comment := "comment"
if result, err := sdk.PayLnurl(inputType.Data, amountsSats, &comment); err != nil { lnUrlPayRequest := breez_sdk.LnUrlPayRequest{
Data: inputType.Data,
AmountMsat: amountMsat,
Comment: &comment,
}
if result, err := sdk.PayLnurl(lnUrlPayRequest); err != nil {
switch result.(type) { switch result.(type) {
case breez_sdk.LnUrlPayResultEndpointSuccess: case breez_sdk.LnUrlPayResultEndpointSuccess:
log.Printf("Successfully paid") log.Printf("Successfully paid")
@@ -169,8 +186,8 @@ try
{ {
var input = BreezSdkMethods.ParseInput(lnurlPayUrl); var input = BreezSdkMethods.ParseInput(lnurlPayUrl);
if (input is InputType.LnUrlPay lnurlp) { if (input is InputType.LnUrlPay lnurlp) {
var amountSats = lnurlp.data.minSendable; var amountMsat = lnurlp.data.minSendable;
var result = sdk.PayLnurl(lnurlp.data, amountSats, "comment"); var result = sdk.PayLnurl(new LnUrlPayRequest(lnurlp.data, amountMsat, "comment"));
} }
} }
catch (Exception) catch (Exception)

View File

@@ -7,8 +7,12 @@ They can even be spontaneous payments to a node without a bolt11 invoice.
<section> <section>
```rust,ignore ```rust,ignore
let node_id = "..."; sdk.send_spontaneous_payment(
sdk.send_spontaneous_payment(node_id.into(), 3000).await?; SendSpontaneousPaymentRequest {
node_id: "...".into(),
amount_msat: 3000000,
})
.await?;
``` ```
</section> </section>
@@ -18,7 +22,10 @@ sdk.send_spontaneous_payment(node_id.into(), 3000).await?;
```swift ```swift
let nodeId = "..."; let nodeId = "...";
do { do {
let payment = try sdk.sendSpontaneousPayment(nodeId: nodeId, amountSats: 3000) let response = try sdk.sendSpontaneousPayment(
req: SendSpontaneousPaymentRequest(
nodeId: "...",
amountMsat: 3000000))
} catch { } catch {
// handle error // handle error
} }
@@ -30,8 +37,10 @@ do {
```kotlin,ignore ```kotlin,ignore
val nodeId = "..." val nodeId = "..."
val amountMsat = 3000000L.toULong()
try { try {
val payment = sdk.sendSpontaneousPayment(nodeId, 3000L.toULong()) val response = sdk.sendSpontaneousPayment(
SendSpontaneousPaymentRequest(nodeId, amountMsat))
} catch (e: Exception) { } catch (e: Exception) {
// handle error // handle error
} }
@@ -43,8 +52,9 @@ try {
```typescript ```typescript
const nodeId = "..." const nodeId = "..."
const amountMsat = 3000000
try { try {
const payment = await sendSpontaneousPayment(nodeId, 3000) const response = await sendSpontaneousPayment({nodeId, amountMsat})
} catch (error) { } catch (error) {
console.log(error) console.log(error)
} }
@@ -55,11 +65,12 @@ try {
<section> <section>
```dart ```dart
String nodeId = "...";
try { try {
Payment payment = await sendSpontaneousPayment( SendPaymentResponse response = await sendSpontaneousPayment(
nodeId: nodeId, req: SendSpontaneousPaymentRequest(
amountSats: 3000, nodeId: "...",
amountMsat: 3000000,
),
); );
} catch (error) { } catch (error) {
// handle error // handle error
@@ -71,9 +82,11 @@ try {
<section> <section>
```python ```python
node_id = "..."
try: try:
sdk_services.send_spontaneous_payment(node_id=node_id, amount_sats=3000) sdk_services.send_spontaneous_payment(
breez_sdk.SendSpontaneousPaymentRequest(
node_id="...",
amount_msat=3000000))
except Exception as error: except Exception as error:
# Handle error # Handle error
``` ```
@@ -83,9 +96,12 @@ except Exception as error:
<section> <section>
```go ```go
nodeId := "node id" sendSpontaneousPaymentRequest := breez_sdk.SendSpontaneousPaymentRequest{
if payment, err := sdk.SendSpontaneousPayment(nodeId, 3000); err == nil { NodeId: "...",
log.Printf("%#v", payment) AmountMsat: uint64(3000000),
}
if response, err := sdk.SendSpontaneousPayment(sendSpontaneousPaymentRequest); err == nil {
log.Printf("%#v", response)
} }
``` ```
</section> </section>
@@ -95,9 +111,10 @@ if payment, err := sdk.SendSpontaneousPayment(nodeId, 3000); err == nil {
```cs ```cs
var nodeId = "..."; var nodeId = "...";
var amountMsat = 3000000;
try try
{ {
var payment = sdk.SendSpontaneousPayment(nodeId, 3000); var response = sdk.SendSpontaneousPayment(new SendSpontaneousPaymentRequest(nodeId, amountMsat));
} }
catch (Exception) catch (Exception)
{ {