Closed
Description
Currently in version 1.2 Withdrawals were not enabled. In order to enable withdrawals we need to do the following.
Improvements
- Create a new protocol version 4.
- Create a new state transition version of credit withdrawals 1.
- Write the correct validation as version 1.
- Review and fix code of credit withdrawals pass 1.
- Review and fix code of credit withdrawals double check. @shumkov @QuantumExplorer
- Write unit tests for credit withdrawals.
- Write strategy tests for credit withdrawals.
- Set versions of protocol version 4.
- Write delay of withdrawals till special window.
- Implement Withdrawal limits.
- Increase fees for withdrawals to match actual network cost.
- Write observability mechanisms for withdrawal limits.
- Write observability mechanisms for withdrawal queue.
- System to resign expired withdrawals.
- refactor(drive): remove duplicated withdrawal amount validation #2191
- feat(sdk): enable withdrawals v1 in JS SDK #2201
Withdrawal contract improvements
-
transactionIndex must be unique index - revisit contract (nothing to be done) @shumkov @QuantumExplorer
Testing
- Test withdrawals on local network.
- Test withdrawals on devnet.
- Test withdrawals on testnet.
- Try attacking withdrawals.
- Add unit tests for invalid withdrawals. @shumkov
- Test Withdrawal limits. @shumkov @lklimek
- Test expired withdrawals.
- Test resigning of withdrawals.
- Send to Core another withdrawal with the same index. @shumkov
- Stress test withdrawals.
- Verify that transactions are not pooled and broadcasted on same block.
- Enable withdrawal test in test suite #2204
- Start new networks with latest protocol version #2205
- https://docs.google.com/document/d/1QAb3NxNdVJIYl_yPx92z76tX9xnDcICRg2ZWnrMkLyo/edit @pauldelucia @lklimek
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done