Skip to content

v0.7.0-alpha1

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 01 Dec 11:31
· 570 commits to develop since this release
d239096

PolyBFT Introduction

PolyBFT is a Proof-of-Stake protocol that enables staking, reward distribution and validator selection via smart-contracts. It also utilizes the concept of voting power and enables bridging functionality.

  • It uses Ibft 2.0 protocol as a consensus engine to seal blocks (https://github.com/0xPolygon/go-ibft).
  • It has a built-in bridge mechanism that enables arbitrary messages to pass between rootchain to sidechain (aka StateSync) and vice versa (aka Checkpoint).
    • Supports Erc20, Erc721, and any other of the open token specs.
  • It uses system smart contracts (https://github.com/0xPolygon/core-contracts) to implement the staking solution of the protocol: reward distribution, validator selection, slashing.

Debug trace functionality

New debug endpoints were added to JSON RPC:

  • debug_traceBlock
  • debug_traceBlockByNumber
  • debug_traceBlockByHash
  • debug_traceCall
  • debug_traceTransaction

Other improvements

  • The native gas token is ERC-20 compatible.
  • Several property-based tests added
  • Overall quality of the codebase improvements

Important notice

This version is not backward compatible

Changelog

  • d239096 Removing GenesisTarget and adding the NodeID field to Validator struct (#985)
  • 4828279 Fix data race in fsm (#982)
  • f33af57 Change genesis premine logic (#981)
  • 82fd78d Merge remote-tracking branch 'origin/develop' into feature/v3-parity
  • a219437 Integrate with CheckpointManager.sol (#952)
  • 7d8338f Passing account codehash to j.state.GetCode (#976)
  • af0dee1 Extracted GetAccountImpl into fn for use in txPoolHub and jsonRPCHub (#975)
  • ec48ac4 Make "pending" block param act as "latest" (#974)
  • e96eeda Replace BLS library with github.com/kilic/bn254 (#978)
  • 2962f20 improving workflow dependency (#966)
  • 07ce7e6 Remove State Sync execution step (#964)
  • e5688ba Set address to the result instance on applyCreate
  • 0ee71ed Fix e2e tests
  • b544aa3 Merge branch 'develop' into feature/v3-parity
  • 316ce9b Debug tracing (#836)
  • 1e4a66a Align v3-parity with develop branch (#971)
  • b8ecb2b Polybft voting power (#944)
  • b8d35ac Fix data race to polybft unit test (#965)
  • e7ff3f3 EVM-220 TestClusterBlockSync/BLS fails in voting power branch (#926)
  • 3ed0370 Epikichi/edge 973 change v3 parity workflow to devnet (#957)
  • e22c827 Docker setup: Wait for genesis file to exist before starting nodes (#949)
  • 64f728a Track updates for validators (#939)
  • 461300f Add performance tests to devnet deployments (#918)
  • 26663db EVM-232 Keep polybft bls and ecdsa keys in separate secrets manager namespaces (#953)
  • dc33bad introducing workflow dispatch trigger for Devnet V3 workflow. (#927)
  • 01014e8 Epikichi/edge 964 implement multiple erc mode support (#954)
  • db63825 Fix unit test for event tracker (#935)
  • 2968d5f Merge branch 'develop' into feature/v3-parity
  • f80b615 Add unit tests for jsonrpc transaction encoding (#923)
  • 5250168 Epikichi/edge 904 investigate and add reproducable build (#928)
  • edf9d96 Merge branch 'develop' into feature/v3-parity
  • a191a54 Local cluster - adapt port for ibft to polybft (#931)
  • 4a3f562 Fix assigned boot nodes port number in genesis (#930)
  • 3c8ccd7 Revert removal of MarshalText function (#919)
  • 44c2ab3 Hotfix to solve a backup stream limit Issue (#816)
  • 8627f12 Introduce local development cluster script (#912)
  • 3335564 adding devnet-v3 workflow for parity testing. Adding needed secrets for other workflows (#916)
  • d67d898 EVM-152 Fix Unit Tests (#910)
  • cc3159b Deprecate sql driver types (#913)
  • c1ffc39 Jsonrpc fix race conditions (#908)
  • 0ab9ae7 Change ValidatorMetadata methods to pointer receivers (#911)
  • 4f0161f Add read abstraction to the State (#827)
  • 455f185 Remove Polybft dummy smart contracts (#909)
  • 62d5981 Fix unstable behaviour in TestContractValidatorStore_CacheChange (#810)
  • 4ab595c Use a local account object and refactor the store account interface (#902)
  • bd80d1c Use jsonrpc block header in subscription (#901)
  • 88310e7 Remove store getHeaderByNumber (#900)