Releases: 0xPolygon/polygon-edge
Supernets v0.8.0
This is the first version of the full support Supernets release with all features required to enable a Supernet. For more detailed information, please refer to the Supernets Wiki.
- PolyBFT is set as the default consensus mechanism
- Native Bridge is included with all Supernets and is expected to be enabled on all deployments to the Polygon Mumbai test network. It supports deposits and transfers of ERC-20 and arbitrary message passing.
- Validator Allow-List - Support for only allowing specific addresses to become validators on your network
- Smart Contract Allow-List - Support for only allowing specific addresses to deploy Smart Contracts on your network
- Support for migration from older versions of Edge - Hard Spoon (State migrations with down time) - refer to the documentation
Changelog
- f427c11 Update README (#1315)
- ba66c1b Regenesis (#1224)
- 40ba141 Forbid premining validators in the genesis cmd (#1314)
- 3d9316d Provide validators in the same order when initializing
CheckpointManager
SC and genesis (#1309) - 4c71d94 Disable console precompile for prod networks (#1313)
- cb36b09 Feat allow list (#1306)
- 5365802 Reuse chain id from manifest when creating genesis configuration (#1302)
- bef9f0f Fix wasted assign lint errors (#1311)
- a81800e Debug logs E2E tests (#1307)
- 5f1dea3 Bump go-ibft to latest (#1303)
- 06f0007 EVM-441: Add gRPC data validation (#1283)
v0.7.3-beta3
v0.7.3-beta1
Changelog
- f5541d1 registration split to whitelist + register
- 9363886 ToB code quality issues (#1263)
- a20e154 ERC20 token bridging (withdrawal flow) (#1259)
- ee35129 ERC20 token bridge (deposit workflow) (#1242)
- 5aea95d Additional block metrics (#1257)
- a88382f TOB-EDGE-27: RecoverPubk should validate provided hashed message (#1260)
- eccbae3 Remove smart contracts path flags (#1254)
- 9a0c634 EVM-352 Event tracker block finalization (#1228)
- 3171aa5 TOB-EDGE-13 Merkle Tree bugs (#1234)
- d815a3f Secrets manager introduced to commands (#1251)
- 6c66439 Commitment vote signature verification (#1250)
v0.7.2-alpha2
v0.7.2-alpha1
Changelog
- cf0ac5a Introduce signature file in validator secrets to handle validator key signature (#1233)
- 42ee5b8 Support Syncer.Close() on running node (#1148)
- e7bc8c2 Polybft data storages (#1055)
- a84bb37 Add output flag to polybft-secrets (#1231)
- 550f883 Execute block in
fsm.Insert
if cached block is undefined or mismatch detected (#1226) - 67226af Remove unnecesary trie elem (#1222)
- 836eda6 Remove all instances of private clone token (#1232)
- f4e3d68 GitHub Actions: Remove Personal access token usage and conditionally run SonarQube (#1229)
- cdaff7d Fix unit tests (#1227)
- 8e5bc22 Add unhappy path tests for verify signature (#1214)
- 57d4455 Next validator hashes don't match in register validator e2e test (#1217)
- f917a74 Validate validator set delta content (#1215)
- 28eda73 EVM-396 TOB-EDGE-29: BLS Rogue attack + align Polybft with smart contracts dev branch (#1184)
- f3da43a Encapsulate signatures validation logic in
Extra
(#1208) - 327d115 Message is not hashed before signature verification (#1205)
- e3320d5 Remove codecov (#1211)
- 8aba53f
Signer.Sender
does not validate whole EDCSA signature parameters (#1207) - ce854b1 EVM-387(TOB-EDGE-11) & EVM-409 (TOB-EDGE-10) Fix ValidateSignatureValues (#1195)
- 79c3ddf EVM-369 fix architecture dependent
int
type (#1175) - 01e38b8 opReturnCopyData panic fix (#1180)
- 8e3646e Fix Register validator e2e test (#1178)
- 1ea161b EVM-453 Build proposal header's extra validators bug (#1191)
- fa801fb Extract SC integration tests to a separate file (#1203)
- cca8611 Rename uptime to commit epoch (#1193)
- 55a9e0c GetDelegatorReward fix (#1194)
- f434a9b PolyBFT consensus protocol (#899)
- df32bb4 Skip loading json metadata from file for broken file (#1117)
- 9eccd18 EVM-370 Added insecure flag for local store. (#1159)
- 9e25218 Fix hash calculation for proposal for go-ibft's update (#1065)
- 33364d4 Resolve GitHub action depreciation messages (#1147)
- 6fcc824 Exclude core-contracts from SonarQube checks (#1154)
- 6a1db1a EVM-338 & EVM-340 fix race condition on account initialization (#1104)
- 4bbb266 Missing tokens for deployment workflows (#1145)
- 2d0a036 Add SonarQube config (#1105)
- af4b991 Fix invalid docker compose deployment (#1096)
v0.7.1-alpha3
Changelog
- f0275ea Expose ValidatorInfo struct (#1162)
- 28f106a Remove GetNonce function (#1165)
- bf5ac4d EVM-353 Different voting power property based test (#1149)
- 8c63fe6 Merge branch 'develop' into feature/v3-parity
- 33364d4 Resolve GitHub action depreciation messages (#1147)
- 60c5600 EVM-360 e2e test (#1158)
- 3032df9 Align RLP marshaling logic according to eip-2718 (#1114)
- 6fcc824 Exclude core-contracts from SonarQube checks (#1154)
- afac193 Rely on contracts api package when dealing with ABI abstractions (#1144)
- c2e3e6e EVM-360 Invalid state root error on v0.7.1-alpha2 (#1133)
- ccea1bd BuildProofs for missed commitments (#1141)
- 6a1db1a EVM-338 & EVM-340 fix race condition on account initialization (#1104)
- 9244f36 E2E Relayer (#1131)
- 2ed340b Validator unstake e2e test (#1112)
- b37baab Merge branch 'develop' into feature/v3-parity
- 4bbb266 Missing tokens for deployment workflows (#1145)
- e2025a8 Optimized docker build in docker-compose (#1135)
- 86052c2 Add missing cluster stop invocations in e2e tests (#1138)
- 923b9a5 Use PostBlock handler in ProposerCalculator (#1139)
- ce86fab Merge branch 'develop' into feature/v3-parity
- 030cd76 TestE2E_Bridge_L2toL1Exit to work with multiple users (#1132)
- 3f29527 Fix flaky register validator e2e test (#1122)
- 3c6e048 Invert logical condition in
WaitUntil
functions (#1123) - 2d0a036 Add SonarQube config (#1105)
- 186aeaa Move GenerateExitProof to checkpointManager (#1118)
- bfbbce0 Initialize
closeCh
instateSyncManager
(#1116) - ccc2897 Move BuildEventRoot to checkpointManager (#1115)
- 3006cb3 EVM-356 Update checkpoint out of fsm (#1113)
- 217beb4 Return FullBlock from syncer (#1110)
v0.7.1-alpha2
Overview
0.7.1-alpha2 introduces fixes to debug tracing and couple of other minor improvements:
- gasCost field is now in the output of debug trace endpoint
- gasCost is now calculated correctly for successful execution in debug tracing
Changelog
- 6e8478a Merge branch 'develop' into feature/v3-parity
- 9e9bd63 Multiple state sync commitments per epoch (#1083)
- af4b991 Fix invalid docker compose deployment (#1096)
- b099147 Handled go routines in event tracker (#1080)
- 8aaae66 Register validator e2e test (#1084)
- 7efa69f Add disclaimer message when running polybft consensus protocol (#1107)
- ae79516 Tracer should only fetch the currently active stack. (#1085)
- 036644a Implement
Stringer
interface inAccountSet
(#1103) - ff46c5f Merge branch 'develop' into feature/v3-parity
- 25f36e5 Fix gasCost field in return of debug trace (#1087)
- 549d3d2 exposed prometheus api (#1049)
- 7d31e26 Fix parallel table tests (#1078)
- 785ccd8 Add appropriate prefixes to the Edge metrics (#1043)
- 0a9d09b Remove loadbot (#991)
- bd7e880 Adding SECURITY.md
v0.6.3
Changelog
- ae79516 Tracer should only fetch the currently active stack. (#1085)
- 25f36e5 Fix gasCost field in return of debug trace (#1087)
- 549d3d2 exposed prometheus api (#1049)
- 7d31e26 Fix parallel table tests (#1078)
- 785ccd8 Add appropriate prefixes to the Edge metrics (#1043)
- 0a9d09b Remove loadbot (#991)
- bd7e880 Adding SECURITY.md
v0.7.1-alpha1
Overview
0.7.1 release is mostly improving existing PolyBFT functionality by introducing several fixes and more end-to-end tests.
Overall quality and quality-of-life improvements introduced.
PolyBFT improvements
- Reward calculation has been improved
- Several fixes were introduced to voting power calculation
- Dynamic epochs were introduced
- Checkpointing mechanism improved
Other improvements
- Multiple data races were fixed
- Immutable trie was refactored
- More e2e tests were introduced
- Several new metrics were introduced and certain names were refactored
- Several new commands added to the CLI as well as additional data outputs for existing commands
- eth_getCode now returns proper response
Changelog
- 474978c Core contracts to dev-audit (#1095)
- 4c5d0d9 Feature - State Sync manager (#1067)
- a65d2d0 Dynamic epoch size (#897)
- b29ef26 Remove unnecessary panics from polybft (#1077)
- 125489e Implement
TestE2E_Bridge_ChangeVotingPower
(#1075) - ad329a9 Epikichi/edge 988 add polybft consensus support to edge (#1051)
- 32bc71a Remove voting power scaling (#1060)
- a9646bf Immutable trie simplification (#1068)
- 7ed9cea Implement the relayer (#1044)
- b321b43 Fix uptime total blocks calculation (#1069)
- a86be75 RFC173 Checkpoint consensus issue (#1064)
- a62ff6f Fix segmentation fault panic on
ValidateSender
(#1054) - e6f620f Create a full block object during polybft (#1063)
- 0c09cbc Remove code related to bundles for state syncs (#1013)
- cafd3ac Feature/validator set changes (#1048)
- 722ef64 Evm 303: Fix race conditions after a block is inserted (#1047)
- b51b12b Remove readContractBytecode (#1061)
- 5f5bcf8 Consolidate
ExtendByteSlice
implementations (#1058) - c302a6c Remove GossipMessage (#1057)
- e3e38c2 EVM-302 Save proposer priorities after each block (#1018)
- e993b3b Decouple rootchain contracts deployment from development environment (#1005)
- a8ff39c Add pending checkpoints assertions to checkpoint submission e2e test (#1052)
- 05fb856 Integrate L2 exit workflow (#1024)
- 185e85a Fix loop closure violations in unit tests (#1053)
- b3543ca EVM-308 Add commands we are missing (#1050)
- 84ef530 Expose
PolyBFT
metrics to Prometheus API (#1040) - c75d2ec Merge branch 'develop' into feature/v3-parity
- d0074e6 Introduce metrics for BoltDB for the state (#1045)
- 2f4dbb9 IBFT extra unmarshalRLP error (#1042)
- 93ad4a0 Remove unused fields (#1039)
- 06aee78 RLP Marshal/Unmarshal update field in
ValidatorSetDelta
(#1026) - 1c7416d Use total stake for voting power (#1038)
- 9cde1e3 adding osuergo build tag to goreleaser (#1033)
- ffc8967 Fix/immutable trie race (#1017)
- f19c07a E2E tests for JsonRPC (#1002)
- b0a8f1e Remove bool return value from deliverMessage signature (#1027)
- 9ad22d9 git modules: shallow and fix branch (#987)
- 47f134e Merge branch 'develop' into feature/v3-parity
- 74cbed3 Checkpoint submission e2e test (#990)
- 9e4ec91 Use geth console fork as default with flag to disable (#1022)
- f718aac adding in container build/push step (#977)
- aa1365d Add default gas and gasPrice to local transactions (#1021)
- dc17eaf Remove gasLimit and gas fields from txrelayer call (#1020)
- 12a0227 Check for nil proposal (#1009)
- 1b8e7a5 Bundle build fix (#1014)
- 4eafc19 Only setup telemetry if
prometheusAddr
is set (#993) - 17d9f6b Fix eth_sendRawTransaction from uninitialized address (#1001)
- 7a34b52 Update core-contracts (#1007)
- 49ae19d Fix pending checkpoints submission (#992)
- 13b8885 Added london hardfork to the chain config (#999)
- 16463dd Provide rootchain IP address from CLI (#989)
- 9abe319 Normalize block timestamps (#925)
- 77f356c changing skip_push flag to auto for latest tag (#988)
v0.6.2
New features
Debug trace functionality
New debug endpoints were added to JSON RPC:
- debug_traceBlock
- debug_traceBlockByNumber
- debug_traceBlockByHash
- debug_traceCall
- debug_traceTransaction
Fixes
IBFT extra unmarshalRLP
Issue on v0.6.x versions, where a node randomly stops unmarshalling, and is unable to recover even after restart.
Node needs to be wiped to be able to function again.
This is a mitigation and not a fix. It will enable us to narrow down the circumstances of the issue in the future, while enabling the node to continue functioning when it faces the bug again.
Runtime error
There was a runtime error upon eth_getTransactionCount
when supplied with a PENDING
block number.
JSON-RPC not returning proper response on eth_getCode
When using eth_getCode
, the error unable to fetch code
would pop up instead of the proper output.
Panic issue
Sometimes, when terminating the processes, a panic issue occurs: panic: send on closed channel
.
The full list of changes can be found in the Changelog below.
Changelog
- 2f4dbb9 IBFT extra unmarshalRLP error (#1042)
- 9cde1e3 adding osuergo build tag to goreleaser (#1033)
- f19c07a E2E tests for JsonRPC (#1002)
- f718aac adding in container build/push step (#977)
- 4eafc19 Only setup telemetry if
prometheusAddr
is set (#993) - 17d9f6b Fix eth_sendRawTransaction from uninitialized address (#1001)
- 9abe319 Normalize block timestamps (#925)
- 77f356c changing skip_push flag to auto for latest tag (#988)
- 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)
- 2962f20 improving workflow dependency (#966)
- 316ce9b Debug tracing (#836)
- e22c827 Docker setup: Wait for genesis file to exist before starting nodes (#949)
- 461300f Add performance tests to devnet deployments (#918)
- dc33bad introducing workflow dispatch trigger for Devnet V3 workflow. (#927)
- 01014e8 Epikichi/edge 964 implement multiple erc mode support (#954)
- f80b615 Add unit tests for jsonrpc transaction encoding (#923)
- 5250168 Epikichi/edge 904 investigate and add reproducable build (#928)
- 3c8ccd7 Revert removal of MarshalText function (#919)
- 44c2ab3 Hotfix to solve a backup stream limit Issue (#816)
- cc3159b Deprecate sql driver types (#913)
- c1ffc39 Jsonrpc fix race conditions (#908)
- 4f0161f Add read abstraction to the State (#827)
- 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)
- f73bcc3 No need to restrict builds to individuals.
- f3fe4db Fix get account error introspection (#889)
- b97e753 Remove uber's atomic package (#856)
- 29f82f1 Remove code owners (#890)
- 820df1b Disabling hostname prefix in metrics configuration (#885)
- 0ebd7cf Simplify resolve of headers in jsonrpc (#875)
- 8e732ad Uniform jsonrpc type return (#873)
- b774553 Bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#826)
- a9e5cce Bump cloud.google.com/go/secretmanager from 1.7.0 to 1.8.0 (#846)
- 0aecf02 Bump gopkg.in/DataDog/dd-trace-go.v1 from 1.42.1 to 1.43.1 (#847)
- 399d0d9 Bump github.com/spf13/cobra from 1.5.0 to 1.6.1 (#848)
- cdf77c2 Bump github.com/hashicorp/vault/api from 1.8.0 to 1.8.2 (#869)
- 37a1ec0 Bump github.com/armon/go-metrics from 0.4.0 to 0.4.1 (#870)
- 73dce04 Bump github.com/prometheus/client_golang from 1.13.0 to 1.13.1 (#871)
- 07d0bc2 Remove array of runtimes (#859)
- 5e8a570 Remove old Ethereum chains and hard-coded genesis files (#860)
- 5bddeb7 removed Snyk Actions CI in favor of PR Checks (#862)
- 4f95741 Move metrics to global variable (#851)
- cac8de6 Fix panic issue due to sending to closed channel (#839)
- 13400ab Remove block from transition (#858)
- a02bf66 Checking whole files in diff (#850)
- 6492acc Using local workflows reference syntax (#855)
- 417a4be Updating issue template
- 1e251a8 Respecting JSON Log format flag in downstream server logs (#822)