Skip to content

Commit 0e66950

Browse files
authored
Merge pull request #56 from synonymdev/feat/channel-liquidity-calcs
feat: add channel liquidity calculation functions
2 parents aa2ad84 + 39d61fb commit 0e66950

File tree

23 files changed

+1135
-8
lines changed

23 files changed

+1135
-8
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "bitkitcore"
3-
version = "0.1.30"
3+
version = "0.1.31"
44
edition = "2021"
55

66
[lib]

Package.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
import PackageDescription
55

6-
let tag = "v0.1.30"
7-
let checksum = "3bbb4aef3a8ac2e5cbf283b98a00289b4d59f3870f1a60a941d1183bceaaa042"
6+
let tag = "v0.1.31"
7+
let checksum = "919d015a27448207dc26e54a07c846355ae7d78bfc970914940d7d5cc101811f"
88
let url = "https://github.com/synonymdev/bitkit-core/releases/download/\(tag)/BitkitCore.xcframework.zip"
99

1010
let package = Package(

bindings/android/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ android.useAndroidX=true
33
android.enableJetifier=true
44
kotlin.code.style=official
55
group=com.synonym
6-
version=0.1.30
6+
version=0.1.31
-142 KB
Binary file not shown.
Binary file not shown.
-165 KB
Binary file not shown.
-96 KB
Binary file not shown.

bindings/android/lib/src/main/kotlin/com/synonym/bitkitcore/bitkitcore.android.kt

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,6 +1127,10 @@ internal interface UniffiForeignFutureCompleteVoid: com.sun.jna.Callback {
11271127

11281128

11291129

1130+
1131+
1132+
1133+
11301134

11311135

11321136

@@ -1192,6 +1196,9 @@ internal object IntegrityCheckingUniffiLib : Library {
11921196
if (uniffi_bitkitcore_checksum_func_blocktank_wipe_all() != 41797.toShort()) {
11931197
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
11941198
}
1199+
if (uniffi_bitkitcore_checksum_func_calculate_channel_liquidity_options() != 51013.toShort()) {
1200+
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
1201+
}
11951202
if (uniffi_bitkitcore_checksum_func_create_channel_request_url() != 9305.toShort()) {
11961203
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
11971204
}
@@ -1270,6 +1277,9 @@ internal object IntegrityCheckingUniffiLib : Library {
12701277
if (uniffi_bitkitcore_checksum_func_get_closed_channel_by_id() != 19736.toShort()) {
12711278
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
12721279
}
1280+
if (uniffi_bitkitcore_checksum_func_get_default_lsp_balance() != 35903.toShort()) {
1281+
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
1282+
}
12731283
if (uniffi_bitkitcore_checksum_func_get_gift() != 386.toShort()) {
12741284
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
12751285
}
@@ -1463,6 +1473,9 @@ internal object IntegrityCheckingUniffiLib : Library {
14631473
external fun uniffi_bitkitcore_checksum_func_blocktank_wipe_all(
14641474
): Short
14651475
@JvmStatic
1476+
external fun uniffi_bitkitcore_checksum_func_calculate_channel_liquidity_options(
1477+
): Short
1478+
@JvmStatic
14661479
external fun uniffi_bitkitcore_checksum_func_create_channel_request_url(
14671480
): Short
14681481
@JvmStatic
@@ -1541,6 +1554,9 @@ internal object IntegrityCheckingUniffiLib : Library {
15411554
external fun uniffi_bitkitcore_checksum_func_get_closed_channel_by_id(
15421555
): Short
15431556
@JvmStatic
1557+
external fun uniffi_bitkitcore_checksum_func_get_default_lsp_balance(
1558+
): Short
1559+
@JvmStatic
15441560
external fun uniffi_bitkitcore_checksum_func_get_gift(
15451561
): Short
15461562
@JvmStatic
@@ -1754,6 +1770,11 @@ internal object UniffiLib : Library {
17541770
external fun uniffi_bitkitcore_fn_func_blocktank_wipe_all(
17551771
): Long
17561772
@JvmStatic
1773+
external fun uniffi_bitkitcore_fn_func_calculate_channel_liquidity_options(
1774+
`params`: RustBufferByValue,
1775+
uniffiCallStatus: UniffiRustCallStatus,
1776+
): RustBufferByValue
1777+
@JvmStatic
17571778
external fun uniffi_bitkitcore_fn_func_create_channel_request_url(
17581779
`k1`: RustBufferByValue,
17591780
`callback`: RustBufferByValue,
@@ -1915,6 +1936,11 @@ internal object UniffiLib : Library {
19151936
uniffiCallStatus: UniffiRustCallStatus,
19161937
): RustBufferByValue
19171938
@JvmStatic
1939+
external fun uniffi_bitkitcore_fn_func_get_default_lsp_balance(
1940+
`params`: RustBufferByValue,
1941+
uniffiCallStatus: UniffiRustCallStatus,
1942+
): Long
1943+
@JvmStatic
19181944
external fun uniffi_bitkitcore_fn_func_get_gift(
19191945
`giftId`: RustBufferByValue,
19201946
): Long
@@ -2891,6 +2917,65 @@ public object FfiConverterTypeAddressResponse: FfiConverterRustBuffer<AddressRes
28912917

28922918

28932919

2920+
public object FfiConverterTypeChannelLiquidityOptions: FfiConverterRustBuffer<ChannelLiquidityOptions> {
2921+
override fun read(buf: ByteBuffer): ChannelLiquidityOptions {
2922+
return ChannelLiquidityOptions(
2923+
FfiConverterULong.read(buf),
2924+
FfiConverterULong.read(buf),
2925+
FfiConverterULong.read(buf),
2926+
FfiConverterULong.read(buf),
2927+
)
2928+
}
2929+
2930+
override fun allocationSize(value: ChannelLiquidityOptions): ULong = (
2931+
FfiConverterULong.allocationSize(value.`defaultLspBalanceSat`) +
2932+
FfiConverterULong.allocationSize(value.`minLspBalanceSat`) +
2933+
FfiConverterULong.allocationSize(value.`maxLspBalanceSat`) +
2934+
FfiConverterULong.allocationSize(value.`maxClientBalanceSat`)
2935+
)
2936+
2937+
override fun write(value: ChannelLiquidityOptions, buf: ByteBuffer) {
2938+
FfiConverterULong.write(value.`defaultLspBalanceSat`, buf)
2939+
FfiConverterULong.write(value.`minLspBalanceSat`, buf)
2940+
FfiConverterULong.write(value.`maxLspBalanceSat`, buf)
2941+
FfiConverterULong.write(value.`maxClientBalanceSat`, buf)
2942+
}
2943+
}
2944+
2945+
2946+
2947+
2948+
public object FfiConverterTypeChannelLiquidityParams: FfiConverterRustBuffer<ChannelLiquidityParams> {
2949+
override fun read(buf: ByteBuffer): ChannelLiquidityParams {
2950+
return ChannelLiquidityParams(
2951+
FfiConverterULong.read(buf),
2952+
FfiConverterULong.read(buf),
2953+
FfiConverterULong.read(buf),
2954+
FfiConverterULong.read(buf),
2955+
FfiConverterULong.read(buf),
2956+
)
2957+
}
2958+
2959+
override fun allocationSize(value: ChannelLiquidityParams): ULong = (
2960+
FfiConverterULong.allocationSize(value.`clientBalanceSat`) +
2961+
FfiConverterULong.allocationSize(value.`existingChannelsTotalSat`) +
2962+
FfiConverterULong.allocationSize(value.`minChannelSizeSat`) +
2963+
FfiConverterULong.allocationSize(value.`maxChannelSizeSat`) +
2964+
FfiConverterULong.allocationSize(value.`satsPerEur`)
2965+
)
2966+
2967+
override fun write(value: ChannelLiquidityParams, buf: ByteBuffer) {
2968+
FfiConverterULong.write(value.`clientBalanceSat`, buf)
2969+
FfiConverterULong.write(value.`existingChannelsTotalSat`, buf)
2970+
FfiConverterULong.write(value.`minChannelSizeSat`, buf)
2971+
FfiConverterULong.write(value.`maxChannelSizeSat`, buf)
2972+
FfiConverterULong.write(value.`satsPerEur`, buf)
2973+
}
2974+
}
2975+
2976+
2977+
2978+
28942979
public object FfiConverterTypeClosedChannelDetails: FfiConverterRustBuffer<ClosedChannelDetails> {
28952980
override fun read(buf: ByteBuffer): ClosedChannelDetails {
28962981
return ClosedChannelDetails(
@@ -3129,6 +3214,31 @@ public object FfiConverterTypeDeepLinkResult: FfiConverterRustBuffer<DeepLinkRes
31293214

31303215

31313216

3217+
public object FfiConverterTypeDefaultLspBalanceParams: FfiConverterRustBuffer<DefaultLspBalanceParams> {
3218+
override fun read(buf: ByteBuffer): DefaultLspBalanceParams {
3219+
return DefaultLspBalanceParams(
3220+
FfiConverterULong.read(buf),
3221+
FfiConverterULong.read(buf),
3222+
FfiConverterULong.read(buf),
3223+
)
3224+
}
3225+
3226+
override fun allocationSize(value: DefaultLspBalanceParams): ULong = (
3227+
FfiConverterULong.allocationSize(value.`clientBalanceSat`) +
3228+
FfiConverterULong.allocationSize(value.`maxChannelSizeSat`) +
3229+
FfiConverterULong.allocationSize(value.`satsPerEur`)
3230+
)
3231+
3232+
override fun write(value: DefaultLspBalanceParams, buf: ByteBuffer) {
3233+
FfiConverterULong.write(value.`clientBalanceSat`, buf)
3234+
FfiConverterULong.write(value.`maxChannelSizeSat`, buf)
3235+
FfiConverterULong.write(value.`satsPerEur`, buf)
3236+
}
3237+
}
3238+
3239+
3240+
3241+
31323242
public object FfiConverterTypeDeviceParams: FfiConverterRustBuffer<DeviceParams> {
31333243
override fun read(buf: ByteBuffer): DeviceParams {
31343244
return DeviceParams(
@@ -9836,6 +9946,15 @@ public suspend fun `blocktankWipeAll`() {
98369946
)
98379947
}
98389948

9949+
public fun `calculateChannelLiquidityOptions`(`params`: ChannelLiquidityParams): ChannelLiquidityOptions {
9950+
return FfiConverterTypeChannelLiquidityOptions.lift(uniffiRustCall { uniffiRustCallStatus ->
9951+
UniffiLib.uniffi_bitkitcore_fn_func_calculate_channel_liquidity_options(
9952+
FfiConverterTypeChannelLiquidityParams.lower(`params`),
9953+
uniffiRustCallStatus,
9954+
)
9955+
})
9956+
}
9957+
98399958
@Throws(LnurlException::class)
98409959
public fun `createChannelRequestUrl`(`k1`: kotlin.String, `callback`: kotlin.String, `localNodeId`: kotlin.String, `isPrivate`: kotlin.Boolean, `cancel`: kotlin.Boolean): kotlin.String {
98419960
return FfiConverterString.lift(uniffiRustCallWithError(LnurlExceptionErrorHandler) { uniffiRustCallStatus ->
@@ -10173,6 +10292,15 @@ public fun `getClosedChannelById`(`channelId`: kotlin.String): ClosedChannelDeta
1017310292
})
1017410293
}
1017510294

10295+
public fun `getDefaultLspBalance`(`params`: DefaultLspBalanceParams): kotlin.ULong {
10296+
return FfiConverterULong.lift(uniffiRustCall { uniffiRustCallStatus ->
10297+
UniffiLib.uniffi_bitkitcore_fn_func_get_default_lsp_balance(
10298+
FfiConverterTypeDefaultLspBalanceParams.lower(`params`),
10299+
uniffiRustCallStatus,
10300+
)
10301+
})
10302+
}
10303+
1017610304
@Throws(BlocktankException::class, kotlin.coroutines.cancellation.CancellationException::class)
1017710305
public suspend fun `getGift`(`giftId`: kotlin.String): IGift {
1017810306
return uniffiRustCallAsync(

bindings/android/lib/src/main/kotlin/com/synonym/bitkitcore/bitkitcore.common.kt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,31 @@ public data class AddressResponse (
235235

236236

237237

238+
@kotlinx.serialization.Serializable
239+
public data class ChannelLiquidityOptions (
240+
val `defaultLspBalanceSat`: kotlin.ULong,
241+
val `minLspBalanceSat`: kotlin.ULong,
242+
val `maxLspBalanceSat`: kotlin.ULong,
243+
val `maxClientBalanceSat`: kotlin.ULong
244+
) {
245+
public companion object
246+
}
247+
248+
249+
250+
@kotlinx.serialization.Serializable
251+
public data class ChannelLiquidityParams (
252+
val `clientBalanceSat`: kotlin.ULong,
253+
val `existingChannelsTotalSat`: kotlin.ULong,
254+
val `minChannelSizeSat`: kotlin.ULong,
255+
val `maxChannelSizeSat`: kotlin.ULong,
256+
val `satsPerEur`: kotlin.ULong
257+
) {
258+
public companion object
259+
}
260+
261+
262+
238263
@kotlinx.serialization.Serializable
239264
public data class ClosedChannelDetails (
240265
val `channelId`: kotlin.String,
@@ -384,6 +409,17 @@ public data class DeepLinkResult (
384409

385410

386411

412+
@kotlinx.serialization.Serializable
413+
public data class DefaultLspBalanceParams (
414+
val `clientBalanceSat`: kotlin.ULong,
415+
val `maxChannelSizeSat`: kotlin.ULong,
416+
val `satsPerEur`: kotlin.ULong
417+
) {
418+
public companion object
419+
}
420+
421+
422+
387423
/**
388424
* Parameters for specifying a particular device
389425
*/

0 commit comments

Comments
 (0)