feat: use display trait for string representation of address type
This commit is contained in:
parent
53afd9c238
commit
efef60082b
@ -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)
|
||||
|
@ -53,7 +53,7 @@ class OfflineWalletTest {
|
||||
|
||||
assertEquals(
|
||||
expected = "tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e",
|
||||
actual = addressInfo.address.asString()
|
||||
actual = addressInfo.address.toString()
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
};
|
||||
|
||||
|
@ -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::<BdkAddress<NetworkUnchecked>>() {
|
||||
@ -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<Address> for BdkAddress {
|
||||
fn from(address: Address) -> Self {
|
||||
address.0
|
||||
|
@ -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()}")
|
||||
|
@ -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."
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -51,7 +51,7 @@ class OfflineWalletTest {
|
||||
|
||||
assertEquals(
|
||||
expected = "tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e",
|
||||
actual = addressInfo.address.asString()
|
||||
actual = addressInfo.address.toString()
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -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(
|
||||
|
@ -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(
|
||||
|
@ -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(
|
||||
|
@ -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(),
|
||||
|
@ -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(),
|
||||
|
@ -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(),
|
||||
|
@ -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(),
|
||||
|
@ -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(),
|
||||
|
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user