aboutsummaryrefslogtreecommitdiffstats
path: root/dex/governance.go
Commit message (Collapse)AuthorAgeFilesLines
* core: add GovUtil to unify governance state related accessWei-Ning Huang2019-09-171-3/+7
| | | | | Add GovUtil so we could use the same logic in everywhere that requires access to governance state, such as configuration and CRS.
* import: switch consensus core to ↵Wei-Ning Huang2019-09-171-2/+2
| | | | gitlab.com/tangerine-network/tangerine-consensus
* Rebrand as tangerine-network/go-tangerineWei-Ning Huang2019-09-171-10/+10
|
* core: implement DKG success (#362)Jimmy Hu2019-06-151-0/+14
| | | | | | | | * vendor: sync to latest core * core: implmenet dkg success * cmd: govtool: add DKGSuccess
* core: vm: cache GPK to prevent DoS (#335)Wei-Ning Huang2019-06-151-16/+16
| | | | Cache GPK so one can not slow the chain down with the ProposeCRS method call.
* core/vm: remove round from addDKG functions (#279)Jimmy Hu2019-06-131-8/+8
| | | | | | | | * vendor: sync to latest core * core/vm: remove addDKG functions * core: fix conflict
* consensus: dexcon: disqualify dead node (#280)Wei-Ning Huang2019-06-131-95/+4
| | | | | | | | | | Since a qualified node might fail stopped, we need to remove them from qualified nodes to maintain network integrity. We do this by inspect the previous round to see if there are dead nodes. A dead node is a notary set node that does not propose any block in the previous round. We disqualify them by fining them so their staked value is 1 wei below minStake. This make them unqualified for being notary set in the follow on rounds.
* core: vm: add extra checks to prevent DKG spamming (#272)Wei-Ning Huang2019-06-121-1/+6
| | | | Add two maps to check the uniqueness of DKGMasterPublicKey and DKGComplaints to prevent malicious actors from spamming it.
* dex: implement recovery mechanism (#258)Wei-Ning Huang2019-06-121-0/+13
| | | | | | | | | * dex: implement recovery mechanism The DEXON recovery protocol allows us to use the Ethereum blockchain as a fallback consensus chain to coordinate recovery. * fix
* core: vm: flatten governanceWei-Ning Huang2019-06-121-7/+26
|
* core: sync to latest core (#214)Jimmy Hu2019-06-121-6/+15
| | | | | * vendor: sync to latest core * fix for single chain
* core: Remove K, Phi and NumChains from Governance (#198)Jimmy Hu2019-06-121-1/+1
| | | | | | * change default sync_core.sh * vendor: sync to latest core * core: Remove K, Phi and NumChain
* consensus: dexcon: snapshot round height when finalizing block (#170)Wei-Ning Huang2019-06-121-14/+0
| | | | Instead of having BP to send a tx to register the round height, just modify the state when finalizing block.
* core, dex/downloader: polish headers verification and blocks insertion logic ↵Sonic2019-06-121-84/+10
| | | | | | | | (#168) Refactor GenerateDexonChain function, move governance tx logic to the user of GenerateDexonChain (testchain_test.go) and move fake node set code to FakeDexcon.
* consensus: implement DEXON cryptoeconomics v4.0 (#145)Wei-Ning Huang2019-06-121-2/+2
|
* core: vm: implement byzantine reporting mechanism (#128)Wei-Ning Huang2019-06-121-8/+58
|
* vendor: sync to latest core (#129)Wei-Ning Huang2019-06-121-0/+9
|
* core: vm: Add `MPKReady` to governance (#97)Jimmy Hu2019-06-121-0/+40
| | | | | | * core/vm: Add DKGMPKReady * param: update GenesisHash * vendor: sync to latest core
* core, dex, downloader: refactor governanceSonic2019-06-121-102/+10
|
* dex: implement downloader for dexSonic2019-06-121-2/+2
| | | | | | | | | | | We need governance state to verify block's signature (randomness), but in ethereum fast sync mode, eth downloader only downloads the whole state of pivot block, so we don't have governance state to verify the downloaded block that is before pivot block if we don't processing transaction. To avoid running transactions, dex downloader also downloads the governance state (merkle proof and storage) at snapshot height of each round, so that we can verify blocks in fast sync mode.
* governance: implement delegate/undelegate function and add tests (#33)Wei-Ning Huang2019-06-121-3/+3
| | | | | Implement delegate/undelegate function to allow others to delegate it's fund to stake on a node. Also added governance contract tests.
* core: more fix on light node synchronization (#32)Wei-Ning Huang2019-06-121-6/+5
| | | | | | Fix gas calculation in governance contract. Correctly register round height when processing pending blocks. We should register the mapping when we get the pending block instead of waiting for block confirmation.
* core: validate DKG set with correct nodeset in round-2 (#19)Wei-Ning Huang2019-06-121-4/+2
| | | | | * vendor: sync consensus core * core: validate DKG set with correct nodeset in round-2
* dex: fix conflict caused by rebaseWei-Ning Huang2019-06-121-4/+3
|
* dex: increase governance tx gas priceWei-Ning Huang2019-06-121-0/+4
|
* core: validate roundHeight mapping in governance contractWei-Ning Huang2019-06-121-0/+7
|
* core: vm: governance: remove maxIntervalWei-Ning Huang2019-06-121-1/+0
|
* Rename import due to dexon-consensus renameWei-Ning Huang2019-06-121-6/+6
|
* dex: add block gas limit into governanceWei-Ning Huang2019-06-121-6/+0
|
* vendor: sync consensus core and fix conflictWei-Ning Huang2019-06-121-9/+10
|
* dex: fix DKG round switchingWei-Ning Huang2019-06-121-3/+3
|
* dex: misc fixesWei-Ning Huang2019-06-121-8/+15
|
* dex: use RLP to encode contract payload dataWei-Ning Huang2019-06-121-6/+6
|
* dex: fix DKGMasterPublicKey and DKGComplaints unmarshalWei-Ning Huang2019-06-121-3/+2
|
* consensus: dexcon: fetch config from stateWei-Ning Huang2019-06-121-1/+7
|
* dex: fix public key parsing due to changes in consensus coreWei-Ning Huang2019-06-121-12/+8
|
* core/dex: fix governance contract implementationWei-Ning Huang2019-06-121-8/+8
|
* dex/core: misc bug fixesWei-Ning Huang2019-06-121-0/+4
|
* dex: implement peerSetLoopSonic2019-06-121-0/+5
|
* dex: gov: using dex-consensus-core NodeSetCacheSonic2019-06-121-49/+34
|
* dex: add method to get NumChains, NotarySet, DKGSet easilySonic2019-06-121-12/+56
|
* dex: network: implement the network interfaceSonic2019-06-121-0/+20
|
* dex: bug fix to allow running geth without crashingWei-Ning Huang2019-06-121-41/+41
|
* dex: implement sendTx related governance methodsWei-Ning Huang2019-06-121-5/+127
|
* dex: pass p2p nodeKey to Dexon instanceWei-Ning Huang2019-06-121-5/+12
|
* dex: implement some governance interface functionsWei-Ning Huang2019-06-121-19/+95
|
* dex: governance: implement governance interfaceWei-Ning Huang2019-06-121-2/+13
|
* core: vm: refactor and add DKGFinalizeds related implementationsWei-Ning Huang2019-06-121-2/+11
|
* core: vm: implement the rest of governance contract methodsWei-Ning Huang2019-06-121-1/+1
|
* core: vm: add governance contract skeletonWei-Ning Huang2019-06-121-7/+7
|
* dex: update consensus core interfaceWei-Ning Huang2019-06-121-7/+17
|
* Use dex.Config instead of eth.ConfigWei-Ning Huang2019-06-121-1/+2
|
* dex: make geth buildable and update interface skeletonWei-Ning Huang2019-06-121-2/+12
|
* Add udpated governance interface and app interfaceWei-Ning Huang2019-06-121-0/+32