What's left: Platform Development Update 27-December-2022
Tags: web3, opensource, blockchain, programming
Published: 2022-12-28 16:47:10

**Hello Dashers!**
This is our regular Platform wrap up. Let's see what's left for next year.
{% embed https://www.youtube.com/watch?v=PTLJS1hoPNo %} 

TenderDash
**Goals:** Same block execution
**Tasks:**

Stabilizing

- fix(consensus): proposer-based timestamp broken during backport **_done_**
- backport: update BLS library **_done_**
- Seed connectivity: max-incoming-connection-time, incoming-connection-window **_done_**
- fix(consensus): ensure process proposal **_done_**
- fix: improve flaky TestWALRoundsSkipper **_in review _**

Investigate deadlocks

- fix(statesync): deadlock in peer up done
- refactor(consensus): consensus state to fix deadlock **_in progress_**

Other:

- Release v0.10.0-dev.7
- Release v0.11.0-dev.1

**What’s Left before Testing Phase**

- Stabilize same-block execution
- ~~Update BLS library~~
- Adjust vote extensions for withdrawal transactions
- ~~Improve seed node operations~~
- ~~Drive integration~~

---

## GroveDB
Tasks:

- Light proof feature **_done_**
- Linting and CI fixes **_done_**
- Advanced queries for optional non existent queries **_done_**
- “Removed Cousin” (not removal - removed in the family sense) references **_done_**
- Better delete up tree options **_done_**
- Subquery Paths replace Subquery keys **_done_**
- Better path query merge **_in progress_**

**What’s Left before Testing Phase**
Major

~~- Sum Trees merge **_done_**~~

Minor

~~- Average case processing costs **_done_**
- Some code polishing **_done_**
- Light proof feature **_done_**
~~
---

## Protocol
**Goals:** Credit Refunds

**Credit Withdrawals**

- Introduce withdrawals data contract **_in review_**
- Implement the pooling process (type 0 only) for withdrawals **_in review_**
- Update status of withdrawals after broadcasting **_in review_**
- Add revision logic to IdentityCreditsWithdrawal transition **_in review_**
- Indices from expired withdrawal transactions must be reused **_in review_**

**Other Protocol Tasks**

- Identity v2 **_in progress_**
- Efficient Data Serialization **_in progress_**
- Credit Refunds **_done_**
- Add support for core 18.2 **_in progress_**
- Log synchronize identities properly **_done_**
- Remove big elements like txs from logs **_done_**

**What’s Left**
Major

- ~~Fee Refunds~~
- Accomplish and test withdrawals
- State Sync

Minor

- ~~Logging of same block execution~~
- ~~Use block candidate context in State Repository~~
- Deal with situation where fees are higher than Balance 
- Verify fee processing costs
- Asset Lock and Unlock transactions integration
- BLS library rust binding
- Masternode reward distribution
- Add Sum Tree feature for Pool trees

## Rust Port Update
**Tasks:**
Integrate Rust DPP into SDK, Drive, DAPI and test suite **_in progress_**
Porting Consensus Errors Framework: all errors ported **_done_**
Successfully run platform test suite and test for Drive and Dapi **_planned_**
_Merged StateRespoitory code and bindings
Merged everything related to ConsensusErorrs and most of the consensus validation code_

**State Transitions**

DataContract

- ~~Create~~
- ~~Update (Changed)~~

Identity

- ~~Asset lock proof~~
- ~~Create~~
- TopUp (Integration in progress)
- Update (Integration in progress)

Document

- Batch