Skip to content

Conversation

@poplexity
Copy link
Member

@poplexity poplexity commented May 1, 2025

DON'T MERGE UNTIL #44 IS MERGED

  • EVM voting
  • Vote decay
  • Scaled BP pay
  • Self-stake boost

This pull request introduces significant enhancements to the Telos system contract to support EVM-based voting and related configuration, as well as improvements to the voting mechanism. The main changes include new data structures and tables for EVM voting, several new contract actions for managing voting configuration and synchronizing BP (block producer) status with the EVM, and the integration of new libraries for EVM and Ethereum compatibility. These updates enable on-chain management of EVM voting parameters, retrieval and normalization of EVM votes, and synchronization of BP status between EOSIO and EVM.

EVM Voting Integration and Configuration

  • Added new tables: evm_vote_info and evm_votes_table to store EVM vote data for block producers, and votingconfig_singleton to hold EVM voting contract configuration and decay parameters. [1] [2]
  • Integrated new external libraries (eosio.evm, intx, rlp) for EVM compatibility and cryptographic operations, updating CMake and includes accordingly. [1] [2] [3] [4]

New Contract Actions for Voting Management

  • Added actions: setvotedecay, setvotecontr, getevmvote, setbpevmstat, and setselfstake for configuring EVM voting parameters, updating BP status in EVM, and managing self-stake boost multipliers. [1] [2]
  • Exposed these actions via action wrappers for external invocation.

State Management and Initialization

  • Updated contract constructors and state management to initialize and persist new voting configuration and EVM votes tables. [1] [2] [3] [4]

Voting Logic Extensions

  • Added new helper functions for vote weight decay and conversion between uint256 and double, supporting more nuanced voting calculations.

(EVM integration: [1] [2] [3] [4]
(Library and build updates: [1] [2] [3] [4]
(New actions: [1] [2]
(State management: [1] [2] [3] [4]
(Voting logic: contracts/eosio.system/include/eosio.system/eosio.system.hppR1845-R1847)

@poplexity poplexity linked an issue May 5, 2025 that may be closed by this pull request
17 tasks
…iplier to votingconfig. Implement setselfstake action to modify the multiplier and adjust voting logic to utilize the new multiplier for vote weight calculations.
…r system for active and standby producers. The new logic uses an arithmetic sequence to determine share values based on the number of active producers, improving accuracy in reward distribution.
…ted actions in setvotedecay, getevmvote, and setbpevmstat functions
@aamirpashaa aamirpashaa marked this pull request as ready for review September 12, 2025 13:17
aamirpashaa and others added 10 commits November 18, 2025 20:13
… accuracy and prevent integer truncation in multiplier calculations for active producers.
… price-based logic and allow for floating point tolerance in assertions.
…ayment limits, adjusting monthly pay from 378,000 to 189,000 and corresponding maximums accordingly.
…are value and pay amount, ensuring improved accuracy in tiered payment multipliers for active and standby producers.
…al and expected payments, ensuring accurate reward claims and sorting for validation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Telos Voting System Improvements

3 participants