Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,10 +194,13 @@ If anything is missing or cannot be verified, you must fix it before declaring s
- NEVER suggest manually adding @Serializable annotations to generated Kotlin bindings
- ALWAYS run `cargo fmt` before committing to ensure consistent code formatting
- ALWAYS move imports to the top of the file when applicable (no inline imports in functions)
- To regenerate ALL bindings (Swift, Kotlin, Python), use this command:
```bash
RUSTFLAGS="--cfg no_download" cargo build && ./scripts/uniffi_bindgen_generate.sh && ./scripts/swift_create_xcframework_archive.sh && sh scripts/uniffi_bindgen_generate_kotlin_android.sh
```
- NEVER run binding generation scripts yourself - always ask the user to run them (they are long-running and resource-intensive)

## Bindings Generation Command
To regenerate ALL bindings (Swift, Kotlin, Python), use this command:
```sh
RUSTFLAGS="--cfg no_download" cargo build && ./scripts/uniffi_bindgen_generate.sh && ./scripts/swift_create_xcframework_archive.sh && sh scripts/uniffi_bindgen_generate_kotlin.sh && sh scripts/uniffi_bindgen_generate_kotlin_android.sh
```

## Version Bumping Checklist
When bumping the version, ALWAYS update ALL of these files:
Expand Down
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# 0.7.0-rc.16 (Synonym Fork)
# 0.7.0-rc.17 (Synonym Fork)

## Bug Fixes
- Fixed duplicate payment events (`PaymentReceived`, `PaymentSuccessful`, `PaymentFailed`) being
emitted when LDK replays events after node restart.

## Synonym Fork Additions
- Upgraded to Kotlin 2.2.0 for compatibility with consuming apps using Kotlin 2.x
- Added JitPack support for `ldk-node-jvm` module to enable unit testing in consuming apps
- Added runtime-adjustable wallet sync intervals for battery optimization on mobile:
- `RuntimeSyncIntervals` struct with configurable `onchain_wallet_sync_interval_secs`,
Expand Down Expand Up @@ -504,4 +505,3 @@ integrated LDK and BDK-based wallets.

**Note:** This release is still considered experimental, should not be run in
production, and no compatibility guarantees are given until the release of 0.1.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ldk-node"
version = "0.7.0-rc.16"
version = "0.7.0-rc.17"
authors = ["Elias Rohrer <dev@tnull.de>"]
homepage = "https://lightningdevkit.org/"
license = "MIT OR Apache-2.0"
Expand Down
4 changes: 2 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

import PackageDescription

let tag = "v0.7.0-rc.16"
let checksum = "5ca612e30639e86d4a215c7819d93e55aba3c9a9ea704a79ab18d6df78c38b32"
let tag = "v0.7.0-rc.17"
let checksum = "b90aefa8285b7c4b459e107b611840e5f218689797c0dc24e8bb5e8d1208fa56"
let url = "https://github.com/synonymdev/ldk-node/releases/download/\(tag)/LDKNodeFFI.xcframework.zip"

let package = Package(
Expand Down
2 changes: 1 addition & 1 deletion bindings/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## Build All Bindings
Run in the root dir:
```sh
RUSTFLAGS="--cfg no_download" cargo build && ./scripts/uniffi_bindgen_generate.sh && ./scripts/swift_create_xcframework_archive.sh && sh scripts/uniffi_bindgen_generate_kotlin_android.sh
RUSTFLAGS="--cfg no_download" cargo build && ./scripts/uniffi_bindgen_generate.sh && ./scripts/swift_create_xcframework_archive.sh && sh scripts/uniffi_bindgen_generate_kotlin.sh && sh scripts/uniffi_bindgen_generate_kotlin_android.sh
```

---
Expand Down
4 changes: 2 additions & 2 deletions bindings/kotlin/ldk-node-android/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ buildscript {
}

plugins {
kotlin("android") version "1.9.20" apply false
kotlin("plugin.serialization") version "1.9.20" apply false
kotlin("android") version "2.2.0" apply false
kotlin("plugin.serialization") version "2.2.0" apply false
}

// library version is defined in gradle.properties
Expand Down
2 changes: 1 addition & 1 deletion bindings/kotlin/ldk-node-android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ org.gradle.jvmargs=-Xmx1536m
android.useAndroidX=true
android.enableJetifier=true
kotlin.code.style=official
libraryVersion=0.7.0-rc.16
libraryVersion=0.7.0-rc.17
6 changes: 3 additions & 3 deletions bindings/kotlin/ldk-node-android/lib/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,11 @@ android {
dependencies {
implementation("net.java.dev.jna:jna:5.12.0@aar")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2")
implementation("androidx.appcompat:appcompat:1.4.0")
implementation("androidx.core:core-ktx:1.7.0")
implementation("org.jetbrains.kotlinx:atomicfu:0.23.1")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
implementation("org.jetbrains.kotlinx:atomicfu:0.27.0")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0")
api("org.slf4j:slf4j-api:1.7.30")
}

Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
3 changes: 3 additions & 0 deletions bindings/kotlin/ldk-node-jvm/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@

# Ignore Gradle build output directory
build

# Ignore kotlin compilation outputs
.kotlin
2 changes: 1 addition & 1 deletion bindings/kotlin/ldk-node-jvm/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
org.gradle.jvmargs=-Xmx1536m
kotlin.code.style=official
libraryVersion=0.7.0-rc.16
libraryVersion=0.7.0-rc.17
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
16 changes: 11 additions & 5 deletions bindings/kotlin/ldk-node-jvm/lib/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent.SKIPPED
import org.gradle.api.tasks.testing.logging.TestLogEvent.STANDARD_ERROR
import org.gradle.api.tasks.testing.logging.TestLogEvent.STANDARD_OUT

// library version is defined in gradle.properties
val libraryVersion: String by project

plugins {
// Apply the org.jetbrains.kotlin.jvm Plugin to add support for Kotlin.
id("org.jetbrains.kotlin.jvm") version "1.7.10"
id("org.jetbrains.kotlin.jvm") version "2.2.0"
id("org.jetbrains.kotlin.plugin.serialization") version "2.2.0"

// Apply the java-library plugin for API and implementation separation.
id("java-library")
Expand All @@ -19,6 +17,12 @@ plugins {
id("org.jlleitschuh.gradle.ktlint") version "11.6.1"
}

// library version is defined in gradle.properties
val libraryVersion: String by project

group = "org.lightningdevkit"
version = libraryVersion

repositories {
// Use Maven Central for resolving dependencies.
mavenCentral()
Expand Down Expand Up @@ -46,7 +50,9 @@ dependencies {

// Use the Kotlin JDK 8 standard library.
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0")
implementation("org.jetbrains.kotlinx:atomicfu:0.27.0")

implementation("net.java.dev.jna:jna:5.12.0")
}
Expand Down
Loading