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

2 3 5 #2

Open
wants to merge 69 commits into
base: 2_3_4
Choose a base branch
from
Open

2 3 5 #2

wants to merge 69 commits into from

Conversation

rlan35
Copy link
Owner

@rlan35 rlan35 commented Sep 23, 2020

Issue

Test

Unit Test Coverage

Before:

<!-- copy/paste 'go test -cover' result in the directory you made change -->

After:

<!-- copy/paste 'go test -cover' result in the directory you made change -->

Test/Run Logs

Operational Checklist

  1. Does this PR introduce backward-incompatible changes to the on-disk data structure and/or the over-the-wire protocol?. (If no, skip to question 8.)

    YES|NO

  2. Describe the migration plan.. For each flag epoch, describe what changes take place at the flag epoch, the anticipated interactions between upgraded/non-upgraded nodes, and any special operational considerations for the migration.

  3. Describe how the plan was tested.

  4. How much minimum baking period after the last flag epoch should we allow on Pangaea before promotion onto mainnet?

  5. What are the planned flag epoch numbers and their ETAs on Pangaea?

  6. What are the planned flag epoch numbers and their ETAs on mainnet?

    Note that this must be enough to cover baking period on Pangaea.

  7. What should node operators know about this planned change?

  8. Does this PR introduce backward-incompatible changes NOT related to on-disk data structure and/or over-the-wire protocol? (If no, continue to question 11.)

    YES|NO

  9. Does the existing node.sh continue to work with this change?

  10. What should node operators know about this change?

  11. Does this PR introduce significant changes to the operational requirements of the node software, such as >20% increase in CPU, memory, and/or disk usage?

TODO

rlan35 and others added 30 commits August 15, 2020 11:52
…mony-one#3296)

* add support for redelegation

* Add test

* Revert "[go.mod] version upgrade of libp2p modules"

This reverts commit ce53468.

* Fix bug that validator self delegation doesn't work

* Restore 7 epoch locking time at redelegation epoch

* Add debug log for chain context
* [rpc] Add inSync & beaconInSync RPCs to check if node blockchains are in sync

	* [syncing] Expose IsOutOfSync
	* [hmy] Add IsOutOfSync to NodeAPI
* [cmd] if running explorer node, set archive to true
* [cmd] added a unit test for explorer archive
* [cmd] added another test case for archive
* [sync] fix testnet syncing panic issue

* [sync] add back close connections in initialization
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
* [sync] added batched block sync logic

* [sync] changed batch download size from 10 to 30
* .travis.yml Run tests on Ubuntu 18.04 LTS

* README.md Remove unnecessary badge token

* README.md Change badge branch to `main`
Signed-off-by: Leo Chen <leo@harmony.one>
…y-one#3312)

* [rosetta] Add server stop

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Make network naming consistent

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Correct common package name & add error enum

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Remove needless forward of network info to services

* Implement /network/list

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Refactor errors & add operation statuses and types

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Implement NetworkOptions & update NetworkAPIService

* Rename *_service.go files to remove the suffix
* Update StartServers to use new operation types

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Impl NetworkStatus - Finish init impl of /network endpoint

* Fix import structure for rosetta.go

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [test] Make explorer run as archival for localnet

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add unit tests

* Force errors to remain the same with unit tests
* Force operations to remain the same with unit tests
* Ensure network checking works for all cases with unit tests

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add InvalidNetworkError and correct error codes

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add UnmarshalFromInterface for SubNetworkMetadata

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add network checking

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Nit fixes & add unit test for Peer Info

* Make names consistent

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add BlockNotFoundError & TransactionNotFoundError

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Implement skeleton for block transactions

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add ReceiptNotFoundError

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add receipt to formatTransaction sig for contract fails

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add currency, ExpendGasOperation, & ContractCreationOperation

* Add Error creator

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Init impl of plain transaction formatting

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Update network.go for new error constructor

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Implement stx formatter & refactor BlockTransaction

* Updated todo comments & function formatting

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Impl Block & make currency non-ptr for easy copy with custom metadata

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix collect rewards amount on transaction fetch

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix block look-up edge case & add recovery middleware

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add bocks unit tests

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix checkPeerID unit test in network_test.go

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix staking tx amount for tx ops & update inline docs

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix lint

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Refactor getStakingOperations

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix undelegate value

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Nit - fix formatting for network.go

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [node] Move genesis allocation to core & remove unused ContractDeployerKey

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix precision error & add cx receipt hash on blk fetch

* Add unit tests for supporting helper functions

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix fmt

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix cx receipt hashes for blocks

* Print stack trace on panic recovery

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [node] Nit - fix comment for StopRosetta

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [node] Expose GetMaxPeerHeight

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add SyncStatus enum

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Nit - remove redundant 'service' name in services namespace

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>
[rpm] publish rpm package to yum repo

Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
[rpm] add change log

[rpm] fix postun in spec file

[rpm] make config files

[rpm] add more changelog to test upgrade

[rpm] add jq as dependency

[rpm] right usage of %config

