Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | core: vm: implement transferNodeOwnershipByFoundation (#399) | Wei-Ning Huang | 2019-04-26 | 1 | -0/+41 |
| | |||||
* | core: vm: add sanity check for updateConfiguration (#383) | Wei-Ning Huang | 2019-04-22 | 1 | -0/+12 |
| | |||||
* | core: vm: fix node offset during transfer (#377) | Wei-Ning Huang | 2019-04-19 | 1 | -2/+2 |
| | |||||
* | core: vm: add withdrawable (#373) | Jimmy Hu | 2019-04-18 | 1 | -15/+33 |
| | |||||
* | core: vm: refine panic flow (#372) | Wei-Ning Huang | 2019-04-17 | 1 | -15/+7 |
| | | | | Move panic call to immediate location of the error to prevent accidententaly panic on other conditions. | ||||
* | core: vm: clearDKG in resetDKG (#368) | Jimmy Hu | 2019-04-16 | 1 | -0/+8 |
| | |||||
* | core: vm: fix emitReported (#367) | Wei-Ning Huang | 2019-04-16 | 1 | -6/+15 |
| | |||||
* | core: vm: prevent setting owner to blackhole (#366) | Jimmy Hu | 2019-04-16 | 1 | -0/+6 |
| | | | | | | * core: vm: prevent setting owner to blackhole * core: vm: same for transferNodeOwner | ||||
* | core: implement DKG success (#362) | Jimmy Hu | 2019-04-15 | 1 | -31/+144 |
| | | | | | | | | * vendor: sync to latest core * core: implmenet dkg success * cmd: govtool: add DKGSuccess | ||||
* | core: vm: improve MPK reverse lookup performance | Wei-Ning Huang | 2019-04-10 | 1 | -61/+69 |
| | | | | | By storing array offset in the original DKGMasterPublicKeyProposed map, we can locate MPK by proposer ID easily. | ||||
* | core: vm: cache GPK to prevent DoS (#335) | Wei-Ning Huang | 2019-04-09 | 1 | -1/+18 |
| | | | | Cache GPK so one can not slow the chain down with the ProposeCRS method call. | ||||
* | core: add cache for DKG MPK and complaint (#334) | Wei-Ning Huang | 2019-04-09 | 1 | -20/+21 |
| | | | | | Since deserializing DKG related items are extremely slow (takes about 3 seconds for 100 items), we cache it in the governance interface. | ||||
* | core: vm: fineFailStopDKG if MPK not registered (#329) | Jimmy Hu | 2019-04-09 | 1 | -12/+28 |
| | | | | | * core: vm: fineFailStopDKG if MPK not registered * prevent on-chain randomness | ||||
* | core: vm: fix fineFailStopDKG (#328) | Jimmy Hu | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | core: vm: implement node public key replacement (#324) | Wei-Ning Huang | 2019-04-09 | 1 | -0/+41 |
| | |||||
* | core: vm: clear DKG the right way (#319) | Jimmy Hu | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | core/vm: resetDKG if ttoo less qualified (#318) | Jimmy Hu | 2019-04-09 | 1 | -1/+9 |
| | |||||
* | core: vm: make fail stop fine value configurable (#312) | Wei-Ning Huang | 2019-04-09 | 1 | -38/+78 |
| | | | | A node is now quailified only if it has no pending fine and staked >= minstake. | ||||
* | dex: rebuild connection if dkg reset, core/vm: fix gov (#308) | Jimmy Hu | 2019-04-09 | 1 | -0/+12 |
| | | | | | * dex: rebuild connection if dkg reset * core: vm: fix governance contract | ||||
* | core: vm: update set size on node info change (#307) | Wei-Ning Huang | 2019-04-09 | 1 | -8/+4 |
| | | | | | | * core: vm: update set size on node info change * fix typo | ||||
* | core: merge notarySet and DKGSet (#265) | Jimmy Hu | 2019-04-09 | 1 | -50/+19 |
| | | | | | | | | * vendor: sync to latest core * core: merge notarySet and dkgSet * dex: optimize network traffic for finalized block | ||||
* | core: vm: fix DKG reset (#296) | Wei-Ning Huang | 2019-04-09 | 1 | -20/+25 |
| | |||||
* | core/vm: remove round from addDKG functions (#279) | Jimmy Hu | 2019-04-09 | 1 | -57/+45 |
| | | | | | | | | * vendor: sync to latest core * core/vm: remove addDKG functions * core: fix conflict | ||||
* | core: vm: deny duplicate public key from registering (#289) | Wei-Ning Huang | 2019-04-09 | 1 | -1/+13 |
| | |||||
* | core: vm: pay fine to governance owner and trigger set size recalculation (#288) | Wei-Ning Huang | 2019-04-09 | 1 | -1/+5 |
| | |||||
* | consensus: dexcon: disqualify dead node (#280) | Wei-Ning Huang | 2019-04-09 | 1 | -1/+48 |
| | | | | | | | | | | 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: emit event when transfering owner (#277) | Wei-Ning Huang | 2019-04-09 | 1 | -0/+17 |
| | |||||
* | core: vm: automatically calculate notary set size (#276) | Wei-Ning Huang | 2019-04-09 | 1 | -4/+61 |
| | |||||
* | core: vm: add extra checks to prevent DKG spamming (#272) | Wei-Ning Huang | 2019-04-09 | 1 | -56/+120 |
| | | | | Add two maps to check the uniqueness of DKGMasterPublicKey and DKGComplaints to prevent malicious actors from spamming it. | ||||
* | core: vm: fix naming consistency | Wei-Ning Huang | 2019-04-09 | 1 | -9/+9 |
| | |||||
* | core: check reset of dkg types when adding (#268) | Jimmy Hu | 2019-04-09 | 1 | -0/+16 |
| | | | | | | * vendor: sync to latest core * core: check dkg reset | ||||
* | core: vm: reorder minGasPriceLoc | Wei-Ning Huang | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | dex: implement recovery mechanism (#258) | Wei-Ning Huang | 2019-04-09 | 1 | -4/+4 |
| | | | | | | | | | * 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: group min gas price with related state variables (#257) | Wei-Ning Huang | 2019-04-09 | 1 | -10/+10 |
| | |||||
* | core: vm: implement transfer node ownership (#255) | Wei-Ning Huang | 2019-04-09 | 1 | -8/+35 |
| | |||||
* | core/vm: use core util to get threshold of tsig (#250) | Jimmy Hu | 2019-04-09 | 1 | -3/+4 |
| | |||||
* | vendor: sync to latest core and fix conflict | Jimmy Hu | 2019-04-09 | 1 | -2/+2 |
| | |||||
* | core: vm: remove delegation mechanism (#245) | Wei-Ning Huang | 2019-04-09 | 1 | -415/+158 |
| | | | | | | | | | | | | | The current delegation mechanism are prone to unstaking attack. i.e. a malicious attacker could unstake a small amount from a lot of node it staked before and make them unqualified, which leads to potential failure of the network. Since DEXON does not use consensus like DPoS, node is required to have at least MinStake in order to become a node. Voting mechanism is not required in our system since qualified node does not depends on the number of votes. Instead of managing the delegation mechanism in governance contract, we should let the owner manage the delegation and reward distribution mechanism on their own. | ||||
* | core: vm: expose CRSRound and DKGRound and fix consistency (#236) | Wei-Ning Huang | 2019-04-09 | 1 | -40/+51 |
| | |||||
* | core: fix dkg | Jimmy Hu | 2019-04-09 | 1 | -12/+47 |
| | |||||
* | dex: fill in correct coinbase address (#223) | Wei-Ning Huang | 2019-04-09 | 1 | -0/+9 |
| | | | Also remove app_test.go because of the refactor bojie@ is working on. | ||||
* | core: vm: validate addDKGMasterPublicKey caller properly (#220) | Wei-Ning Huang | 2019-04-09 | 1 | -37/+36 |
| | | | | | | There are two keys in the system: one is the owner's key which is used for stake / unstake. The other is the node key which is used for DKG related operations. We need to allow them to be different so fund renmains safe even if the the node key is lost. | ||||
* | core: vm: flatten governance | Wei-Ning Huang | 2019-04-09 | 1 | -305/+298 |
| | |||||
* | core: sync to latest core (#214) | Jimmy Hu | 2019-04-09 | 1 | -0/+10 |
| | | | | | * vendor: sync to latest core * fix for single chain | ||||
* | core: Fixed gas price (#205) | Jimmy Hu | 2019-04-09 | 1 | -0/+16 |
| | | | | | | | | | | * core/vm: update abi * core/vm: add MinGasPrice to gov * params: Add MinGasPrice to Config * dex: SuggestPrice from Governance * test: add minGasPrice to genesis.json * core: check underpriced tx * dex: verify with gas price | ||||
* | core: Remove K, Phi and NumChains from Governance (#198) | Jimmy Hu | 2019-04-09 | 1 | -59/+11 |
| | | | | | | * change default sync_core.sh * vendor: sync to latest core * core: Remove K, Phi and NumChain | ||||
* | core/vm: fix getConfigState (#203) | Jimmy Hu | 2019-04-09 | 1 | -4/+3 |
| | |||||
* | vm: reset DKG (#190) | Jimmy Hu | 2019-04-09 | 1 | -48/+294 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vm: Update gov abi * vm: Add DKGResetCount to state helper * vm: add getter * vm: Add DKGReset event * vm: Add resetDKG method * vm: check resetDKG criteria * vm: Add new CRS * vm: add helper pop2DByteArray * vm: emit event * vm: Add CoreMock to GovernanceContract * vm: bug fix * add test for resetDKG * vm: Add test * fix test * Modify mock interface | ||||
* | core/vm: modify Withdrawn event and add NodeRemoved event (#179) | Jimmy Hu | 2019-04-09 | 1 | -4/+14 |
| | | | | | | * core/vm: add delegatorAddr to withdrawn event * core/vm: update gov abi * core/vm: add NodeRemoved event | ||||
* | core: vm: refactor governance and add node info oracle (#174) | Wei-Ning Huang | 2019-04-09 | 1 | -0/+2316 |