Skip to content

Coin selection, CreateTransaction, MAX_STANDARD_TX_SIZE #5782

@dexX7

Description

@dexX7

While regtesting with bitcoin-spock I noticed at some point the transaction creation via sendtoaddress -> CreateTransaction() fails, because the created transaction is larger than MAX_STANDARD_TX_SIZE.

During the process a lot of raw transactions are created, which have smallish outputs and when then using sendtoaddress, it appears to attempt to create a transaction that spends too many of those dust-ish outputs.

The transaction to create does not have many outputs, but it looks like it's caused by the coin selection, which selects too many inputs. Testing was done with a 0.9 branch, but on the first glimpse I believe this issue is as well be present in 0.10. If this is a known issue, and if there is already a guard against this behavior, I'd be happy about a hint.

Sorry in advance, I do not have a test script to reproduce this issue in an isolated manner. A potential fix would probably require to adjust the coin selection, so that it selects a combination of coins, which, in addition to the size of the rest of the transaction, is still smaller than the limit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions