Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Candidate v2023.3.0/v2023.3.1 - HIP30 Hard Fork #4500

Merged
merged 66 commits into from
Oct 18, 2023
Merged

Release Candidate v2023.3.0/v2023.3.1 - HIP30 Hard Fork #4500

merged 66 commits into from
Oct 18, 2023

Conversation

ONECasey
Copy link
Contributor

@ONECasey ONECasey commented Aug 30, 2023

v2023.3.0:
#4484 - Fixed debug run for mac.
#4492 - Next validator in view change.
#4495 - HIP-30 Boilerplate
#4496 - HIP-30: minimum validator commission of 7%
#4497 - Emission split ( HIP-30 )
#4504 - Fix for index.
#4477 - small improvements
#4501 - Block gas 30m
#4511 - fix getReceipts rpc issue
#4512 - Removed unused worker
#4493 - Improvements of streamsync to deploy on mainnet
#4518 - fix duplicate function def
#4517 - reset devnet and set 30M epoch for all network except mainnet/testnet
#4522 - Reduce the epoch time devnet
#4519 - add GetNodeData tests for stream client, increase nodes and receipts cap
#4503 - HIP-30 Shard Reduction Process
#4523 - use new(big.Int) so we don't modify the epoch value
#4525 - add hip30 testing for devnet/partner network
#4526 - enable hip30 epoch for testnet
#4528 - enable hip30 and gas30m epoch for mainnet
#4529 - fix preimage import bugs
#4535 - Dumpdb cache size.
#4532 - fix decryptRaw issue for nil/empty data
#4527 - update deprecated ioutil

v2023.3.1:
#4537 - Make peer connected/disconnected log debug
#4536 - Dumpdb fixed memory leak
#4538 - Updated go lib p2p deps
#4520 - Improvements for revert command
#4516 - Rotation fix and update

Frozen and others added 3 commits August 22, 2023 12:54
* Fix debug run for mac.
* NthNextValidatorHmy

* Test.

* Fixed func usage.

* Additional checks.
* HIP-30: sharding configuration boilerplate

* update comments

* goimports

* update test

* update comment

---------

Co-authored-by: Nita Neou (Soph) <soph@harmony.one>
@ONECasey ONECasey self-assigned this Aug 30, 2023
@ONECasey ONECasey added Next Release Use this label for the next release HIP-30 labels Aug 30, 2023
MaxMustermann2 and others added 20 commits August 31, 2023 19:45
* HIP-30: sharding configuration boilerplate

* update comments

* goimports

* HIP-30: minimum validator commission of 7%

Based on #4495, which must be merged before this PR. This PR should be
rebased with dev after #4495 is merged to retain atomicity of changes by
pull request.

* goimports

* update test

* update test

---------

Co-authored-by: Casey Gardiner <117784577+ONECasey@users.noreply.github.com>
* HIP-30: sharding configuration boilerplate

* update comments

* goimports

* HIP-30: minimum validator commission of 7%

Based on #4495, which must be merged before this PR. This PR should be
rebased with dev after #4495 is merged to retain atomicity of changes by
pull request.

* goimports

* HIP-30: Emission split implementation

Note that the allocated split of the emission goes directly to the
recipient (and not via the Reward). This is because rewards are indexed
by validator and not by delegator, and the recipient may/may not have
any delegations which we can reward. Even if one was guaranteed to
exist, it would mess up the math of the validator.

* set up mainnet recipient of emission split

* HIP-30: Emission split addresses for non mainnet

* update test

* update test

* Update mainnet.go

---------

Co-authored-by: Casey Gardiner <117784577+ONECasey@users.noreply.github.com>
)

* flags: set up preimage flags

* hip30: set up preimage import, export, api

* save pre-images by default

* add pre images api

* goimports

* commit rpc preimages file

* preimages: re-generate them using CLI

* add metrics and numbers for pre-images

* automate generation after import

* move from rpc to core

* goimports

* add back core/preimages.go file

* goimports

* goimports

* export prometheus metric when no error importing preimage

* add preimages flags to rootflags

---------

Co-authored-by: Nita Neou (Soph) <soph@harmony.one>
* HIP-30: sharding configuration boilerplate

