Skip to content

Multiple refactorings/fixes for LLMQ bases InstantSend and ChainLocks - #2779

Merged
UdjinM6 merged 12 commits into
dashpay:developfrom
codablock:pr_llmq_instantsend_fixes
Mar 19, 2019
Merged

Multiple refactorings/fixes for LLMQ bases InstantSend and ChainLocks#2779
UdjinM6 merged 12 commits into
dashpay:developfrom
codablock:pr_llmq_instantsend_fixes

Conversation

@codablock

Copy link
Copy Markdown

See individual commits. These are extracted from #2770

This was necessary in the old system but is not necessary in the new system.
It also prevented proper retroactive signing of chained TXs in regtest as
it resulted in child TXs to return true immediately for CheckCanLock when
it should actually have waited for the parent TX to become locked first.
"pindex" is NOT the chainlocked block after the while loop finishes. We
must use the pindex (renamed to pindexChainLock now) given on method entry.

Also, the GetLastChainLockBlock() result was not assigned to,
lastChainLockBlock which resulted in the while loop to run unnecessarily
long.
We're actually interested in all TXs that have inputs, so no need to
explicitly check for tx types.
Otherwise we end up with the sender having it locked but other nodes
not yet, failing the test.
@UdjinM6 UdjinM6 added this to the 14.0 milestone Mar 19, 2019

@UdjinM6 UdjinM6 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK

@UdjinM6
UdjinM6 merged commit 5299d39 into dashpay:develop Mar 19, 2019
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.

2 participants