Skip to content

Latest commit

 

History

History
217 lines (161 loc) · 12.4 KB

CHANGELOG.md

File metadata and controls

217 lines (161 loc) · 12.4 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning for all versions v1.0.0 and beyond (still considered experimental prior to v1.0.0).

[Unreleased]

v0.TBD

Summary

Summary TBD

Security

  • #603 Validate all Values for Correctness Prior to Storing them in the Keeper

[Released]

v0.5.0

Summary

  1. Implement a fix for incomplete migration of topic fields from the v0.4.0 upgrade.
  2. Add additional RPC endpoint to allow for recalculating the inflation rate / target emission rate more often than once per month.
  3. Update to use rewardable topics as active topics instead of using them separately.
  4. Other miscellaneous minor fixes

Added

  • #584 Allow admins to force target emission recalculation on params update and via dedicated mint RPC endpoint
  • #592 Update to use rewardable topics as active topics and rename PickChurnableActiveTopics to UpdateNoncesOfActiveTopics
  • #602 Refactor: Fix query server proto v4 (refactors #592)
  • #607 Add events for building research monitoring suite

Fixed

  • #582 Additional topic fields validation
  • #587 Update Migration Tests to include NaN Initial Regrets Test
  • #590 Clear NaN in maps by deleting all map values during migration
  • #595 Emit inference and forecast score events in case of 1 actor
  • #596 EMA protection against NaN values
  • #598 Math Operations on NaNs Should Return Errors
  • #604 Migration: clean additional stores. Ensure record pruning on reward failure. Autocli fix of multi-reputer-stake function.

Security

  • #588 Add String Max Length Module Parameter, Enforce Max String Length on Creation of New Topics
  • #610 Ensure that BlockHeight of scores is consistently set to be a topic epoch nonce. Also simplify the condition for idempotent payload submission.

v0.4.0

Summary

Implements fixes for our June 2024 Sherlock.xyz audit, including important fixes for determining which topics are considered active.

Added

  • #542 Add scalable management of active topics with associated queries such as GetActiveTopicsAtBlock and GetNextChurningBlockByTopicId
  • #556 Scores now take an exponential moving average of the score rather than using the instantaneous score value from this epoch.

Removed

  • #542 As part of active topic management, we removed GetActiveTopics and other (especially paginated) remnants of an unpartitioned store of active topics.

Fixed

  • #544 Added check against zero-rewards after conversion to cosmosInt
  • #547 Improve error handling on InsertPayload, fixed/added tests err handling
  • #550 Fix reputer window upper limit
  • #555 Refactor: Rename TestSuite names
  • #567 Fix worker nonce window closing as soon as it opens

Security

  • See our recent June 2024 security audit for a full description of bugs found during that audit.
  • #554 Check Signature on Worker or Reputer Payload Matches Inferer/Forecaster/Reputer inside Bundle

v0.3.0

Refactors to adapt to single transaction insertions from workers and reputers.

Added

  • Changelog added (this), improved contribution guidelines, and simplified PR template
  • #443 Create mechanism to import and export state with initGenesis and exportGenesis
  • #461 Create index of topics by block height at which their open worker nonce closes
  • #432 State sync enabled for faster validator syncing
  • #478 Create and apply abstraction for augmenting topic fee revenue that is sure to check for topic activation criteria for both funding events, fee payments, and stake additions
  • #482 Creation of an official Upgrade Flow

Removed

  • #458 Removal of Blockless and batch processing; Introduction of online, individual payload processing. This resolves many security, performance, and scalability issues.
  • A number of PRs were merged prior to v0.3.0 that improved upon our usage of Blockless, however that has been removed in favor of its removal in #458. Hence, we are not listing those PRs here.
  • #462 Add individual payload processing
  • #470 Skim of top performers per topic as they submit payloads ("online skimming")
  • #464 Remove libp2p peer ids from chain
  • #459 Revamp nonce management

Fixed

  • #486 Correctly set initial emission per unit staked token
  • #460 Apply a number of bugfixes and high-precision unit tests that ensure our implementation matches our simulation of Allora and therefore the original intentions of the whitepaper and Foundation.
  • #487 Patch to have the single allorad home folder in Docker
  • #437 Fix issue for excessive effective revenue dripping
  • #441 Prevent DoS from attempting to withdraw negative stake amounts
  • #472 Prevent topics to be created with a ground truth lag too big so that the reputation nonce could be dropped when the ground truth is revealed
  • #484 Fix issue with permissions within Docker container
  • #477 Fix issue arising from no forecasts being sent in worker payload
  • #436 Fix bug related to excessive usage of topic ground truth lag and misleading error message
  • Additional bugfixes and improvements

Security

  • #454 Bump CometBFT version
  • #465 Catch and avert error leading to inappropriate transfer of funds
  • #440 Remove parallelization to avert nonuniform executions between hardwares

v0.2.14

  • Added many new queries
  • Added confidence interval to network inference query
  • New actors are incorporated more smoothly instead of ignored then included in their next round
  • Created fuzzer so anyone can help find vulnerabilities (tell them how they can submit)
  • Parallelized tests for faster CI
  • Formally adopted gitflow with improved contributor experience
  • Simplified nonce semantics
  • More reliable fetching of previous data
  • Added validations for safer data ingress
  • Update forecast utility function
  • Automatically expire stake removals instead of requiring a 2nd tx
  • Added min bound on epoch length to prevent topics from hogging too many resources
  • Add restore from snapshot
  • Version updates to all docker files and deployment scripts
  • Removed duplicate computations for increased efficiency
  • Bugixes, improved error handling, way more coverage, and simplifications including:
  • More efficient state pruning
  • Way more validator logging
  • Removed print statements so more efficient logging
  • Tuned default global parameters
  • Self-delegation disallowed (security patch)
  • Added stress tests
  • Improved README
  • Move expensive logarithm and exponentiation operations to offchain nodes when possible

v0.1.0

Versions below v0.2.14 were associated with our "Alpha Testnet" and "Edgenet" deployments, before formal versioning was adopted.