mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2025-03-20 22:28:48 +00:00
fix: Handle sent to self transactions when sent to a change address
This commit is contained in:
parent
3d5e86dc6f
commit
74d3175d87
1 changed files with 24 additions and 12 deletions
|
@ -148,8 +148,13 @@ mixin ElectrumXParsing {
|
||||||
type = TransactionType.outgoing;
|
type = TransactionType.outgoing;
|
||||||
amount = amountSentFromWallet - changeAmount - fee;
|
amount = amountSentFromWallet - changeAmount - fee;
|
||||||
|
|
||||||
final possible =
|
// non wallet addresses found in tx outputs
|
||||||
outputAddresses.difference(myChangeReceivedOnAddresses).first;
|
final nonWalletOutAddresses = outputAddresses.difference(
|
||||||
|
myChangeReceivedOnAddresses,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (nonWalletOutAddresses.isNotEmpty) {
|
||||||
|
final possible = nonWalletOutAddresses.first;
|
||||||
|
|
||||||
if (transactionAddress.value != possible) {
|
if (transactionAddress.value != possible) {
|
||||||
transactionAddress = Address(
|
transactionAddress = Address(
|
||||||
|
@ -162,6 +167,13 @@ mixin ElectrumXParsing {
|
||||||
publicKey: [],
|
publicKey: [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// some other type of tx where the receiving address is
|
||||||
|
// one of my change addresses
|
||||||
|
|
||||||
|
type = TransactionType.sentToSelf;
|
||||||
|
amount = changeAmount;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// incoming tx
|
// incoming tx
|
||||||
type = TransactionType.incoming;
|
type = TransactionType.incoming;
|
||||||
|
|
Loading…
Reference in a new issue