Skip to content

Commit 4156170

Browse files
authored
Merge pull request #134 from TheBlueMatt/main
[0.1] Update to 0.1.2 and include `lightning-liquidity`
2 parents defd944 + 0a2c6ef commit 4156170

File tree

35 files changed

+25957
-11948
lines changed

35 files changed

+25957
-11948
lines changed

c-bindings-gen/src/main.rs

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1067,10 +1067,11 @@ fn writeln_impl<W: std::io::Write>(w: &mut W, w_uses: &mut HashSet<String, NonRa
10671067
if types.understood_c_path(&trait_path.1) && trait_obj_opt.is_some() {
10681068
let full_trait_path = full_trait_path_opt.unwrap();
10691069
let trait_obj = *trait_obj_opt.unwrap();
1070+
let trait_context_resolver = get_module_type_resolver!(full_trait_path, types.crate_types);
10701071

10711072
let supertrait_name;
10721073
let supertrait_resolver;
1073-
walk_supertraits!(trait_obj, Some(&types), (
1074+
walk_supertraits!(trait_obj, Some(&trait_context_resolver), (
10741075
(s, _i, _) => {
10751076
if let Some(supertrait) = types.crate_types.traits.get(s) {
10761077
supertrait_name = s.to_string();
@@ -1193,7 +1194,7 @@ fn writeln_impl<W: std::io::Write>(w: &mut W, w_uses: &mut HashSet<String, NonRa
11931194
}
11941195
}
11951196
let mut requires_clone = false;
1196-
walk_supertraits!(trait_obj, Some(&types), (
1197+
walk_supertraits!(trait_obj, Some(&trait_context_resolver), (
11971198
("Clone", _, _) => {
11981199
requires_clone = true;
11991200
writeln!(w, "\t\tcloned: Some({}_{}_cloned),", trait_obj.ident, ident).unwrap();
@@ -2169,7 +2170,19 @@ fn convert_file<'a, 'b>(libast: &'a FullLibraryAST, crate_types: &CrateTypes<'a>
21692170
} else {
21702171
format!("{}/lib.rs", out_dir)
21712172
};
2172-
let _ = std::fs::create_dir((&new_file_path.as_ref() as &std::path::Path).parent().unwrap());
2173+
2174+
fn create_dir_recursive(path: &std::path::Path) {
2175+
match std::fs::create_dir(path) {
2176+
Ok(_) => {},
2177+
Err(e) if e.kind() == std::io::ErrorKind::AlreadyExists => {},
2178+
Err(_) => {
2179+
create_dir_recursive(path.parent().unwrap());
2180+
std::fs::create_dir(path).expect("Failed to create output dir");
2181+
},
2182+
}
2183+
}
2184+
create_dir_recursive((&new_file_path.as_ref() as &std::path::Path).parent().unwrap());
2185+
21732186
let mut out = std::fs::OpenOptions::new().write(true).create(true).truncate(true)
21742187
.open(new_file_path).expect("Unable to open new src file");
21752188
let mut out_uses = HashSet::default();

c-bindings-gen/src/types.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1076,7 +1076,7 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> {
10761076
"str" => Some("crate::c_types::Str"),
10771077
"alloc::string::String"|"String"|"std::path::PathBuf" => Some("crate::c_types::Str"),
10781078

1079-
"bitcoin::address::Address"|"bitcoin::Address" => Some("crate::c_types::Str"),
1079+
"bitcoin::address::Address"|"bitcoin::Address" => Some("crate::c_types::Address"),
10801080

10811081
"std::time::Duration"|"core::time::Duration" => Some("u64"),
10821082
"std::time::SystemTime" => Some("u64"),
@@ -1206,6 +1206,8 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> {
12061206
"core::num::ParseIntError" => Some("u8::from_str_radix(\" a\", 10).unwrap_err() /*"),
12071207
"core::str::Utf8Error" => Some("core::str::from_utf8(&[0xff]).unwrap_err() /*"),
12081208

1209+
"bitcoin::address::Address"|"bitcoin::Address" => Some(""),
1210+
12091211
"std::time::Duration"|"core::time::Duration" => Some("core::time::Duration::from_secs("),
12101212
"std::time::SystemTime" => Some("(::std::time::SystemTime::UNIX_EPOCH + std::time::Duration::from_secs("),
12111213

@@ -1327,6 +1329,8 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> {
13271329
"core::num::ParseIntError" => Some("*/"),
13281330
"core::str::Utf8Error" => Some("*/"),
13291331

1332+
"bitcoin::address::Address"|"bitcoin::Address" => Some(".into_rust()"),
1333+
13301334
"std::time::Duration"|"core::time::Duration" => Some(")"),
13311335
"std::time::SystemTime" => Some("))"),
13321336

@@ -1442,7 +1446,8 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> {
14421446
"str" => Some(""),
14431447
"alloc::string::String"|"String"|"std::path::PathBuf" => Some(""),
14441448

1445-
"bitcoin::address::Address"|"bitcoin::Address" => Some("alloc::string::ToString::to_string(&"),
1449+
"bitcoin::address::Address"|"bitcoin::Address" if is_ref => Some("crate::c_types::Address::from_rust("),
1450+
"bitcoin::address::Address"|"bitcoin::Address" if !is_ref => Some("crate::c_types::Address::from_rust(&"),
14461451

14471452
"std::time::Duration"|"core::time::Duration" => Some(""),
14481453
"std::time::SystemTime" => Some(""),
@@ -1558,7 +1563,7 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> {
15581563
"alloc::string::String"|"String"|"std::path::PathBuf" if is_ref => Some(".as_str().into()"),
15591564
"alloc::string::String"|"String"|"std::path::PathBuf" => Some(".into()"),
15601565

1561-
"bitcoin::address::Address"|"bitcoin::Address" => Some(").into()"),
1566+
"bitcoin::address::Address"|"bitcoin::Address" => Some(")"),
15621567

15631568
"std::time::Duration"|"core::time::Duration" => Some(".as_secs()"),
15641569
"std::time::SystemTime" => Some(".duration_since(::std::time::SystemTime::UNIX_EPOCH).expect(\"Times must be post-1970\").as_secs()"),

deterministic-build-wrappers/compiler-builtins-dummy/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ edition = "2021"
55

66
[dependencies]
77
compiler_builtins = "=0.1.109"
8+
gimli = "=0.25.0"
9+
object = "=0.26.2"

deterministic-build-wrappers/rustc

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,21 @@
77
# ever (indirectly) depend on multiple versions of the same crate.
88
args=("$@")
99
IS_LIGHTNING=false
10+
SKIP_EMBED_BITCODE=false
1011
for ((i=0; i<"${#args[@]}"; ++i)); do
1112
case ${args[i]} in
1213
--crate-name)
13-
if [ "${args[i+1]}" = "lightning" -o "${args[i+1]}" = "lightning_types" -o "${args[i+1]}" = "lightning_background_processor" -o "${args[i+1]}" = "lightning_invoice" -o "${args[i+1]}" = "lightning_persister" -o "${args[i+1]}" = "lightning_rapid_gossip_sync" -o "${args[i+1]}" = "ldk" ]; then
14+
if [ "${args[i+1]}" = "lightning" -o "${args[i+1]}" = "lightning_types" -o "${args[i+1]}" = "lightning_background_processor" -o "${args[i+1]}" = "lightning_invoice" -o "${args[i+1]}" = "lightning_persister" -o "${args[i+1]}" = "lightning_rapid_gossip_sync" -o "${args[i+1]}" = "lightning_liquidity" -o "${args[i+1]}" = "lightning_transaction_sync" -o "${args[i+1]}" = "ldk" ]; then
1415
IS_LIGHTNING=true
1516
fi
1617
;;
18+
--crate-type)
19+
if [ "${args[i+1]}" = "proc-macro" ]; then
20+
# If we're building a proc-macro, rustc incorrectly passes our RUSTFLAGS containing
21+
# embed-bitcode=yes, which we don't want.
22+
SKIP_EMBED_BITCODE=true
23+
fi
24+
;;
1725
esac
1826
done
1927
for ((i=0; i<"${#args[@]}"; ++i)); do
@@ -24,7 +32,16 @@ for ((i=0; i<"${#args[@]}"; ++i)); do
2432
args[i]="metadata=42"
2533
fi
2634
;;
35+
embed-bitcode=yes)
36+
if [ "$SKIP_EMBED_BITCODE" = "true" ]; then
37+
args[i]="embed-bitcode=no"
38+
fi
39+
;;
40+
lto)
41+
if [ "$SKIP_EMBED_BITCODE" = "true" ]; then
42+
args[i]="lto=no"
43+
fi
44+
;;
2745
esac
2846
done
29-
3047
$LDK_RUSTC_PATH "${args[@]}"

genbindings.sh

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ if [ "$2" = "true" ]; then
207207
add_crate "lightning-background-processor" "lightning_background_processor" --features=std,lightning/std
208208
add_crate "lightning-invoice" "lightning_invoice" --features=std
209209
add_crate "lightning-rapid-gossip-sync" "lightning_rapid_gossip_sync" --features=std,lightning/std
210+
add_crate "lightning-liquidity" "lightning_liquidity" --features=std,lightning/std
210211
CARGO_BUILD_ARGS="--features=std"
211212
else
212213
add_crate lightning lightning --features=dnssec
@@ -215,6 +216,7 @@ else
215216
add_crate "lightning-background-processor" "lightning_background_processor"
216217
add_crate "lightning-rapid-gossip-sync" "lightning_rapid_gossip_sync"
217218
add_crate "lightning-invoice" "lightning_invoice"
219+
add_crate "lightning-liquidity" "lightning_liquidity"
218220
CARGO_BUILD_ARGS="--features=no-std"
219221
fi
220222

@@ -241,6 +243,9 @@ if [ "$CFLAGS_aarch64_apple_darwin" != "" -a "$HOST_OSX" = "true" ]; then
241243
fi
242244
cbindgen -v --config cbindgen.toml -o include/lightning.h >/dev/null 2>&1
243245

246+
echo "struct LDKBitcoinAddress;" >> include/ldk_rust_types.h
247+
echo "typedef struct LDKBitcoinAddress LDKBitcoinAddress;" >> include/ldk_rust_types.h
248+
244249
# cbindgen is relatively braindead when exporting typedefs -
245250
# it happily exports all our typedefs for private types, even with the
246251
# generics we specified in C mode! So we drop all those types manually here.
@@ -605,17 +610,25 @@ fi
605610

606611
for IDX in ${!EXTRA_TARGETS[@]}; do
607612
EXTRA_ENV_TARGET=$(echo "${EXTRA_TARGETS[$IDX]}" | sed 's/-/_/g')
608-
export CFLAGS_$EXTRA_ENV_TARGET="$BASE_CFLAGS"
613+
export CFLAGS_$EXTRA_ENV_TARGET="$BASE_CFLAGS -fPIC"
609614
export CC_$EXTRA_ENV_TARGET=${EXTRA_CCS[$IDX]}
615+
# Dunno why cc even looks for a target-specific ar, but just use LLVM
616+
export AR_$EXTRA_ENV_TARGET=llvm-ar
610617
EXTRA_RUSTFLAGS=""
611618
case "$EXTRA_ENV_TARGET" in
612619
"x86_64"*)
613-
export CFLAGS_$EXTRA_ENV_TARGET="$BASE_CFLAGS -march=sandybridge -mtune=sandybridge"
620+
export CFLAGS_$EXTRA_ENV_TARGET="$BASE_CFLAGS -march=sandybridge -mtune=sandybridge -fPIC"
614621
EXTRA_RUSTFLAGS="-C target-cpu=sandybridge"
615622
;;
616623
esac
617624
[ "${EXTRA_LINK_LTO[$IDX]}" != "" ] && EXTRA_RUSTFLAGS="-C linker-plugin-lto"
618-
RUSTFLAGS="$BASE_RUSTFLAGS -C embed-bitcode=yes -C lto -C linker=${EXTRA_CCS[$IDX]} $EXTRA_RUSTFLAGS" CARGO_PROFILE_RELEASE_LTO=true cargo build $CARGO_BUILD_ARGS -v --release --target "${EXTRA_TARGETS[$IDX]}"
625+
626+
# At some point rustc fixed the issue which merits REALLY_PIN_CC. I'm not sure when,
627+
# however, so we just use 1.84 as the cutoff.
628+
[ "$RUSTC_MINOR_VERSION" -lt 84 ] && REALLY_PIN_CC
629+
[ "$RUSTC_MINOR_VERSION" -lt 84 ] && OFFLINE_OPT="--offline"
630+
631+
RUSTC_BOOTSTRAP=1 RUSTFLAGS="$BASE_RUSTFLAGS -C embed-bitcode=yes -C lto -C linker=${EXTRA_CCS[$IDX]} $EXTRA_RUSTFLAGS" CARGO_PROFILE_RELEASE_LTO=true cargo build $OFFLINE_OPT $CARGO_BUILD_ARGS -v --release --target "${EXTRA_TARGETS[$IDX]}" -Zbuild-std=std,panic_abort
619632
done
620633

621634
if [ "$CLANGPP" != "" -a "$LLD" != "" ]; then

lightning-c-bindings/Cargo.toml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ crate-type = ["staticlib"
1616

1717
[features]
1818
no-std = ["lightning/dnssec"]
19-
std = ["bitcoin/std", "lightning/std", "lightning/dnssec", "lightning-invoice/std", "lightning-background-processor/std", "lightning-rapid-gossip-sync/std"]
19+
std = ["bitcoin/std", "lightning/std", "lightning/dnssec", "lightning-invoice/std", "lightning-background-processor/std", "lightning-rapid-gossip-sync/std", "lightning-liquidity/std"]
2020

2121
[dependencies]
2222
bitcoin = { version = "0.32", default-features = false }
@@ -29,10 +29,17 @@ lightning-persister = { git = "https://github.com/lightningdevkit/rust-lightning
2929
lightning-invoice = { git = "https://github.com/lightningdevkit/rust-lightning", branch = "0.1-bindings", default-features = false }
3030
lightning-background-processor = { git = "https://github.com/lightningdevkit/rust-lightning", branch = "0.1-bindings", default-features = false }
3131
lightning-rapid-gossip-sync = { git = "https://github.com/lightningdevkit/rust-lightning", branch = "0.1-bindings", default-features = false }
32+
lightning-liquidity = { git = "https://github.com/lightningdevkit/rust-lightning", branch = "0.1-bindings", default-features = false }
3233

3334
# Always force panic=abort, further options are set in the genbindings.sh build script
3435
[profile.dev]
3536
panic = "abort"
3637

3738
[profile.release]
3839
panic = "abort"
40+
41+
[lints.rust.unexpected_cfgs]
42+
level = "forbid"
43+
check-cfg = [
44+
"cfg(test_mod_pointers)",
45+
]

lightning-c-bindings/include/ldk_rust_types.h

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ struct nativeHumanReadableNameOpaque;
2424
typedef struct nativeHumanReadableNameOpaque LDKnativeHumanReadableName;
2525
struct nativeOMNameResolverOpaque;
2626
typedef struct nativeOMNameResolverOpaque LDKnativeOMNameResolver;
27+
struct nativeLSPS0ClientHandlerOpaque;
28+
typedef struct nativeLSPS0ClientHandlerOpaque LDKnativeLSPS0ClientHandler;
2729
struct nativeInvoiceWithExplicitSigningPubkeyBuilderOpaque;
2830
typedef struct nativeInvoiceWithExplicitSigningPubkeyBuilderOpaque LDKnativeInvoiceWithExplicitSigningPubkeyBuilder;
2931
struct nativeInvoiceWithDerivedSigningPubkeyBuilderOpaque;
@@ -79,6 +81,10 @@ struct nativeBlindedPathCandidateOpaque;
7981
typedef struct nativeBlindedPathCandidateOpaque LDKnativeBlindedPathCandidate;
8082
struct nativeOneHopBlindedPathCandidateOpaque;
8183
typedef struct nativeOneHopBlindedPathCandidateOpaque LDKnativeOneHopBlindedPathCandidate;
84+
struct nativeLSPS0ListProtocolsRequestOpaque;
85+
typedef struct nativeLSPS0ListProtocolsRequestOpaque LDKnativeLSPS0ListProtocolsRequest;
86+
struct nativeLSPS0ListProtocolsResponseOpaque;
87+
typedef struct nativeLSPS0ListProtocolsResponseOpaque LDKnativeLSPS0ListProtocolsResponse;
8288
struct nativeUntrustedStringOpaque;
8389
typedef struct nativeUntrustedStringOpaque LDKnativeUntrustedString;
8490
struct nativePrintableStringOpaque;
@@ -103,6 +109,14 @@ struct nativeBestBlockOpaque;
103109
typedef struct nativeBestBlockOpaque LDKnativeBestBlock;
104110
struct nativeWatchedOutputOpaque;
105111
typedef struct nativeWatchedOutputOpaque LDKnativeWatchedOutput;
112+
struct nativeLSPS1ClientConfigOpaque;
113+
typedef struct nativeLSPS1ClientConfigOpaque LDKnativeLSPS1ClientConfig;
114+
struct nativeLSPS1ClientHandlerOpaque;
115+
typedef struct nativeLSPS1ClientHandlerOpaque LDKnativeLSPS1ClientHandler;
116+
struct nativeLSPS2ClientConfigOpaque;
117+
typedef struct nativeLSPS2ClientConfigOpaque LDKnativeLSPS2ClientConfig;
118+
struct nativeLSPS2ClientHandlerOpaque;
119+
typedef struct nativeLSPS2ClientHandlerOpaque LDKnativeLSPS2ClientHandler;
106120
struct nativeOfferIdOpaque;
107121
typedef struct nativeOfferIdOpaque LDKnativeOfferId;
108122
struct nativeOfferWithExplicitMetadataBuilderOpaque;
@@ -171,6 +185,10 @@ struct nativeUserConfigOpaque;
171185
typedef struct nativeUserConfigOpaque LDKnativeUserConfig;
172186
struct nativeTaggedHashOpaque;
173187
typedef struct nativeTaggedHashOpaque LDKnativeTaggedHash;
188+
struct nativeLSPS2ServiceConfigOpaque;
189+
typedef struct nativeLSPS2ServiceConfigOpaque LDKnativeLSPS2ServiceConfig;
190+
struct nativeLSPS2ServiceHandlerOpaque;
191+
typedef struct nativeLSPS2ServiceHandlerOpaque LDKnativeLSPS2ServiceHandler;
174192
struct nativeChannelMonitorUpdateOpaque;
175193
typedef struct nativeChannelMonitorUpdateOpaque LDKnativeChannelMonitorUpdate;
176194
struct nativeHTLCUpdateOpaque;
@@ -325,6 +343,32 @@ struct nativeOnionPacketOpaque;
325343
typedef struct nativeOnionPacketOpaque LDKnativeOnionPacket;
326344
struct nativeTrampolineOnionPacketOpaque;
327345
typedef struct nativeTrampolineOnionPacketOpaque LDKnativeTrampolineOnionPacket;
346+
struct nativeLSPS1OrderIdOpaque;
347+
typedef struct nativeLSPS1OrderIdOpaque LDKnativeLSPS1OrderId;
348+
struct nativeLSPS1GetInfoRequestOpaque;
349+
typedef struct nativeLSPS1GetInfoRequestOpaque LDKnativeLSPS1GetInfoRequest;
350+
struct nativeLSPS1OptionsOpaque;
351+
typedef struct nativeLSPS1OptionsOpaque LDKnativeLSPS1Options;
352+
struct nativeLSPS1GetInfoResponseOpaque;
353+
typedef struct nativeLSPS1GetInfoResponseOpaque LDKnativeLSPS1GetInfoResponse;
354+
struct nativeLSPS1CreateOrderRequestOpaque;
355+
typedef struct nativeLSPS1CreateOrderRequestOpaque LDKnativeLSPS1CreateOrderRequest;
356+
struct nativeLSPS1OrderParamsOpaque;
357+
typedef struct nativeLSPS1OrderParamsOpaque LDKnativeLSPS1OrderParams;
358+
struct nativeLSPS1CreateOrderResponseOpaque;
359+
typedef struct nativeLSPS1CreateOrderResponseOpaque LDKnativeLSPS1CreateOrderResponse;
360+
struct nativeLSPS1PaymentInfoOpaque;
361+
typedef struct nativeLSPS1PaymentInfoOpaque LDKnativeLSPS1PaymentInfo;
362+
struct nativeLSPS1Bolt11PaymentInfoOpaque;
363+
typedef struct nativeLSPS1Bolt11PaymentInfoOpaque LDKnativeLSPS1Bolt11PaymentInfo;
364+
struct nativeLSPS1OnchainPaymentInfoOpaque;
365+
typedef struct nativeLSPS1OnchainPaymentInfoOpaque LDKnativeLSPS1OnchainPaymentInfo;
366+
struct nativeLSPS1OnchainPaymentOpaque;
367+
typedef struct nativeLSPS1OnchainPaymentOpaque LDKnativeLSPS1OnchainPayment;
368+
struct nativeLSPS1ChannelInfoOpaque;
369+
typedef struct nativeLSPS1ChannelInfoOpaque LDKnativeLSPS1ChannelInfo;
370+
struct nativeLSPS1GetOrderRequestOpaque;
371+
typedef struct nativeLSPS1GetOrderRequestOpaque LDKnativeLSPS1GetOrderRequest;
328372
struct nativeRecordOpaque;
329373
typedef struct nativeRecordOpaque LDKnativeRecord;
330374
struct nativeInboundHTLCDetailsOpaque;
@@ -341,6 +385,14 @@ struct nativeFutureOpaque;
341385
typedef struct nativeFutureOpaque LDKnativeFuture;
342386
struct nativeSleeperOpaque;
343387
typedef struct nativeSleeperOpaque LDKnativeSleeper;
388+
struct nativeRawLSPSMessageOpaque;
389+
typedef struct nativeRawLSPSMessageOpaque LDKnativeRawLSPSMessage;
390+
struct nativeLSPSRequestIdOpaque;
391+
typedef struct nativeLSPSRequestIdOpaque LDKnativeLSPSRequestId;
392+
struct nativeLSPSDateTimeOpaque;
393+
typedef struct nativeLSPSDateTimeOpaque LDKnativeLSPSDateTime;
394+
struct nativeLSPSResponseErrorOpaque;
395+
typedef struct nativeLSPSResponseErrorOpaque LDKnativeLSPSResponseError;
344396
struct nativeHeldHtlcAvailableOpaque;
345397
typedef struct nativeHeldHtlcAvailableOpaque LDKnativeHeldHtlcAvailable;
346398
struct nativeReleaseHeldHtlcOpaque;
@@ -377,6 +429,20 @@ struct nativeInvalidShutdownScriptOpaque;
377429
typedef struct nativeInvalidShutdownScriptOpaque LDKnativeInvalidShutdownScript;
378430
struct nativeBolt12ParseErrorOpaque;
379431
typedef struct nativeBolt12ParseErrorOpaque LDKnativeBolt12ParseError;
432+
struct nativeLSPS2GetInfoRequestOpaque;
433+
typedef struct nativeLSPS2GetInfoRequestOpaque LDKnativeLSPS2GetInfoRequest;
434+
struct nativeLSPS2RawOpeningFeeParamsOpaque;
435+
typedef struct nativeLSPS2RawOpeningFeeParamsOpaque LDKnativeLSPS2RawOpeningFeeParams;
436+
struct nativeLSPS2OpeningFeeParamsOpaque;
437+
typedef struct nativeLSPS2OpeningFeeParamsOpaque LDKnativeLSPS2OpeningFeeParams;
438+
struct nativeLSPS2GetInfoResponseOpaque;
439+
typedef struct nativeLSPS2GetInfoResponseOpaque LDKnativeLSPS2GetInfoResponse;
440+
struct nativeLSPS2BuyRequestOpaque;
441+
typedef struct nativeLSPS2BuyRequestOpaque LDKnativeLSPS2BuyRequest;
442+
struct nativeLSPS2InterceptScidOpaque;
443+
typedef struct nativeLSPS2InterceptScidOpaque LDKnativeLSPS2InterceptScid;
444+
struct nativeLSPS2BuyResponseOpaque;
445+
typedef struct nativeLSPS2BuyResponseOpaque LDKnativeLSPS2BuyResponse;
380446
struct nativePacketOpaque;
381447
typedef struct nativePacketOpaque LDKnativePacket;
382448
struct nativeClaimedHTLCOpaque;
@@ -483,6 +549,8 @@ struct nativeEmptyNodeIdLookUpOpaque;
483549
typedef struct nativeEmptyNodeIdLookUpOpaque LDKnativeEmptyNodeIdLookUp;
484550
struct nativeBlindedHopOpaque;
485551
typedef struct nativeBlindedHopOpaque LDKnativeBlindedHop;
552+
struct nativeMessageQueueOpaque;
553+
typedef struct nativeMessageQueueOpaque LDKnativeMessageQueue;
486554
struct nativeInvoiceErrorOpaque;
487555
typedef struct nativeInvoiceErrorOpaque LDKnativeInvoiceError;
488556
struct nativeErroneousFieldOpaque;
@@ -507,9 +575,13 @@ struct nativeLockedChannelMonitorOpaque;
507575
typedef struct nativeLockedChannelMonitorOpaque LDKnativeLockedChannelMonitor;
508576
struct nativeChainMonitorOpaque;
509577
typedef struct nativeChainMonitorOpaque LDKnativeChainMonitor;
578+
struct nativeLSPS0ServiceHandlerOpaque;
579+
typedef struct nativeLSPS0ServiceHandlerOpaque LDKnativeLSPS0ServiceHandler;
510580
struct nativeBlindedMessagePathOpaque;
511581
typedef struct nativeBlindedMessagePathOpaque LDKnativeBlindedMessagePath;
512582
struct nativeMessageForwardNodeOpaque;
513583
typedef struct nativeMessageForwardNodeOpaque LDKnativeMessageForwardNode;
514584
struct nativeDNSResolverContextOpaque;
515585
typedef struct nativeDNSResolverContextOpaque LDKnativeDNSResolverContext;
586+
struct LDKBitcoinAddress;
587+
typedef struct LDKBitcoinAddress LDKBitcoinAddress;

0 commit comments

Comments
 (0)