tari-project / tari-dan

BSD 3-Clause "New" or "Revised" License
5 stars 14 forks source link

refactor!: fix epoch database structure #1034

Closed stringhandler closed 2 months ago

stringhandler commented 2 months ago

Description

Changes the epoch, validator and committee structure in the global database.

Motivation and Context

Previously, validator nodes did not deregister and this resulted in a bug that caused the committees for epochs to not be correct.

How Has This Been Tested?

Existing tests, and manual testing

Breaking Changes

BREAKING CHANGE: Data directory must be cleaned

github-actions[bot] commented 2 months ago

Test Results (CI)

532 tests   - 1   532 :white_check_mark:  - 1   1h 43m 46s :stopwatch: - 39m 47s  63 suites ±0     0 :zzz: ±0    2 files   ±0     0 :x: ±0 

Results for commit 96a13cf7. ± Comparison against base commit 533d82e3.

This pull request removes 15 and adds 14 tests. Note that renamed tests count towards both. ``` Scenario: Claim and transfer confidential assets via wallet daemon: tests/features/wallet_daemon.feature:89:3 Scenario: Concurrent calls to the Counter template: tests/features/concurrency.feature:7:3 Scenario: Confidential transfer to unexisting account: tests/features/transfer.feature:163:3 Scenario: Counter template registration and invocation: tests/features/counter.feature:7:3 Scenario: Create account and transfer faucets via wallet daemon: tests/features/wallet_daemon.feature:7:3 Scenario: Create and mint account NFT: tests/features/wallet_daemon.feature:133:3 Scenario: Create resource and mint in one transaction: tests/features/nft.feature:73:3 Scenario: EpochEnd and EpochStart commands are used on epoch change: tests/features/epoch_change.feature:7:3 Scenario: Mint fungible tokens: tests/features/fungible.feature:7:3 Scenario: Mint, mutate and burn non fungible tokens: tests/features/nft.feature:7:3 … ``` ``` Scenario: Claim and transfer confidential assets via wallet daemon: tests/features/wallet_daemon.feature:90:3 Scenario: Concurrent calls to the Counter template: tests/features/concurrency.feature:8:3 Scenario: Confidential transfer to unexisting account: tests/features/transfer.feature:164:3 Scenario: Counter template registration and invocation: tests/features/counter.feature:8:3 Scenario: Create account and transfer faucets via wallet daemon: tests/features/wallet_daemon.feature:8:3 Scenario: Create and mint account NFT: tests/features/wallet_daemon.feature:134:3 Scenario: Create resource and mint in one transaction: tests/features/nft.feature:74:3 Scenario: EpochEnd and EpochStart commands are used on epoch change: tests/features/epoch_change.feature:8:3 Scenario: Mint fungible tokens: tests/features/fungible.feature:8:3 Scenario: Mint, mutate and burn non fungible tokens: tests/features/nft.feature:8:3 … ```

:recycle: This comment has been updated with latest results.