diff --git a/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/LiveTxBuilderTest.kt b/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/LiveTxBuilderTest.kt index 4ed9930..ea29a28 100644 --- a/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/LiveTxBuilderTest.kt +++ b/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/LiveTxBuilderTest.kt @@ -36,7 +36,7 @@ class LiveTxBuilderTest { println("Balance: ${wallet.getBalance().total.toSat()}") assert(wallet.getBalance().total.toSat() > 0uL) { - "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address.asString()} and try again." + "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address} and try again." } val recipient: Address = Address("tb1qrnfslnrve9uncz9pzpvf83k3ukz22ljgees989", Network.SIGNET) diff --git a/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/OfflineWalletTest.kt b/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/OfflineWalletTest.kt index 05efbb5..a95cf88 100644 --- a/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/OfflineWalletTest.kt +++ b/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/OfflineWalletTest.kt @@ -53,7 +53,7 @@ class OfflineWalletTest { assertEquals( expected = "tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e", - actual = addressInfo.address.asString() + actual = addressInfo.address.toString() ) } diff --git a/bdk-ffi/src/bdk.udl b/bdk-ffi/src/bdk.udl index 3dbaa55..29f8a2c 100644 --- a/bdk-ffi/src/bdk.udl +++ b/bdk-ffi/src/bdk.udl @@ -611,6 +611,7 @@ enum WordCount { "Words24", }; +[Traits=(Display)] interface Address { [Throws=AddressError] constructor(string address, Network network); @@ -621,8 +622,6 @@ interface Address { string to_qr_uri(); - string as_string(); - boolean is_valid_for_network(Network network); }; diff --git a/bdk-ffi/src/bitcoin.rs b/bdk-ffi/src/bitcoin.rs index 0aa861c..9ac67c5 100644 --- a/bdk-ffi/src/bitcoin.rs +++ b/bdk-ffi/src/bitcoin.rs @@ -1,4 +1,5 @@ use crate::error::{AddressError, FeeRateError, PsbtError, PsbtParseError, TransactionError}; +use std::fmt::Display; use bdk_bitcoind_rpc::bitcoincore_rpc::jsonrpc::serde_json; use bdk_wallet::bitcoin::address::{NetworkChecked, NetworkUnchecked}; @@ -100,10 +101,6 @@ impl Address { self.0.to_qr_uri() } - pub fn as_string(&self) -> String { - self.0.to_string() - } - pub fn is_valid_for_network(&self, network: Network) -> bool { let address_str = self.0.to_string(); if let Ok(unchecked_address) = address_str.parse::>() { @@ -114,6 +111,12 @@ impl Address { } } +impl Display for Address { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.0) + } +} + impl From
for BdkAddress { fn from(address: Address) -> Self { address.0 diff --git a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveElectrumClientTest.kt b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveElectrumClientTest.kt index 1bbc147..1da7255 100644 --- a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveElectrumClientTest.kt +++ b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveElectrumClientTest.kt @@ -20,7 +20,7 @@ class LiveElectrumClientTest { println("Balance: ${wallet.getBalance().total.toSat()}") assert(wallet.getBalance().total.toSat() > 0uL) { - "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address.asString()} and try again." + "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address} and try again." } println("Transactions count: ${wallet.transactions().count()}") diff --git a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveMemoryWalletTest.kt b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveMemoryWalletTest.kt index dda8e2d..2038753 100644 --- a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveMemoryWalletTest.kt +++ b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveMemoryWalletTest.kt @@ -22,7 +22,7 @@ class LiveMemoryWalletTest { println("Balance: ${wallet.getBalance().total.toSat()}") assert(wallet.getBalance().total.toSat() > 0uL) { - "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address.asString()} and try again." + "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address} and try again." } println("Transactions count: ${wallet.transactions().count()}") @@ -57,7 +57,7 @@ class LiveMemoryWalletTest { println("Balance: ${wallet.getBalance().total.toSat()}") assert(wallet.getBalance().total.toSat() > 0uL) { - "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address.asString()} and try again." + "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address} and try again." } } diff --git a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveTransactionTests.kt b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveTransactionTests.kt index 0321744..a43216e 100644 --- a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveTransactionTests.kt +++ b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveTransactionTests.kt @@ -21,7 +21,7 @@ class LiveTransactionTests { println("Wallet balance: ${wallet.getBalance().total.toSat()}") assert(wallet.getBalance().total.toSat() > 0uL) { - "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address.asString()} and try again." + "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address} and try again." } val transaction: Transaction = wallet.transactions().first().transaction diff --git a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveTxBuilderTest.kt b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveTxBuilderTest.kt index 866ffdf..bd79715 100644 --- a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveTxBuilderTest.kt +++ b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveTxBuilderTest.kt @@ -34,7 +34,7 @@ class LiveTxBuilderTest { println("Balance: ${wallet.getBalance().total.toSat()}") assert(wallet.getBalance().total.toSat() > 0uL) { - "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address.asString()} and try again." + "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address} and try again." } val recipient: Address = Address("tb1qrnfslnrve9uncz9pzpvf83k3ukz22ljgees989", Network.SIGNET) @@ -61,7 +61,7 @@ class LiveTxBuilderTest { println("Balance: ${wallet.getBalance().total.toSat()}") assert(wallet.getBalance().total.toSat() > 0uL) { - "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address.asString()} and try again." + "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address} and try again." } val recipient1: Address = Address("tb1qrnfslnrve9uncz9pzpvf83k3ukz22ljgees989", Network.SIGNET) diff --git a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveWalletTest.kt b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveWalletTest.kt index daeb8f9..03e4295 100644 --- a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveWalletTest.kt +++ b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/LiveWalletTest.kt @@ -34,7 +34,7 @@ class LiveWalletTest { println("Balance: ${wallet.getBalance().total.toSat()}") assert(wallet.getBalance().total.toSat() > 0uL) { - "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address.asString()} and try again." + "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address} and try again." } println("Transactions count: ${wallet.transactions().count()}") @@ -59,7 +59,7 @@ class LiveWalletTest { println("Balance: ${wallet.getBalance().total.toSat()}") assert(wallet.getBalance().total.toSat() > 0uL) { - "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address.asString()} and try again." + "Wallet balance must be greater than 0! Please send funds to ${wallet.revealNextAddress(KeychainKind.EXTERNAL).address} and try again." } val recipient: Address = Address("tb1qrnfslnrve9uncz9pzpvf83k3ukz22ljgees989", Network.SIGNET) diff --git a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/OfflineWalletTest.kt b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/OfflineWalletTest.kt index ad0eb91..88652dd 100644 --- a/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/OfflineWalletTest.kt +++ b/bdk-jvm/lib/src/test/kotlin/org/bitcoindevkit/OfflineWalletTest.kt @@ -51,7 +51,7 @@ class OfflineWalletTest { assertEquals( expected = "tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e", - actual = addressInfo.address.asString() + actual = addressInfo.address.toString() ) } diff --git a/bdk-python/tests/test_live_tx_builder.py b/bdk-python/tests/test_live_tx_builder.py index 181765e..50379cb 100644 --- a/bdk-python/tests/test_live_tx_builder.py +++ b/bdk-python/tests/test_live_tx_builder.py @@ -35,7 +35,7 @@ class LiveTxBuilderTest(unittest.TestCase): self.assertGreater( wallet.get_balance().total.to_sat(), 0, - f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address.as_string()} and try again." + f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address} and try again." ) recipient = bdk.Address( @@ -71,7 +71,7 @@ class LiveTxBuilderTest(unittest.TestCase): self.assertGreater( wallet.get_balance().total.to_sat(), 0, - f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address.as_string()} and try again." + f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address} and try again." ) recipient1 = bdk.Address( diff --git a/bdk-python/tests/test_live_wallet.py b/bdk-python/tests/test_live_wallet.py index 61d4520..9d556a5 100644 --- a/bdk-python/tests/test_live_wallet.py +++ b/bdk-python/tests/test_live_wallet.py @@ -35,7 +35,7 @@ class LiveWalletTest(unittest.TestCase): self.assertGreater( wallet.get_balance().total.to_sat(), 0, - f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address.as_string()} and try again." + f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address} and try again." ) print(f"Transactions count: {len(wallet.transactions())}") @@ -71,7 +71,7 @@ class LiveWalletTest(unittest.TestCase): self.assertGreater( wallet.get_balance().total.to_sat(), 0, - f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address.as_string()} and try again." + f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address} and try again." ) recipient = bdk.Address( diff --git a/bdk-python/tests/test_offline_wallet.py b/bdk-python/tests/test_offline_wallet.py index 17e1cf5..dae0d50 100644 --- a/bdk-python/tests/test_offline_wallet.py +++ b/bdk-python/tests/test_offline_wallet.py @@ -26,7 +26,7 @@ class OfflineWalletTest(unittest.TestCase): self.assertFalse(address_info.address.is_valid_for_network(bdk.Network.REGTEST), "Address is valid for regtest network, but it shouldn't be") self.assertFalse(address_info.address.is_valid_for_network(bdk.Network.BITCOIN), "Address is valid for bitcoin network, but it shouldn't be") - self.assertEqual("tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e", address_info.address.as_string()) + self.assertEqual("tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e", address_info.address.__str__()) def test_balance(self): descriptor: bdk.Descriptor = bdk.Descriptor( diff --git a/bdk-swift/Tests/BitcoinDevKitTests/LiveElectrumClientTests.swift b/bdk-swift/Tests/BitcoinDevKitTests/LiveElectrumClientTests.swift index afdabc7..16a32f3 100644 --- a/bdk-swift/Tests/BitcoinDevKitTests/LiveElectrumClientTests.swift +++ b/bdk-swift/Tests/BitcoinDevKitTests/LiveElectrumClientTests.swift @@ -24,7 +24,7 @@ final class LiveElectrumClientTests: XCTestCase { ) try wallet.applyUpdate(update: update) let _ = try wallet.commit() - let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.asString() + let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address XCTAssertGreaterThan( wallet.getBalance().total.toSat(), diff --git a/bdk-swift/Tests/BitcoinDevKitTests/LiveMemoryWalletTests.swift b/bdk-swift/Tests/BitcoinDevKitTests/LiveMemoryWalletTests.swift index b318efa..f80f025 100644 --- a/bdk-swift/Tests/BitcoinDevKitTests/LiveMemoryWalletTests.swift +++ b/bdk-swift/Tests/BitcoinDevKitTests/LiveMemoryWalletTests.swift @@ -25,7 +25,7 @@ final class LiveMemoryWalletTests: XCTestCase { ) try wallet.applyUpdate(update: update) let _ = try wallet.commit() - let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.asString() + let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.description XCTAssertGreaterThan( wallet.getBalance().total.toSat(), @@ -68,7 +68,7 @@ final class LiveMemoryWalletTests: XCTestCase { ) try wallet.applyUpdate(update: update) let _ = try wallet.commit() - let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.asString() + let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.description XCTAssertGreaterThan( wallet.getBalance().total.toSat(), diff --git a/bdk-swift/Tests/BitcoinDevKitTests/LiveTransactionTests.swift b/bdk-swift/Tests/BitcoinDevKitTests/LiveTransactionTests.swift index da82fd3..dac2ce4 100644 --- a/bdk-swift/Tests/BitcoinDevKitTests/LiveTransactionTests.swift +++ b/bdk-swift/Tests/BitcoinDevKitTests/LiveTransactionTests.swift @@ -24,7 +24,7 @@ final class LiveTransactionTests: XCTestCase { ) try wallet.applyUpdate(update: update) let _ = try wallet.commit() - let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.asString() + let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.description XCTAssertGreaterThan( wallet.getBalance().total.toSat(), diff --git a/bdk-swift/Tests/BitcoinDevKitTests/LiveTxBuilderTests.swift b/bdk-swift/Tests/BitcoinDevKitTests/LiveTxBuilderTests.swift index 67bc530..f3ce83a 100644 --- a/bdk-swift/Tests/BitcoinDevKitTests/LiveTxBuilderTests.swift +++ b/bdk-swift/Tests/BitcoinDevKitTests/LiveTxBuilderTests.swift @@ -46,7 +46,7 @@ final class LiveTxBuilderTests: XCTestCase { ) try wallet.applyUpdate(update: update) let _ = try wallet.commit() - let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.asString() + let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.description XCTAssertGreaterThan( wallet.getBalance().total.toSat(), @@ -88,7 +88,7 @@ final class LiveTxBuilderTests: XCTestCase { ) try wallet.applyUpdate(update: update) let _ = try wallet.commit() - let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.asString() + let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.description XCTAssertGreaterThan( wallet.getBalance().total.toSat(), diff --git a/bdk-swift/Tests/BitcoinDevKitTests/LiveWalletTests.swift b/bdk-swift/Tests/BitcoinDevKitTests/LiveWalletTests.swift index 95437bd..1f8592c 100644 --- a/bdk-swift/Tests/BitcoinDevKitTests/LiveWalletTests.swift +++ b/bdk-swift/Tests/BitcoinDevKitTests/LiveWalletTests.swift @@ -46,7 +46,7 @@ final class LiveWalletTests: XCTestCase { ) try wallet.applyUpdate(update: update) let _ = try wallet.commit() - let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.asString() + let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.description XCTAssertGreaterThan( wallet.getBalance().total.toSat(), @@ -84,7 +84,7 @@ final class LiveWalletTests: XCTestCase { ) try wallet.applyUpdate(update: update) let _ = try wallet.commit() - let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.asString() + let address = try wallet.revealNextAddress(keychain: KeychainKind.external).address.description XCTAssertGreaterThan( wallet.getBalance().total.toSat(), diff --git a/bdk-swift/Tests/BitcoinDevKitTests/OfflineWalletTests.swift b/bdk-swift/Tests/BitcoinDevKitTests/OfflineWalletTests.swift index 6d224f7..04c1798 100644 --- a/bdk-swift/Tests/BitcoinDevKitTests/OfflineWalletTests.swift +++ b/bdk-swift/Tests/BitcoinDevKitTests/OfflineWalletTests.swift @@ -45,7 +45,7 @@ final class OfflineWalletTests: XCTestCase { XCTAssertFalse(addressInfo.address.isValidForNetwork(network: Network.bitcoin), "Address is valid for bitcoin network, but it shouldn't be") - XCTAssertEqual(addressInfo.address.asString(), "tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e") + XCTAssertEqual(addressInfo.address.description, "tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e") } func testBalance() throws {