Skip to content

Enhance fee transaction sanity checks.#512

Closed
jholdstock wants to merge 1 commit into
decred:masterfrom
jholdstock:fee-tx-inputs
Closed

Enhance fee transaction sanity checks.#512
jholdstock wants to merge 1 commit into
decred:masterfrom
jholdstock:fee-tx-inputs

Conversation

@jholdstock

Copy link
Copy Markdown
Member

Confirm the existence of all of the inputs to fee transactions provided by clients. If any of the inputs do not exist, or are not known by the local dcrd instance, an error is returned to the client and the ticket is not registered with the VSP.

Closes #508

Comment thread internal/webapi/payfee.go Outdated
@jholdstock

Copy link
Copy Markdown
Member Author

I held off on merging this it runs on testnet for a while. I have seen the Fee tx contains non-existent input error 3 times in 16 days, investigating why. Pretty sure its just slow network propagation which I guess is unavoidable.

Confirm the existence of all of the inputs to fee transactions provided
by clients. If any of the inputs do not exist, or are not known by the
local dcrd instance, an error is returned to the client and the ticket
is not registered with the VSP.
@jholdstock

Copy link
Copy Markdown
Member Author

I still see this error every few days, and in every case the ticket and fee transactions are eventually mined successfully which I think confirms my theory that the root cause is network propagation delay.

Given that every wallet on the network is subject to this delay, every wallet using a VSP could potentially encounter this issue and need to send unnecessary retries and remain online longer than necessary.

Given that the only real benefit of this PR is to give an earlier error to wallets which provide an invalid fee transaction, I don't think the trade-off of inconveniencing every other wallet on the network is worth it.

@jholdstock jholdstock closed this Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhance fee transaction sanity checks

2 participants