Skip to content

feat(rs-drive-abci): withdrawal processing using vote extensions#891

Merged
QuantumExplorer merged 1 commit into
feat/abci_validationfrom
feat/extend_vote
Apr 6, 2023
Merged

feat(rs-drive-abci): withdrawal processing using vote extensions#891
QuantumExplorer merged 1 commit into
feat/abci_validationfrom
feat/extend_vote

Conversation

@lklimek

@lklimek lklimek commented Apr 6, 2023

Copy link
Copy Markdown
Contributor

Issue being fixed or feature implemented

Withdrawal transactions need to use vote extensions in their processing

What was done?

  1. Implemented extend_vote and verify_vote_extension hooks
  2. Implemented WithdrawalTxs used in these hooks
  3. Implemented SignatureVerifier for VoteExtension (WIP)
  4. Extended FinalizeBlock with withdrawal tx processing logic

How Has This Been Tested?

Not tested at all yet

Breaking Changes

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation

For repository code-owners and collaborators only

  • I have assigned this pull request to a milestone

@QuantumExplorer
QuantumExplorer marked this pull request as ready for review April 6, 2023 20:23
@QuantumExplorer
QuantumExplorer merged commit e721f10 into feat/abci_validation Apr 6, 2023
@QuantumExplorer
QuantumExplorer deleted the feat/extend_vote branch April 6, 2023 20:23
QuantumExplorer added a commit that referenced this pull request Jul 14, 2026
…ernode aggregation

Bump rust-dashcore to 38c689d9 (#891, fixes #890): block processing now
stamps each retained record's BlockInfo with its block.vtx index, and
chainlock promotion preserves it.

- provider_masternode_txs_blocking reads block_info.position() instead
  of the previous position = 0 placeholder, so same-block provider
  updates aggregate in Core's apply order.
- The position round-trips persistence: TransactionRecordFFI and
  PersistentTransaction carry block_position/has_block_position, and
  the provider special-tx staging path restores it onto the rebuilt
  record's BlockInfo. Rows persisted before the field existed restore
  as None and fall back to feed order among themselves.
- Round-trip test covers both the flagged and pre-field cases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
shumkov added a commit that referenced this pull request Jul 14, 2026
…y-invitations

Both sides had bumped rust-dashcore past the PlatformNodeId newtype
(#885): v4.1-dev's #4120 pinned 38c689d9 (a descendant of this branch's
ac8828c9, adding #889 canonical byte order + #891 tx-record positions),
so the dependency block resolves to v4.1-dev's newer rev — git's
auto-merge had duplicated the whole [workspace.dependencies] table, so
it was reconciled by hand back to a single block. peers.rs and
core_wallet_types.rs take v4.1-dev's variants of the same
PlatformNodeId adaptations both sides had made independently.

persistence.rs: #4120 extracted the load-side pool-restore loop into
restore_core_address_pools() with funds + provider-key routing, but the
extraction was based on v4.1-dev's copy and so dropped this branch's
asset-lock funding-account arms (identity registration / top-up /
invitation / address top-up) — the voucher-key-reuse restore fix. The
merge takes the helper and re-adds those six arms (with the security
rationale comment); the FFIPersister durability attestation from the
round-5 fix is preserved.

Post-merge: workspace check + clippy --all-features + fmt clean;
platform-wallet 460 and platform-wallet-ffi 169 tests green (both
suites now include the base's new provider-key restore tests).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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