mirror of
https://github.com/aljazceru/breez-sdk-docs.git
synced 2025-12-17 22:04:21 +01:00
Indentation fixes
This commit is contained in:
@@ -75,12 +75,12 @@ The first step is to register a new node
|
||||
## Registering a new node
|
||||
```swift
|
||||
do {
|
||||
let seed = try mnemonicToSeed(phrase: "<mnemonics words>");
|
||||
let invite_code = <your greenlight invite code>;
|
||||
let seed = try mnemonicToSeed(phrase: "<mnemonics words>");
|
||||
let invite_code = <your greenlight invite code>;
|
||||
|
||||
// register_node takes either greenlight credentials (certifate & key) or invite code.
|
||||
// At this example we are using the invite code option.
|
||||
let credentials = try registerNode(network: Network.bitcoin, seed: seed, inviteCode: inviteCode);
|
||||
// register_node takes either greenlight credentials (certifate & key) or invite code.
|
||||
// At this example we are using the invite code option.
|
||||
let credentials = try registerNode(network: Network.bitcoin, seed: seed, inviteCode: inviteCode);
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
@@ -88,8 +88,8 @@ do {
|
||||
|
||||
## Recovering an existing node
|
||||
```swift
|
||||
let seed = try mnemonicToSeed(phrase: "<mnemonics words>");
|
||||
let credentials = try recoverNode(network: Network.bitcoin, seed: seed);
|
||||
let seed = try mnemonicToSeed(phrase: "<mnemonics words>");
|
||||
let credentials = try recoverNode(network: Network.bitcoin, seed: seed);
|
||||
```
|
||||
|
||||
Once the credentials are retrieved they should be saved in a secured storage.
|
||||
@@ -100,9 +100,9 @@ The next step is to initialize the SDK and start the node:
|
||||
|
||||
// SDK events listener
|
||||
class SDKListener: EventListener {
|
||||
func onEvent(e: BreezEvent) {
|
||||
print("received event ", e);
|
||||
}
|
||||
func onEvent(e: BreezEvent) {
|
||||
print("received event ", e);
|
||||
}
|
||||
}
|
||||
|
||||
// Create the default config
|
||||
@@ -113,8 +113,8 @@ config.apiKey = "your API key";
|
||||
config.workingDir = "path to an existing directory";
|
||||
|
||||
do {
|
||||
let sdkServices = try initServices(config: config, seed: seed, creds: credentials, listener: SDKListener());
|
||||
try sdkServices.start();
|
||||
let sdkServices = try initServices(config: config, seed: seed, creds: credentials, listener: SDKListener());
|
||||
try sdkServices.start();
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
@@ -124,9 +124,9 @@ At any point we can fetch our balance from the Greenlight node:
|
||||
|
||||
```swift
|
||||
do {
|
||||
let nodeInfo = try sdkServices.nodeInfo();
|
||||
let lnBalance = nodeInfo.channelsBalanceMsat;
|
||||
let onchainBalance = nodeInfo.onchainBalanceMsat;
|
||||
let nodeInfo = try sdkServices.nodeInfo();
|
||||
let lnBalance = nodeInfo.channelsBalanceMsat;
|
||||
let onchainBalance = nodeInfo.onchainBalanceMsat;
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
|
||||
@@ -34,8 +34,8 @@ if let Ok(LnUrlAuth{data: ad}) = parse(lnurl_auth_url).await {
|
||||
let lnurlAuthUrl = "lnurl1dp68gurn8ghj7mr0vdskc6r0wd6z7mrww4excttvdankjm3lw3skw0tvdankjm3xdvcn6vtp8q6n2dfsx5mrjwtrxdjnqvtzv56rzcnyv3jrxv3sxqmkyenrvv6kve3exv6nqdtyv43nqcmzvdsnvdrzx33rsenxx5unqc3cxgeqgntfgu";
|
||||
|
||||
do {
|
||||
let inputType = try parseInput(s: lnurlAuthUrl)
|
||||
if case .lnUrlAuth(data) = inputType {
|
||||
let inputType = try parseInput(s: lnurlAuthUrl)
|
||||
if case .lnUrlAuth(data) = inputType {
|
||||
let result = try sdk.lnurlAuth(data)
|
||||
switch result {
|
||||
case .ok:
|
||||
@@ -43,7 +43,7 @@ do {
|
||||
case .errorStatus(data):
|
||||
print("Failed to authenticate")
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
|
||||
@@ -31,11 +31,11 @@ if let Ok(LnUrlPay{data: pd}) = parse(lnurl_pay_url).await {
|
||||
// lnurl1dp68gurn8ghj7mr0vdskc6r0wd6z7mrww4excttsv9un7um9wdekjmmw84jxywf5x43rvv35xgmr2enrxanr2cfcvsmnwe3jxcukvde48qukgdec89snwde3vfjxvepjxpjnjvtpxd3kvdnxx5crxwpjvyunsephsz36jf
|
||||
let lnurlPayUrl = "lightning@address.com";
|
||||
do {
|
||||
let inputType = try parseInput(s: input)
|
||||
if case .lnUrlPay(data) = inputType {
|
||||
let inputType = try parseInput(s: input)
|
||||
if case .lnUrlPay(data) = inputType {
|
||||
let amountSats = inputType.minSendable;
|
||||
try sdk.payLnurl(amountSats: amountSats, "comment", reqData: data)
|
||||
}
|
||||
}
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
|
||||
@@ -30,12 +30,12 @@ if let Ok(LnUrlWithdraw{data: wd}) = parse(lnurl_withdraw_url).await {
|
||||
let lnurlWithdrawUrl = "lnurl1dp68gurn8ghj7mr0vdskc6r0wd6z7mrww4exctthd96xserjv9mn7um9wdekjmmw843xxwpexdnxzen9vgunsvfexq6rvdecx93rgdmyxcuxverrvcursenpxvukzv3c8qunsdecx33nzwpnvg6ryc3hv93nzvecxgcxgwp3h33lxk";
|
||||
|
||||
do {
|
||||
let inputType = try parseInput(s: input)
|
||||
if case .lnUrlWithdraw(data) = inputType {
|
||||
let inputType = try parseInput(s: input)
|
||||
if case .lnUrlWithdraw(data) = inputType {
|
||||
let amountSat = data.minWithdrawable;
|
||||
let description = "Test withdraw"
|
||||
try sdk.withdrawLnurl(amountSats: amountSat, description: "comment", reqData: data)
|
||||
}
|
||||
}
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
|
||||
@@ -25,14 +25,14 @@ sdk.send_payment(node_id.into(), Some(3000)).await?;
|
||||
|
||||
</section>
|
||||
<div slot="title">Swift</div>
|
||||
|
||||
<section>
|
||||
## Receiving Lightning Payments
|
||||
Breez SDK doesn't require you to open a channel and set up your inbound liquidity.
|
||||
Breez SDK automatically connects your node to the LSP peer and you can now receive payments:
|
||||
|
||||
```swift
|
||||
do {
|
||||
let invoice = try sdk.receivePayment(amountSats: 3000, description: "Invoice for 3000 sats")
|
||||
let invoice = try sdk.receivePayment(amountSats: 3000, description: "Invoice for 3000 sats")
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
@@ -42,7 +42,7 @@ do {
|
||||
```swift
|
||||
let bolt11 = "...";
|
||||
do {
|
||||
let payment = try sdk.sendPayment(bolt11: bolt11, amountSats: 3000)
|
||||
let payment = try sdk.sendPayment(bolt11: bolt11, amountSats: 3000)
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
@@ -52,12 +52,12 @@ do {
|
||||
```swift
|
||||
let nodeId = "...";
|
||||
do {
|
||||
let payment = try sdk.sendSpontaneousPayment(nodeId: nodeId, amountSats: 3000)
|
||||
let payment = try sdk.sendSpontaneousPayment(nodeId: nodeId, amountSats: 3000)
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
<section>
|
||||
|
||||
</section>
|
||||
|
||||
@@ -8,7 +8,7 @@ There are cases when you have funds in some bitcoin address and you would like t
|
||||
```rust,no_run
|
||||
let swap_info = sdk.receive_onchain().await?;
|
||||
|
||||
// Send your funds to the bellow bitcoin address
|
||||
// Send your funds to the below bitcoin address
|
||||
let address = swap_info.bitcoin_address;
|
||||
```
|
||||
|
||||
@@ -42,10 +42,10 @@ sdk.refund(refundable.bitcoin_address, destination_address, sat_per_vbyte).await
|
||||
|
||||
```swift
|
||||
do {
|
||||
let swapInfo = try sdk.receiveOnchain();
|
||||
let swapInfo = try sdk.receiveOnchain();
|
||||
|
||||
// Send your funds to the bellow bitcoin address
|
||||
let address = swapInfo.bitcoinAddress;
|
||||
// Send your funds to the below bitcoin address
|
||||
let address = swapInfo.bitcoinAddress;
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
@@ -55,7 +55,7 @@ Once you've sent the funds to the above address, the SDK will monitor this addre
|
||||
|
||||
```swift
|
||||
do {
|
||||
let swapInfo = try sdk.inProgressSwap()
|
||||
let swapInfo = try sdk.inProgressSwap()
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
@@ -70,7 +70,7 @@ In order to execute a refund, you need to supply an on-chain address to where th
|
||||
|
||||
```swift
|
||||
do {
|
||||
let refundables = try sdk.listRefundables()
|
||||
let refundables = try sdk.listRefundables()
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
@@ -82,13 +82,63 @@ Once you have a refundable swap in hand, use the follwing code to execute a refu
|
||||
let destinationAddress = "..."
|
||||
let satPerVbyte = <refund tx fee rate>
|
||||
do {
|
||||
try sdk.refund(
|
||||
swapAddress: refundable.bitcoinAddress,
|
||||
toAddress: destinationAddress,
|
||||
satPerVbyte: satPerVbyte)
|
||||
try sdk.refund(swapAddress: refundable.bitcoinAddress,
|
||||
toAddress: destinationAddress,
|
||||
satPerVbyte: satPerVbyte)
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
```
|
||||
</section>
|
||||
<div slot="title">React Native</div>
|
||||
<section>
|
||||
|
||||
```typescript
|
||||
try {
|
||||
const swapInfo = await sdkServices.receiveOnchain();
|
||||
|
||||
// Send your funds to the below bitcoin address
|
||||
const address = swapInfo.bitcoinAddress;
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
```
|
||||
|
||||
Once you've sent the funds to the above address, the SDK will monitor this address for unspent confirmed outputs and use a trustless submarine swap to receive these into your Lightning node. You can always monitor the status of the current in-progress swap using the following code:
|
||||
|
||||
```typescript
|
||||
try {
|
||||
const swapInfo = await sdkServices.inProgressSwap()
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
```
|
||||
|
||||
The process of receiving funds via an on-chain address is trustless and uses a submarine swap. This means there are two ways to spend the sent funds:
|
||||
|
||||
1. Either by a preimage that is exposed when the Lightning payment is completed - this is the positive case where the swap was successful.
|
||||
2. Or by your node when the swap didn't complete within a certain timeout - this is the negative case where your node will execute a refund.
|
||||
|
||||
In order to execute a refund, you need to supply an on-chain address to where the refunded amount will be sent. The following code will retrieve the refundable swaps:
|
||||
|
||||
```typescript
|
||||
try {
|
||||
const refundables = await sdkServices.listRefundables()
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
```
|
||||
|
||||
Once you have a refundable swap in hand, use the follwing code to execute a refund:
|
||||
|
||||
```typescript
|
||||
const destinationAddress = "..."
|
||||
const satPerVbyte = <refund tx fee rate>
|
||||
try {
|
||||
const result = await sdkServices.refund(refundable.bitcoinAddress, destinationAddress, satPerVbyte)
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
```
|
||||
</section>
|
||||
</custom-tabs>
|
||||
@@ -53,13 +53,13 @@ for rs in sdk.in_progress_reverse_swaps().await? {
|
||||
|
||||
```swift
|
||||
try {
|
||||
let currentFees = try sdk.fetchReverseSwapFees()
|
||||
let currentFees = try sdk.fetchReverseSwapFees()
|
||||
|
||||
println("Percentage fee for the reverse swap service: \(currentFees.feesPercentage))");
|
||||
println("Estimated miner fees in sats for locking up funds: \(currentFees.feesLockup)");
|
||||
println("Estimated miner fees in sats for claiming funds: \(currentFees.feesClaim)");
|
||||
} catch {
|
||||
print(error)
|
||||
println("Percentage fee for the reverse swap service: \(currentFees.feesPercentage)");
|
||||
println("Estimated miner fees in sats for locking up funds: \(currentFees.feesLockup)");
|
||||
println("Estimated miner fees in sats for claiming funds: \(currentFees.feesClaim)");
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
```
|
||||
|
||||
@@ -81,9 +81,9 @@ let destinationAddress = "bc1..";
|
||||
let amountSat = currentFees.min;
|
||||
let satPerVbyte = <fee rate>
|
||||
try {
|
||||
try sdk.sendOnchain(amountSat: amountSat, onchainRecipientAddress: destinationAddress, pairHash: currentFees.feesHash, satPerVbyte: satPerVbyte)
|
||||
} catch {
|
||||
print(error)
|
||||
try sdk.sendOnchain(amountSat: amountSat, onchainRecipientAddress: destinationAddress, pairHash: currentFees.feesHash, satPerVbyte: satPerVbyte)
|
||||
} catch SdkError.Error(let message) {
|
||||
print(message)
|
||||
}
|
||||
```
|
||||
|
||||
@@ -95,7 +95,10 @@ You can check its status with:
|
||||
|
||||
```swift
|
||||
for rs in sdk.inProgressReverseSwaps() {
|
||||
println("Reverse swap \(rs.id) in progress, status is \(rs.breezStatus)");
|
||||
println("Reverse swap \(rs.id) in progress, status is \(rs.breezStatus)");
|
||||
}
|
||||
```
|
||||
</section>
|
||||
}
|
||||
```
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user