* update comments

* goimports

* HIP-30: minimum validator commission of 7%

Based on #4495, which must be merged before this PR. This PR should be
rebased with dev after #4495 is merged to retain atomicity of changes by
pull request.

* goimports

* HIP-30: Emission split implementation

Note that the allocated split of the emission goes directly to the
recipient (and not via the Reward). This is because rewards are indexed
by validator and not by delegator, and the recipient may/may not have
any delegations which we can reward. Even if one was guaranteed to
exist, it would mess up the math of the validator.

* set up mainnet recipient of emission split

* HIP-30: Emission split addresses for non mainnet

* HIP-30: deactivate shard 2 and 3 validators

* update test

* update test

* shard reduction: update block reward

---------

Co-authored-by: Casey Gardiner <117784577+ONECasey@users.noreply.github.com>
* flags: set up preimage flags

* hip30: set up preimage import, export, api

* save pre-images by default

* add pre images api

* goimports

* commit rpc preimages file

* preimages: re-generate them using CLI

* add metrics and numbers for pre-images

* automate generation after import

* move from rpc to core

* goimports

* add back core/preimages.go file

* HIP-30: sharding configuration boilerplate

* update comments

* goimports

* HIP-30: minimum validator commission of 7%

Based on #4495, which must be merged before this PR. This PR should be
rebased with dev after #4495 is merged to retain atomicity of changes by
pull request.

* goimports

* HIP-30: Emission split implementation

Note that the allocated split of the emission goes directly to the
recipient (and not via the Reward). This is because rewards are indexed
by validator and not by delegator, and the recipient may/may not have
any delegations which we can reward. Even if one was guaranteed to
exist, it would mess up the math of the validator.

* set up mainnet recipient of emission split

* HIP-30: Emission split addresses for non mainnet

* HIP-30: deactivate shard 2 and 3 validators

* goimports

* update test

* goimports

* migrate balance uring epoch T - 1

highly untested code. also missing is the ability to generate a
pre-migration report for future verification.

* update test

* export prometheus metric when no error importing preimage

* add comment

* test account migration in localnet

* add preimages flags to rootflags

* enable preimages on the whitelist

* add the generate method

* fix cropping log

* fix cropping log

* cropping startpoint when bigger than endpoint

* add support for the rpcblocknumer type

* enable import api

* use earlies block

* debug logs

* debug logs

* debug logs

* debug logs

* fix error catching

* fix error catching

* make end optional for the comand line

* fix cropping logic

* improve error when apply message fails

* add balance on the error

* fix importing

* remove unused imports

---------

Co-authored-by: Nita Neou (Soph) <soph@harmony.one>
Co-authored-by: Soph <35721420+sophoah@users.noreply.github.com>
Co-authored-by: Diego Nava <diego.nava77@hotmail.com>
Co-authored-by: Diego Nava <8563843+diego1q2w@users.noreply.github.com>
* flags: set up preimage flags

* hip30: set up preimage import, export, api

* preimages: re-generate them using CLI

* move from rpc to core

* migrate balance uring epoch T - 1

highly untested code. also missing is the ability to generate a
pre-migration report for future verification.

* test account migration in localnet

* enable preimages on the whitelist

* add the generate method

* fix cropping log

* fix cropping log

* cropping startpoint when bigger than endpoint

* add support for the rpcblocknumer type

* enable import api

* Fixed stuck.

* Additional logs.

* Cleanup.

* Rebased on harmony-one:hip30/testing.

* Removed code duplicate.

* Fixed stuck.

* IsOneEpochBeforeHIP30 for only 1 epoch.

---------

Co-authored-by: MaxMustermann2 <82761650+MaxMustermann2@users.noreply.github.com>
Co-authored-by: Nita Neou (Soph) <soph@harmony.one>
Co-authored-by: Diego Nava <diego.nava77@hotmail.com>
Co-authored-by: Diego Nava <8563843+diego1q2w@users.noreply.github.com>
* Fixed gas 30m.

* BlockGas30M renamed to BlockGas30MEpoch.

* Removed redundant code.
* flags: set up preimage flags

* hip30: set up preimage import, export, api