Signed-off-by: Leo Chen <leo@harmony.one>
[deb] improve deb scripts

[deb] restart harmony after upgrade

Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
JackyWYX and others added 27 commits September 2, 2020 13:32
* [rosetta] Account endpoint

* Fix lint
* Add one-off fork for testnet adjusted reward

* Fix

* Fix
…3331)

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>
…#3332)

[rosetta] Update Genesis to reflect localnet genesis changes

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>
…des (harmony-one#3337)

* Revert "Revert "Add multi-sig merged messaging logic (harmony-one#3300)""

This reverts commit cbd1133.

* Allow harmony nodes to sign multisig from multiple accounts
…armony-one#3338)

* [rosetta] Update staking operations to account for re-delegation

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [hmy] Add GetUndelegationChange

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [hmy] Add GetAllUndelegatedDelegators

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [hmy] Fix GetAllUndelegatedDelegators & add GetDelegationLockingPeriodInEpoch

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix block reward TX ID formatting

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [hmy] Remove unused GetUndelegationChange

* Fix GetUndelegationPayouts
* Add GetDelegationsByValidatorAtBlock
* Keep beaconchain usage at a minimum

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [hmy] Remove debug print & update comments for GetUndelegationPayouts

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [core] Add last garbage collected number to blockchain.go

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add oldest block ID in net stat for non-archival nodes

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix network oldest block case when garb col blk unknown

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [core] Rename lastGarbCollectedBlkNum to maxGarbCollectedBlkNum

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [internal/chain] Refactor token lock period getter & expose

* Use refactored token lock period getter

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [hmy] Add UndelegationPayouts type

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Improve NewError detail failure message

* Add UndelegationPayoutOperation
* Rename PreStakingEraBlockRewardOperation to UndelegationPayoutOperation

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Integrate Correct undelegation payout operations

* Refactor special case transaction handeling & add helper functions
for determanining when payouts should be calculated
* Make getBlockSignerInfo a method of BlockAPI
* Rename constants for clarity
* Add unit tests for formatting Undelegation payout special transaction

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [hmy] Add caching to GetUndelegationPayouts

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [hmy] Nit - fix comment

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Add block not found error

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Refactor special case txID to be for general

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Fix lint

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [rosetta] Nit - fix comment

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>

* [hmy] Nit - Make GetUndelegationPayouts more readable

Signed-off-by: Daniel Van Der Maden <dvandermaden0@berkeley.edu>
…e#3343)

* [rpc] Add RPC to return pool of locked undelegated tokens

* [rpc] Fix calculation for available redelegation balance & rename function
…ne#3340)

* [consensus] enable the consensus module can spin up doSync

* [consensus] remove the blockNumLowChan buffer in onCommitted. Move tryCatchup logic before informing blockNumLow

* [sync] Remove an unnecessary time ticker in sync to reduce one sync loop time from 3.5s to 1s (based on testnet)

* [consensus] also spin up state sync at onPrepared

* [consensus] removed onCommitted block number check since redundent
…gation tokens (harmony-one#3344)

* [config] Fix confusing variable name

* [pool] Allow pool to accept Delegate transactions that utilize the locked redelegation amount

	* [pool] Bypass balance check for Delegate transactions, let validation be done with validateStakingTx
	* [list] Perform validation on staking transactions when filtering for overpriced/invalid transactions
	* [list] Rename FilterCost to FilterValid, to reflect changes & update comment
	* [pool] Remove now unnecessary staking logic in demotion logic

* [list] Fix imports
Signed-off-by: Leo Chen <leo@harmony.one>
[viewchange] encapsulate view ID in the State struct

do NOT ues consensus.current directory to set/get viewID

use the following functions

consensus.SetCurViewID, consensus.SetViewChangingID
consensus.GetCurViewID, consensus.GetViewChangingID

Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
updated protoc version

Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
Signed-off-by: Leo Chen <leo@harmony.one>
* revert multi-sig messaging code
@@ -443,7 +475,7 @@ func (consensus *Consensus) onViewChange(msg *msg_pb.Message) {
}
}

consensus.current.SetViewID(recvMsg.ViewID)
consensus.SetCurViewID(recvMsg.ViewID)
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LeoHChen this should be SetViewChangingID()

@@ -603,8 +628,7 @@ func (consensus *Consensus) onNewView(msg *msg_pb.Message) {
}

// newView message verified success, override my state
consensus.viewID = recvMsg.ViewID
consensus.current.SetViewID(recvMsg.ViewID)
consensus.SetCurViewID(recvMsg.ViewID)
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be SetViewIDs() @LeoHChen

consensus.SetBlockNum(consensus.ChainReader.CurrentHeader().Number().Uint64() + 1)
consensus.SetViewID(consensus.ChainReader.CurrentHeader().ViewID().Uint64() + 1)
consensus.SetViewIDs(consensus.ChainReader.CurrentHeader().ViewID().Uint64() + 1)
Copy link
Owner Author

@rlan35 rlan35 Sep 24, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is another logic change. the original logic didn't reset the view changing id.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

6 participants