Skip to content

Commit 651b1c3

Browse files
committed
cln and phoenix tor socks
1 parent f147f44 commit 651b1c3

File tree

8 files changed

+299
-296
lines changed

8 files changed

+299
-296
lines changed

bindings/lni_nodejs/index.d.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66
export interface PhoenixdConfig {
77
url: string
88
password: string
9+
socks5Proxy?: string
10+
acceptInvalidCerts?: boolean
911
}
1012
export interface PhoenixdNode {
11-
url: string
12-
password: string
13+
config: PhoenixdConfig
1314
}
1415
export interface Bolt11Resp {
1516
amountSat: number
@@ -26,10 +27,11 @@ export interface PhoenixPayInvoiceResp {
2627
export interface ClnConfig {
2728
url: string
2829
rune: string
30+
socks5Proxy?: string
31+
acceptInvalidCerts?: boolean
2932
}
3033
export interface ClnNode {
31-
url: string
32-
rune: string
34+
config: ClnConfig
3335
}
3436
export interface LndConfig {
3537
url: string

bindings/lni_nodejs/src/cln.rs

Lines changed: 21 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,13 @@ impl ClnNode {
2525

2626
#[napi]
2727
pub fn get_config(&self) -> ClnConfig {
28-
ClnConfig {
29-
url: self.inner.url.clone(),
30-
rune: self.inner.rune.clone(),
31-
}
28+
self.inner.clone()
3229
}
3330

3431
#[napi]
3532
pub async fn get_info(&self) -> napi::Result<lni::NodeInfo> {
36-
let info = lni::cln::api::get_info(self.inner.url.clone(), self.inner.rune.clone())
33+
let info = lni::cln::api::get_info(&self.inner)
34+
.await
3735
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
3836
Ok(info)
3937
}
@@ -44,8 +42,7 @@ impl ClnNode {
4442
params: CreateInvoiceParams,
4543
) -> napi::Result<lni::Transaction> {
4644
let txn = lni::cln::api::create_invoice(
47-
self.inner.url.clone(),
48-
self.inner.rune.clone(),
45+
&self.inner,
4946
params.invoice_type,
5047
params.amount_msats,
5148
params.offer,
@@ -63,27 +60,25 @@ impl ClnNode {
6360
&self,
6461
params: PayInvoiceParams,
6562
) -> Result<lni::types::PayInvoiceResponse> {
66-
let invoice =
67-
lni::cln::api::pay_invoice(self.inner.url.clone(), self.inner.rune.clone(), params)
68-
.await
69-
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
63+
let invoice = lni::cln::api::pay_invoice(&self.inner, params)
64+
.await
65+
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
7066
Ok(invoice)
7167
}
7268

7369
#[napi]
7470
pub async fn get_offer(&self, search: Option<String>) -> Result<lni::types::PayCode> {
75-
let offer = lni::cln::api::get_offer(self.inner.url.clone(), self.inner.rune.clone(), search)
71+
let offer = lni::cln::api::get_offer(&self.inner, search)
7672
.await
7773
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
7874
Ok(offer)
7975
}
8076

8177
#[napi]
8278
pub async fn list_offers(&self, search: Option<String>) -> Result<Vec<lni::types::PayCode>> {
83-
let offers =
84-
lni::cln::api::list_offers(self.inner.url.clone(), self.inner.rune.clone(), search)
85-
.await
86-
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
79+
let offers = lni::cln::api::list_offers(&self.inner, search)
80+
.await
81+
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
8782
Ok(offers)
8883
}
8984

@@ -94,28 +89,17 @@ impl ClnNode {
9489
amount_msats: i64,
9590
payer_note: Option<String>,
9691
) -> napi::Result<lni::PayInvoiceResponse> {
97-
let offer = lni::cln::api::pay_offer(
98-
self.inner.url.clone(),
99-
self.inner.rune.clone(),
100-
offer,
101-
amount_msats,
102-
payer_note,
103-
)
104-
.await
105-
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
92+
let offer = lni::cln::api::pay_offer(&self.inner, offer, amount_msats, payer_note)
93+
.await
94+
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
10695
Ok(offer)
10796
}
10897

10998
#[napi]
11099
pub async fn lookup_invoice(&self, payment_hash: String) -> napi::Result<lni::Transaction> {
111-
let txn = lni::cln::api::lookup_invoice(
112-
self.inner.url.clone(),
113-
self.inner.rune.clone(),
114-
Some(payment_hash),
115-
None,
116-
None,
117-
)
118-
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
100+
let txn = lni::cln::api::lookup_invoice(&self.inner, Some(payment_hash), None, None)
101+
.await
102+
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
119103
Ok(txn)
120104
}
121105

@@ -124,19 +108,15 @@ impl ClnNode {
124108
&self,
125109
params: lni::types::ListTransactionsParams,
126110
) -> napi::Result<Vec<lni::Transaction>> {
127-
let txns = lni::cln::api::list_transactions(
128-
self.inner.url.clone(),
129-
self.inner.rune.clone(),
130-
params.from,
131-
params.limit,
132-
)
133-
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
111+
let txns = lni::cln::api::list_transactions(&self.inner, params.from, params.limit)
112+
.await
113+
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
134114
Ok(txns)
135115
}
136116

137117
#[napi]
138118
pub async fn decode(&self, str: String) -> Result<String> {
139-
let decoded = lni::cln::api::decode(self.inner.url.clone(), self.inner.rune.clone(), str)
119+
let decoded = lni::cln::api::decode(&self.inner, str)
140120
.await
141121
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
142122
Ok(decoded)

bindings/lni_nodejs/src/phoenixd.rs

Lines changed: 20 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,13 @@ impl PhoenixdNode {
2626

2727
#[napi]
2828
pub fn get_config(&self) -> PhoenixdConfig {
29-
PhoenixdConfig {
30-
url: self.inner.url.clone(),
31-
password: self.inner.password.clone(),
32-
}
29+
self.inner.clone()
3330
}
3431

3532
#[napi]
3633
pub async fn get_info(&self) -> napi::Result<lni::NodeInfo> {
37-
let info = lni::phoenixd::api::get_info(self.inner.url.clone(), self.inner.password.clone())
34+
let info = lni::phoenixd::api::get_info(&self.inner)
35+
.await
3836
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
3937
Ok(info)
4038
}
@@ -45,8 +43,7 @@ impl PhoenixdNode {
4543
params: CreateInvoiceParams,
4644
) -> napi::Result<lni::Transaction> {
4745
let txn = lni::phoenixd::api::create_invoice(
48-
self.inner.url.clone(),
49-
self.inner.password.clone(),
46+
&self.inner,
5047
params.invoice_type,
5148
params.amount_msats,
5249
params.description,
@@ -63,30 +60,25 @@ impl PhoenixdNode {
6360
&self,
6461
params: PayInvoiceParams,
6562
) -> Result<lni::types::PayInvoiceResponse> {
66-
let invoice =
67-
lni::phoenixd::api::pay_invoice(self.inner.url.clone(), self.inner.password.clone(), params)
68-
.await
69-
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
63+
let invoice = lni::phoenixd::api::pay_invoice(&self.inner, params)
64+
.await
65+
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
7066
Ok(invoice)
7167
}
7268

7369
#[napi]
7470
pub async fn get_offer(&self) -> Result<lni::PayCode> {
75-
let paycode =
76-
lni::phoenixd::api::get_offer(self.inner.url.clone(), self.inner.password.clone())
77-
.await
78-
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
71+
let paycode = lni::phoenixd::api::get_offer(&self.inner)
72+
.await
73+
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
7974
Ok(paycode)
8075
}
8176

8277
#[napi]
8378
pub async fn lookup_invoice(&self, payment_hash: String) -> napi::Result<lni::Transaction> {
84-
let txn = lni::phoenixd::api::lookup_invoice(
85-
self.inner.url.clone(),
86-
self.inner.password.clone(),
87-
payment_hash,
88-
)
89-
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
79+
let txn = lni::phoenixd::api::lookup_invoice(&self.inner, payment_hash)
80+
.await
81+
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
9082
Ok(txn)
9183
}
9284

@@ -97,15 +89,9 @@ impl PhoenixdNode {
9789
amount_msats: i64,
9890
payer_note: Option<String>,
9991
) -> napi::Result<lni::PayInvoiceResponse> {
100-
let offer = lni::phoenixd::api::pay_offer(
101-
self.inner.url.clone(),
102-
self.inner.password.clone(),
103-
offer,
104-
amount_msats,
105-
payer_note,
106-
)
107-
.await
108-
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
92+
let offer = lni::phoenixd::api::pay_offer(&self.inner, offer, amount_msats, payer_note)
93+
.await
94+
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
10995
Ok(offer)
11096
}
11197

@@ -114,14 +100,9 @@ impl PhoenixdNode {
114100
&self,
115101
params: crate::ListTransactionsParams,
116102
) -> napi::Result<Vec<lni::Transaction>> {
117-
let txns = lni::phoenixd::api::list_transactions(
118-
self.inner.url.clone(),
119-
self.inner.password.clone(),
120-
params.from,
121-
params.limit,
122-
None,
123-
)
124-
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
103+
let txns = lni::phoenixd::api::list_transactions(&self.inner, params.from, params.limit, None)
104+
.await
105+
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
125106
Ok(txns)
126107
}
127108
}
@@ -147,6 +128,7 @@ mod tests {
147128
PhoenixdNode::new(PhoenixdConfig {
148129
url: URL.clone(),
149130
password: PASSWORD.clone(),
131+
..Default::default()
150132
})
151133
};
152134
}

bindings/lni_uniffi/src/lni.udl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ namespace lni {};
33
dictionary PhoenixdConfig {
44
string url;
55
string password;
6+
string? socks5_proxy;
7+
boolean? accept_invalid_certs;
68
};
79

810
interface PhoenixdNode {
@@ -34,6 +36,8 @@ interface PhoenixdNode {
3436
dictionary ClnConfig {
3537
string url;
3638
string rune;
39+
string? socks5_proxy;
40+
boolean? accept_invalid_certs;
3741
};
3842

3943
interface ClnNode {

0 commit comments

Comments
 (0)