* save pre-images by default

* add pre images api

* goimports

* commit rpc preimages file

* preimages: re-generate them using CLI

* add metrics and numbers for pre-images

* automate generation after import

* move from rpc to core

* goimports

* add back core/preimages.go file

* HIP-30: sharding configuration boilerplate

* update comments

* goimports

* HIP-30: minimum validator commission of 7%

Based on #4495, which must be merged before this PR. This PR should be
rebased with dev after #4495 is merged to retain atomicity of changes by
pull request.

* goimports

* HIP-30: Emission split implementation

Note that the allocated split of the emission goes directly to the
recipient (and not via the Reward). This is because rewards are indexed
by validator and not by delegator, and the recipient may/may not have
any delegations which we can reward. Even if one was guaranteed to
exist, it would mess up the math of the validator.

* set up mainnet recipient of emission split

* HIP-30: Emission split addresses for non mainnet

* HIP-30: deactivate shard 2 and 3 validators

* goimports

* update test

* goimports

* migrate balance uring epoch T - 1

highly untested code. also missing is the ability to generate a
pre-migration report for future verification.

* update test

* export prometheus metric when no error importing preimage

* add comment

* test account migration in localnet

* add preimages flags to rootflags

* enable preimages on the whitelist

* add the generate method

* fix cropping log

* fix cropping log

* cropping startpoint when bigger than endpoint

* add support for the rpcblocknumer type

* enable import api

* use earlies block

* debug logs

* debug logs

* debug logs

* debug logs

* fix error catching

* fix error catching

* make end optional for the comand line

* fix cropping logic

* improve error when apply message fails

* add balance on the error

* fix importing

* remove unused imports

* create preimage for genesis block

* fix consensus with No Migration Possible

* use correct header for migration

* process all tx in all block for non shard 0

---------

Co-authored-by: MaxMustermann2 <82761650+MaxMustermann2@users.noreply.github.com>
Co-authored-by: Diego Nava <diego.nava77@hotmail.com>
Co-authored-by: Diego Nava <8563843+diego1q2w@users.noreply.github.com>
GheisMohammadi and others added 9 commits September 28, 2023 17:04
* add faultRecoveryThreshold to reset stream failures

* increase MaxStreamFailures to let stream be longer in the list

* set Concurrency to 2 for devnet to be same as MinStreams, otherwise it will rewrite MinStreams

* stream sync loop checks for ErrNotEnoughStreamsand waits for enough streams in case there are not enough connected streams in list

* fix fault recovery issue

* improve checkPrerequisites to be able to continue with minimum streams

* refactor fixValues function, put priority on MinStreams rather than Concurrency

* drop remote peer if sending empty blocks array

* goimports to fix build issue

* fix getReceipts array assignments

* fix getReceipts and add tests for it
…#4517)

* enable on devnet hip28 and hip30 together at hip30
* enable 30M epoch for all except mainnet/testnet, update devnet for restart
* remove unused var
* update partner/devnet feature activation
* Remove old devnet/partner instance config
…cap (#4519)

* add tests for GetNodeData in stream protocol

* increase client cap for nodes and receipts requests
@ONECasey ONECasey changed the title Release Candidate v2023.3.0 - Emissions Split (HIP30) Release Candidate v2023.3.0 - HIP30 Hard Fork Oct 10, 2023
@ONECasey
Copy link
Contributor Author

@Frozen and @GheisMohammadi , can you please look at the failing tests?

@sophoah
Copy link
Contributor

sophoah commented Oct 16, 2023

All good after I restarted the job

@ONECasey
Copy link
Contributor Author

I think after #4455 we should have code freeze

@sophoah sophoah changed the title Release Candidate v2023.3.0 - HIP30 Hard Fork Release Candidate v2023.3.0/v2023.3.1 - HIP30 Hard Fork Oct 18, 2023
@sophoah
Copy link
Contributor

sophoah commented Oct 18, 2023

we deployed on mainnet node commit ae578ba so let's use that for v2023.3.0. What comes next will be v2023.3.1

@sophoah sophoah merged commit 2bba333 into main Oct 18, 2023
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HIP-30 Next Release Use this label for the next release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants