The 0.9.15 includes the new type safe API (instead of Either), some fixes for Long Proposal Times Issue, Offchain-data API (events API) improvements and other incremental progress in features discussed below.
Sprint 40 in progress
Main focus is on reaching Testnet 3 (a) Cost accounting (b) Long proposal times - Fairness Constraint and other improvements (d) Additional tests for multisig features (e) ongoing work in Casper tests independent of network layer (f) Ongoing work in Planning and implementation for Network safety, reliability and hardening
The 'System Deploy' construct,
RCHAIN-3767Getting issue details...STATUS necessary for cost accounting, is implemented and in review. Expected to be merged soon.
In parallel, work has started on combinatorial Rholang terms in contracts, to test stability of cost accounting across such combinations.
Remaining chunks of work in cost accounting are (a) writing the charging logic RCHAIN-3625Getting issue details...STATUS and
RCHAIN-3624Getting issue details...STATUS-work is starting on these two tickets, (b) modifying existing tests to match the new code (c) writing additional tests (d) writing integration tests. Trying to maximally parallelize test writing effort. Working in shifts on large PRs.
Reduce long proposal times:
Initial implementation of a (simple round robin) fairness constraint as an additional mechanism to address long proposal times. PR https://github.com/rchain/rchain/pull/2776 corresponding to
RCHAIN-3879Getting issue details...STATUS is in review, and waiting to be merged. Final tests are currently being done to measure actual improvement from this fairness constraint.
Observed that 'create block' is where the rabbiting behavior starts. Investigating reasons thereof to understand the problem at a more granular level.
RCHAIN-3724Getting issue details...STATUS
Investigating improvements to other bottlenecks e.g. in slow finalization
RCHAIN-3872Getting issue details...STATUS , ignore invalid blocks in toposort: Merged https://github.com/rchain/rchain/pull/2757 etc. Additional improvements to finalization implemented, including making finalization persistent:
Disallow invalid blocks as parents
RCHAIN-3892Getting issue details...STATUS
We continue to explore various test parameters and more complex contracts, to both test the stability of this issue and make it manifest sooner if it exists.
In Progress - In RSpace, an API is implemented for DAG discovery and block discovery, to enable an alternative to ListenForData@Name (Off-chain observability of deploy results). Relevant tickets are
RCHAIN-3760Getting issue details...STATUSRCHAIN-3661Getting issue details...STATUS and
RCHAIN-3762Getting issue details...STATUS and
RCHAIN-3812Getting issue details...STATUS