Skip to content

Commit 6a73e6b

Browse files
committed
Reduce stack allocation in CBF
1 parent cc7e216 commit 6a73e6b

File tree

3 files changed

+48
-64
lines changed

3 files changed

+48
-64
lines changed

bdk-ffi/Cargo.lock

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bdk-ffi/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ path = "uniffi-bindgen.rs"
1818
bdk_wallet = { version = "2.2.0", features = ["all-keys", "keys-bip39", "rusqlite"] }
1919
bdk_esplora = { version = "0.22.1", default-features = false, features = ["std", "blocking", "blocking-https-rustls"] }
2020
bdk_electrum = { version = "0.23.2", default-features = false, features = ["use-rustls-ring"] }
21-
bdk_kyoto = { version = "0.15.0" }
21+
bdk_kyoto = { git = "https://github.com/rustaceanrob/bdk-kyoto.git", rev = "1b61c9c53bc3cd9d2827e04994f7dc14d0f93f5c" }
2222

2323
uniffi = { version = "=0.29.4", features = ["cli"]}
2424
thiserror = "2.0.17"
Lines changed: 45 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,48 @@
11
import XCTest
22
@testable import BitcoinDevKit
33

4-
//final class LiveKyotoTests: XCTestCase {
5-
// private let descriptor = try! Descriptor(
6-
// descriptor: "wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/1h/0/*)",
7-
// network: Network.signet
8-
// )
9-
// private let changeDescriptor = try! Descriptor(
10-
// descriptor: "wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/1h/1/*)",
11-
// network: Network.signet
12-
// )
13-
// private let peer = IpAddress.fromIpv4(q1: 68, q2: 47, q3: 229, q4: 218)
14-
// private let cwd = FileManager.default.currentDirectoryPath.appending("/temp")
15-
//
16-
// override func tearDownWithError() throws {
17-
// let fileManager = FileManager.default
18-
// if fileManager.fileExists(atPath: cwd) {
19-
// try fileManager.removeItem(atPath: cwd)
20-
// }
21-
// }
22-
//
23-
// // See: https://github.com/bitcoindevkit/bdk-ffi/issues/842
24-
// /*
25-
// func testSuccessfullySyncs() async throws {
26-
// let persister = try Persister.newInMemory()
27-
// let wallet = try Wallet(
28-
// descriptor: descriptor,
29-
// changeDescriptor: changeDescriptor,
30-
// network: Network.signet,
31-
// persister: persister
32-
// )
33-
// let trustedPeer = Peer(address: peer, port: nil, v2Transport: false)
34-
// let lightClient = try CbfBuilder()
35-
// .peers(peers: [trustedPeer])
36-
// .connections(connections: 1)
37-
// .scanType(scanType: ScanType.new)
38-
// .dataDir(dataDir: cwd)
39-
// .build(wallet: wallet)
40-
// let client = lightClient.client
41-
// let node = lightClient.node
42-
// node.run()
43-
// Task {
44-
// while true {
45-
// if let log = try? await client.nextLog() {
46-
// print("\(log)")
47-
// }
48-
// }
49-
// }
50-
// let update = try await client.update()
51-
// try wallet.applyUpdate(update: update)
52-
// let address = wallet.revealNextAddress(keychain: KeychainKind.external).address.description
53-
// XCTAssertGreaterThan(
54-
// wallet.balance().total.toSat(),
55-
// UInt64(0),
56-
// "Wallet must have positive balance, please send funds to \(address)"
57-
// )
58-
// print("Update applied correctly")
59-
// try client.shutdown()
60-
// }
61-
// */
62-
//}
4+
final class LiveKyotoTests: XCTestCase {
5+
private let descriptor = try! Descriptor(
6+
descriptor: "wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/1h/0/*)",
7+
network: Network.signet
8+
)
9+
private let changeDescriptor = try! Descriptor(
10+
descriptor: "wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/1h/1/*)",
11+
network: Network.signet
12+
)
13+
14+
// See: https://github.com/bitcoindevkit/bdk-ffi/issues/842
15+
16+
func testSuccessfullySyncs() async throws {
17+
let persister = try Persister.newInMemory()
18+
let wallet = try Wallet(
19+
descriptor: descriptor,
20+
changeDescriptor: changeDescriptor,
21+
network: Network.signet,
22+
persister: persister
23+
)
24+
let lightClient = CbfBuilder()
25+
.build(wallet: wallet)
26+
let client = lightClient.client
27+
let node = lightClient.node
28+
node.run()
29+
Task {
30+
while true {
31+
if let log = try? await client.nextInfo() {
32+
print("\(log)")
33+
}
34+
}
35+
}
36+
let update = try await client.update()
37+
try wallet.applyUpdate(update: update)
38+
let address = wallet.revealNextAddress(keychain: KeychainKind.external).address.description
39+
XCTAssertGreaterThan(
40+
wallet.balance().total.toSat(),
41+
UInt64(0),
42+
"Wallet must have positive balance, please send funds to \(address)"
43+
)
44+
print("Update applied correctly")
45+
try client.shutdown()
46+
}
47+
48+
}

0 commit comments

Comments
 (0)