Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ci: build release/x.x branch (#401) | Jimmy Hu | 2019-09-17 | 1 | -0/+1 |
| | |||||
* | zoo: refacter and save keys (#403) | Jimmy Hu | 2019-09-17 | 6 | -180/+380 |
| | |||||
* | core: vm: implement transferNodeOwnershipByFoundation (#399) | Wei-Ning Huang | 2019-06-15 | 3 | -0/+93 |
| | |||||
* | ci: use new cert file to run ci in travis.org (#398) | bojie | 2019-06-15 | 3 | -1/+1 |
| | |||||
* | vendor: sync to latest core (#394) | Jimmy Hu | 2019-06-15 | 3 | -27/+30 |
| | |||||
* | core, rawdb, dex: improve gov state for syncing (#393) | Sonic | 2019-06-15 | 5 | -3/+108 |
| | | | | * core, rawdb, dex: improve gov state for syncing | ||||
* | vendor: sync to latest core (#392) | Jimmy Hu | 2019-06-15 | 2 | -23/+23 |
| | |||||
* | core: update mainnet genesis alloc | Wei-Ning Huang | 2019-06-15 | 2 | -2/+2 |
| | |||||
* | test: run smoke test on ganache (#388) | Sonic | 2019-06-15 | 3 | -7/+44 |
| | | | | | | | | | | | | * test: run smoke test on ganache * Update build/setup_recovery_env.sh Co-Authored-By: Jsying <sonic@dexon.org> * Update build/setup_recovery_env.sh Co-Authored-By: Jsying <sonic@dexon.org> | ||||
* | core: update mainnet genesis alloc (#389) | Wei-Ning Huang | 2019-06-15 | 2 | -2/+2 |
| | |||||
* | vendor: sync to latest core (#386) | Jimmy Hu | 2019-06-15 | 2 | -22/+23 |
| | |||||
* | core: update mainnet genesis alloc (#384) | Wei-Ning Huang | 2019-06-15 | 2 | -2/+2 |
| | |||||
* | core: vm: add sanity check for updateConfiguration (#383) | Wei-Ning Huang | 2019-06-15 | 1 | -0/+12 |
| | |||||
* | core: optimize verify header (#381) | Jimmy Hu | 2019-06-15 | 1 | -11/+76 |
| | |||||
* | core: only verify the last tsig of header chain (#380) | Jimmy Hu | 2019-06-15 | 1 | -6/+13 |
| | |||||
* | vendor: sync to latest core | Jimmy Hu | 2019-06-15 | 4 | -75/+73 |
| | |||||
* | core: vm: fix node offset during transfer (#377) | Wei-Ning Huang | 2019-06-15 | 2 | -13/+9 |
| | |||||
* | dex/downloader: fix find common ancestor (#376) | Sonic | 2019-06-15 | 1 | -2/+2 |
| | |||||
* | core: mainnet genesis allocation (#375) | Wei-Ning Huang | 2019-06-15 | 2 | -2/+2 |
| | |||||
* | crypto: use go-ethereum secp256k1 package to avoid symbol conflict (#374) | Wei-Ning Huang | 2019-06-15 | 100 | -265/+793 |
| | |||||
* | core: vm: add withdrawable (#373) | Jimmy Hu | 2019-06-15 | 3 | -15/+66 |
| | |||||
* | ci: fix wrong bucket name (#371) | bojie | 2019-06-15 | 3 | -6/+6 |
| | |||||
* | core: vm: refine panic flow (#372) | Wei-Ning Huang | 2019-06-15 | 1 | -15/+7 |
| | | | | Move panic call to immediate location of the error to prevent accidententaly panic on other conditions. | ||||
* | params: update mainnet owner address and recovery contract (#370) | Wei-Ning Huang | 2019-06-15 | 1 | -24/+24 |
| | |||||
* | core: update mainnet genesis allocation data and config (#369) | Wei-Ning Huang | 2019-06-15 | 3 | -4/+4 |
| | |||||
* | core: vm: clearDKG in resetDKG (#368) | Jimmy Hu | 2019-06-15 | 1 | -0/+8 |
| | |||||
* | params: update taipei bootnode | Jimmy Hu | 2019-06-15 | 1 | -1/+1 |
| | |||||
* | core: vm: fix emitReported (#367) | Wei-Ning Huang | 2019-06-15 | 1 | -6/+15 |
| | |||||
* | core: vm: prevent setting owner to blackhole (#366) | Jimmy Hu | 2019-06-15 | 2 | -1/+19 |
| | | | | | | * core: vm: prevent setting owner to blackhole * core: vm: same for transferNodeOwner | ||||
* | ci: use prod certification (#365) | bojie | 2019-06-15 | 3 | -6/+6 |
| | |||||
* | vendor: sync to latest core | Jimmy Hu | 2019-06-15 | 4 | -51/+84 |
| | |||||
* | dex: add pullblock rate limit (#363) | Jimmy Hu | 2019-06-15 | 1 | -8/+20 |
| | |||||
* | core: implement DKG success (#362) | Jimmy Hu | 2019-06-15 | 19 | -72/+391 |
| | | | | | | | | * vendor: sync to latest core * core: implmenet dkg success * cmd: govtool: add DKGSuccess | ||||
* | build: reduce waittime for recovery test to 300s | Jimmy Hu | 2019-06-15 | 1 | -1/+1 |
| | |||||
* | vendor: sync to latest core | Jimmy Hu | 2019-06-15 | 2 | -21/+31 |
| | |||||
* | cmd: add govtool for decoding governance input (#361) | Wei-Ning Huang | 2019-06-15 | 1 | -0/+145 |
| | |||||
* | build: disable static built by default (#359) | Wei-Ning Huang | 2019-06-15 | 5 | -156/+35 |
| | |||||
* | dex: implement bad peer detect and disconnect mechanism (#360) | Wei-Ning Huang | 2019-06-15 | 16 | -129/+279 |
| | |||||
* | dex: update recovery contract ABI (#357) | Wei-Ning Huang | 2019-06-15 | 1 | -54/+0 |
| | |||||
* | vendor: use BLS-12_384 curve and update dependencies (#356) | Wei-Ning Huang | 2019-06-15 | 171 | -1268/+24751 |
| | |||||
* | misc: use master branch for dexon-consensus | Jimmy Hu | 2019-06-15 | 1 | -1/+1 |
| | |||||
* | core: add reset to dkg private key db (#355) | Jimmy Hu | 2019-06-15 | 7 | -78/+92 |
| | | | | | * vendor: sync to latest core * core: dkg private key db | ||||
* | consensus: dexcon: set correct tx fee receiver | Wei-Ning Huang | 2019-06-15 | 1 | -1/+1 |
| | |||||
* | core: vm: improve MPK reverse lookup performance | Wei-Ning Huang | 2019-06-15 | 3 | -82/+92 |
| | | | | | By storing array offset in the original DKGMasterPublicKeyProposed map, we can locate MPK by proposer ID easily. | ||||
* | Update README.md (#351) | Wei-Ning Huang | 2019-06-15 | 1 | -8/+6 |
| | |||||
* | vendor: sync to latest core | Jimmy Hu | 2019-06-15 | 2 | -41/+63 |
| | |||||
* | dex: remove time alignment when force sync (#349) | Jimmy Hu | 2019-06-15 | 4 | -41/+39 |
| | | | | | | * vendor: sync to latest core * dex: remove time alignment when force sync | ||||
* | dex: reduce agreement result (#348) | Jimmy Hu | 2019-06-15 | 1 | -0/+1 |
| | |||||
* | vendor: sync to latest core | Jimmy Hu | 2019-06-15 | 2 | -26/+38 |
| | |||||
* | travis-ci: disable GCP build upload | Wei-Ning Huang | 2019-06-15 | 1 | -21/+21 |
| | |||||
* | vendor: sync to latest core | Jimmy Hu | 2019-06-15 | 6 | -33/+58 |
| | |||||
* | travis, appveyor, Dockerfile: upgrade to Go 1.12 | Samuel Marks | 2019-06-15 | 8 | -45/+28 |
| | | | | Include serveral DEXON specific fixes. | ||||
* | vendor: sync to latest core | Jimmy Hu | 2019-06-15 | 5 | -28/+43 |
| | |||||
* | dex: remove RandomnessMsg (#342) | Sonic | 2019-06-15 | 1 | -5/+4 |
| | |||||
* | params: update testnet dmoment (#340) | Wei-Ning Huang | 2019-06-15 | 1 | -2/+2 |
| | |||||
* | core: fix genesis timestamp (#338) | Jimmy Hu | 2019-06-15 | 3 | -9/+9 |
| | |||||
* | vendor: sync to latest core | Jimmy Hu | 2019-06-15 | 3 | -32/+44 |
| | |||||
* | core: update mainnet and testnet config and genesis alloc (#337) | Wei-Ning Huang | 2019-06-15 | 4 | -22/+26 |
| | |||||
* | cmd: monkey: use suggested gas price | Wei-Ning Huang | 2019-06-15 | 1 | -2/+7 |
| | |||||
* | vendor: sync to latest core | Wei-Ning Huang | 2019-06-15 | 5 | -46/+76 |
| | |||||
* | build: add end to end integration test for recovery mechanism (#336) | Sonic | 2019-06-15 | 4 | -3/+104 |
| | |||||
* | core: vm: cache GPK to prevent DoS (#335) | Wei-Ning Huang | 2019-06-15 | 2 | -17/+34 |
| | | | | 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-06-15 | 2 | -36/+90 |
| | | | | | Since deserializing DKG related items are extremely slow (takes about 3 seconds for 100 items), we cache it in the governance interface. | ||||
* | vendor: sync to latest core | Wei-Ning Huang | 2019-06-15 | 4 | -31/+79 |
| | |||||
* | dex: remove node table (#330) | Sonic | 2019-06-15 | 9 | -549/+35 |
| | | | | | | * dex: remove node table Node table is not so useful, go back to rely on kademlia * p2p: fix direct dial still have resolve delay | ||||
* | core: vm: fineFailStopDKG if MPK not registered (#329) | Jimmy Hu | 2019-06-15 | 2 | -12/+29 |
| | | | | | * core: vm: fineFailStopDKG if MPK not registered * prevent on-chain randomness | ||||
* | dex: get synced consensus before sleep (#331) | Jimmy Hu | 2019-06-15 | 1 | -3/+5 |
| | |||||
* | dex: try to reduce the chance to pull non-finalized blocks (#327) | Mission Liao | 2019-06-15 | 5 | -57/+156 |
| | | | | | | | | | | | | | | | | * Send non-finalized blocks to notary set only * Update randomness field for blocks in cache upon receiving agreement result * Filter AgreementResult by its position * Avoid overwriting finalized blocks with non-finalized ones * Add blocks to finalized cache when pulling * Update to finalized cache when we have corresponding element in non-finalized one. | ||||
* | core: vm: fix fineFailStopDKG (#328) | Jimmy Hu | 2019-06-15 | 1 | -1/+1 |
| | |||||
* | vendor: sync to latest core | Jimmy Hu | 2019-06-15 | 12 | -212/+267 |
| | |||||
* | p2p, p2p/discover: more aggressive dial strategy for direct dial (#326) | Sonic | 2019-06-15 | 3 | -12/+26 |
| | | | | | * p2p/discover: bump failure counter only if no nodes were provided * p2p: more aggressive dial strategy for direct dial | ||||
* | dexcon: correctly fine DKGSet for not producing blocks (#325) | Wei-Ning Huang | 2019-06-15 | 7 | -68/+80 |
| | |||||
* | core: vm: implement node public key replacement (#324) | Wei-Ning Huang | 2019-06-15 | 3 | -1/+102 |
| | |||||
* | vendor: sync to latest core (#320) | Jimmy Hu | 2019-06-15 | 25 | -393/+275 |
| | | | | | | | | * vendor: sync to latest core * dex, core: fix conflict x | ||||
* | core: vm: clear DKG the right way (#319) | Jimmy Hu | 2019-06-15 | 1 | -1/+1 |
| | |||||
* | core/vm: resetDKG if ttoo less qualified (#318) | Jimmy Hu | 2019-06-15 | 1 | -1/+9 |
| | |||||
* | dex: fix a panic (#317) | Jimmy Hu | 2019-06-15 | 1 | -1/+1 |
| | |||||
* | params: update bootnode (#316) | Wei-Ning Huang | 2019-06-15 | 1 | -3/+5 |
| | |||||
* | Dockerfile: include bootnode in image | Wei-Ning Huang | 2019-06-15 | 1 | -1/+2 |
| | |||||
* | vendor: sync to latest core | Jimmy Hu | 2019-06-15 | 5 | -81/+121 |
| | |||||
* | core: fix forget connection in resetDKG (#314) | Jimmy Hu | 2019-06-15 | 2 | -1/+12 |
| | |||||
* | core: vm: make fail stop fine value configurable (#312) | Wei-Ning Huang | 2019-06-15 | 5 | -74/+121 |
| | | | | A node is now quailified only if it has no pending fine and staked >= minstake. | ||||
* | dex: fix initial build connection bug (#311) | Jimmy Hu | 2019-06-15 | 2 | -4/+7 |
| | |||||
* | vendor: sync to latest core | Jimmy Hu | 2019-06-15 | 6 | -34/+62 |
| | |||||
* | dex: rebuild connection if dkg reset, core/vm: fix gov (#308) | Jimmy Hu | 2019-06-15 | 5 | -2/+37 |
| | | | | | * 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-06-15 | 1 | -8/+4 |
| | | | | | | * core: vm: update set size on node info change * fix typo | ||||
* | core: merge notarySet and DKGSet (#265) | Jimmy Hu | 2019-06-15 | 32 | -1032/+1064 |
| | | | | | | | | * vendor: sync to latest core * core: merge notarySet and dkgSet * dex: optimize network traffic for finalized block | ||||
* | backport from v1.8.23 (#304) | Sonic | 2019-06-13 | 13 | -88/+435 |
| | | | | | | | | | | | | | | | | | | * dex: backport f6193ad * dex/downloader: backport accc0fa accc0fab 174083c3 * dex: backport 434dd5b * dex: backport 42a914a 0983d02 * dex: backport 48b70ec 31b3334 and some modification * dex/downloader: backport 5f251a6 * dex/downloader: backport 81c3dc7 * dex, dex/downloader: fix typos | ||||
* | dex: do not propose skip block if not in notary set (#303) | Wei-Ning Huang | 2019-06-13 | 1 | -0/+10 |
| | |||||
* | dex: fix missing trie node when fast syncing (#301) | Sonic | 2019-06-13 | 2 | -2/+4 |
| | | | | | | * dex: don't panic when we don't have gov state peer requested * dex: use correct head block Since we are fast syncing, we probably don't have body, receipt, state | ||||
* | core: fix finalize logic (#302) | Jimmy Hu | 2019-06-13 | 2 | -6/+4 |
| | |||||
* | core: set extended round block reward to zero (#298) | Wei-Ning Huang | 2019-06-13 | 5 | -20/+102 |
| | | | | | To discourage DKG set from prolonging the round indefinitely, we set the block reward of the extended round to 0. The gas fee is send to the DEXON governance owner for safe keeping and later used by the foundation. | ||||
* | vendor: sync to latest core (#300) | Jimmy Hu | 2019-06-13 | 11 | -237/+222 |
| | |||||
* | dex: fix deadlock (#299) | Sonic | 2019-06-13 | 1 | -1/+1 |
| | |||||
* | core: vm: fix DKG reset (#296) | Wei-Ning Huang | 2019-06-13 | 3 | -24/+27 |
| | |||||
* | vendor: sync to latest core (#295) | Wei-Ning Huang | 2019-06-13 | 5 | -118/+175 |
| | |||||
* | Revert "p2p/discover: increase IP address limits (#60)" | Wei-Ning Huang | 2019-06-13 | 1 | -3/+2 |
| | | | | This reverts commit 3ca44e556bd9561b0c6c64c7d3a4f95726c78be8. | ||||
* | dex: skip duplicate vote to reduce gas used (#293) | Wei-Ning Huang | 2019-06-13 | 1 | -27/+45 |
| | |||||
* | dex: fix fast sync in BP mode (#291) | Wei-Ning Huang | 2019-06-13 | 4 | -44/+78 |
| | | | | Start blockproposer only after fast sync is completed (received ChainHead event), so watchcat is not falsely triggered. | ||||
* | dex: reduce msg when broadcast tx (#292) | Sonic | 2019-06-13 | 2 | -19/+51 |
| | | | | | | | | | | Our network topology is different from ethereum, the nodes in notary set will connect each other directly. So there is a waste for flooding tx msgs in notary set. And nodes in notary set are more likely to propose block successfully, it is not useful to broadcast tx msgs to non notary set nodes. This PR will increase some tx confirm latency, but can reduce waste tx msgs a lot. | ||||
* | core/vm: remove round from addDKG functions (#279) | Jimmy Hu | 2019-06-13 | 23 | -365/+1038 |
| | | | | | | | | * 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-06-13 | 2 | -1/+20 |
| | |||||
* | core: vm: pay fine to governance owner and trigger set size recalculation (#288) | Wei-Ning Huang | 2019-06-13 | 1 | -1/+5 |
| | |||||
* | indexer: support fast-sync (#287) | Chung-Yu Liu | 2019-06-13 | 1 | -0/+2 |
| | |||||
* | dex: recieve bp msg when recovery, use atomic to protect the flag (#286) | Sonic | 2019-06-13 | 2 | -17/+19 |
| | |||||
* | dex: ignore acceptableDist when force synchronise (#285) | Sonic | 2019-06-13 | 3 | -5/+23 |
| | |||||
* | consensus: dexcon: disqualify dead node (#280) | Wei-Ning Huang | 2019-06-13 | 11 | -152/+294 |
| | | | | | | | | | | 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: check coinbase for empty block (#282) | Jimmy Hu | 2019-06-13 | 1 | -6/+13 |
| | |||||
* | dex: fix start bp node with empty datadir (#278) | Sonic | 2019-06-13 | 2 | -22/+31 |
| | | | also modify some debug log | ||||
* | core: vm: emit event when transfering owner (#277) | Wei-Ning Huang | 2019-06-13 | 3 | -0/+48 |
| | |||||
* | core: fix headerchain coinbase validation | Wei-Ning Huang | 2019-06-13 | 1 | -2/+7 |
| | | | | Coinbase address is the owner address of the node. | ||||
* | dex: add block confirme latency (#275) | Jimmy Hu | 2019-06-13 | 2 | -0/+3 |
| | |||||
* | core: vm: automatically calculate notary set size (#276) | Wei-Ning Huang | 2019-06-13 | 7 | -44/+125 |
| | |||||
* | dex: do not start watchcat when blockchain is empty (#273) | Wei-Ning Huang | 2019-06-12 | 1 | -4/+8 |
| | |||||
* | core: vm: add extra checks to prevent DKG spamming (#272) | Wei-Ning Huang | 2019-06-12 | 6 | -67/+187 |
| | | | | 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-06-12 | 2 | -11/+11 |
| | |||||
* | app: validate gas price while preparing block (#274) | bojie | 2019-06-12 | 2 | -34/+126 |
| | | | | Skip tx which is under price and add test case. Use the key which has balance in test case to run test more correctly. | ||||
* | dex: align recovery dMoment when resuming consensus (#271) | Wei-Ning Huang | 2019-06-12 | 1 | -1/+16 |
| | | | | | | In theory BA should tolerant inconsistant start time between every node. Since the vote cache is limited, we can not keep all the votes and pass them around all nodes. To fix this, we align the next recovery dmoment so nodes start at the same time. | ||||
* | cmd: fix default recovery network RPC URL | Wei-Ning Huang | 2019-06-12 | 1 | -4/+5 |
| | |||||
* | p2p, dex: add debug log (#269) | Sonic | 2019-06-12 | 5 | -18/+68 |
| | |||||
* | core: check reset of dkg types when adding (#268) | Jimmy Hu | 2019-06-12 | 8 | -54/+195 |
| | | | | | | * vendor: sync to latest core * core: check dkg reset | ||||
* | dex: properly shutdown protocol stack (#267) | Wei-Ning Huang | 2019-06-12 | 3 | -6/+12 |
| | |||||
* | dex: properly start and stop the block proposer module (#264) | Wei-Ning Huang | 2019-06-12 | 4 | -19/+11 |
| | | | | Stop blockproposer in the Stop() method of node service so the process doens't hang. | ||||
* | core: vm: reorder minGasPriceLoc | Wei-Ning Huang | 2019-06-12 | 2 | -5/+5 |
| | |||||
* | core: fill in genesis timstamp and remove dMoment from protocol handshake (#263) | Wei-Ning Huang | 2019-06-12 | 10 | -35/+33 |
| | | | | | | Fill in dmoment as genesis block timestamp. This allow us to remove dMoment check from protocol handshake since genesis block hash itself will protect us against different dMoment. | ||||
* | dex: implement recovery mechanism (#258) | Wei-Ning Huang | 2019-06-12 | 32 | -435/+2435 |
| | | | | | | | | | * dex: implement recovery mechanism The DEXON recovery protocol allows us to use the Ethereum blockchain as a fallback consensus chain to coordinate recovery. * fix | ||||
* | app: remove log handler in test (#261) | bojie | 2019-06-12 | 1 | -3/+0 |
| | |||||
* | dex: add meter for agreement result (#260) | Wei-Ning Huang | 2019-06-12 | 1 | -12/+14 |
| | |||||
* | dex: rename lattice to core | Wei-Ning Huang | 2019-06-12 | 7 | -43/+43 |
| | |||||
* | app: set delivered height correctly (#259) | bojie | 2019-06-12 | 1 | -0/+1 |
| | |||||
* | core: vm: group min gas price with related state variables (#257) | Wei-Ning Huang | 2019-06-12 | 4 | -24/+24 |
| | |||||
* | dex: priority for ba vote (#256) | Jimmy Hu | 2019-06-12 | 1 | -0/+17 |
| | | | | | | | | * dex: priority select on vote * More aggressive priority for vote * collect all queuedVotes | ||||
* | core: vm: implement transfer node ownership (#255) | Wei-Ning Huang | 2019-06-12 | 4 | -10/+85 |
| | |||||
* | p2p: report peer counts to datadog (#254) | Cliff Lin | 2019-06-12 | 2 | -0/+4 |
| | |||||
* | core: vm: create new oracle contract instance in each call (#251) | Wei-Ning Huang | 2019-06-12 | 3 | -6/+16 |
| | | | | | Since the VM might be called from different source (downloader, RPC, etc.). We need to make the call state separate. Modify the calling sequence so a new oracle contract instance is used on each run. | ||||
* | vendor: sync to latest core (#253) | Jimmy Hu | 2019-06-12 | 16 | -138/+742 |
| | |||||
* | core/vm: use core util to get threshold of tsig (#250) | Jimmy Hu | 2019-06-12 | 1 | -3/+4 |
| | |||||
* | params: update testnet config to 40 nodes | Jimmy Hu | 2019-06-12 | 2 | -8/+8 |
| | |||||
* | vendor: sync to latest core and fix conflict | Jimmy Hu | 2019-06-12 | 11 | -211/+276 |
| | |||||
* | params: update taipei bootnode IP | Wei-Ning Huang | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | p2p/discover: fix peer discovery (#248) | Wei-Ning Huang | 2019-06-12 | 1 | -0/+2 |
| | | | | | | | | | | The refactor in 4cd90e02e23ecf2bb11bcb4bba4fea2ae164ef74 introduced livness checks for nodes. However, the change in 86ec742f975d825f42dd69ebf17b0adaa66542c0 did not properly set the initial liveness check value for verified node. For verified node we should set livenessCheck to 1 initially. Without this change, the node entry will not be properly send to other nodes and the network would be broken. | ||||
* | core: touch verifierCache at 90% of round (#247) | Jimmy Hu | 2019-06-12 | 1 | -2/+35 |
| | |||||
* | app: new app test flow (#244) | bojie | 2019-06-12 | 9 | -70/+2289 |
| | |||||
* | core: vm: remove delegation mechanism (#245) | Wei-Ning Huang | 2019-06-12 | 8 | -1001/+267 |
| | | | | | | | | | | | | | 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. | ||||
* | dex: fetcher: modify parameters to speedup syncing (#239) | Wei-Ning Huang | 2019-06-12 | 3 | -5/+7 |
| | |||||
* | dex: rename IsLatticeSyncing to IsCoreSyncing (#238) | Wei-Ning Huang | 2019-06-12 | 3 | -5/+5 |
| | |||||
* | core: vm: expose CRSRound and DKGRound and fix consistency (#236) | Wei-Ning Huang | 2019-06-12 | 4 | -63/+121 |
| | |||||
* | vendor: sync to latest core (#237) | Jimmy Hu | 2019-06-12 | 6 | -36/+98 |
| | |||||
* | build: ci: extend legacy-evm test timeout to 10m (#235) | JM | 2019-06-12 | 1 | -1/+1 |
| | | | | Since it costs almost 5min on new tests data, this pr extends the timeout to 10min. | ||||
* | Dockerfile.alltools: update Dockerfile for building tools (#234) | Wei-Ning Huang | 2019-06-12 | 2 | -10/+10 |
| | |||||
* | cmd: nodekey: add command to generate and inspect nodekey (#233) | Wei-Ning Huang | 2019-06-12 | 1 | -0/+93 |
| | |||||
* | dex, dex/downloader: remove some TODO comments (#232) | Sonic | 2019-06-12 | 5 | -13/+1 |
| | |||||
* | misc: update dockerignore | Jimmy Hu | 2019-06-12 | 1 | -1/+2 |
| | |||||
* | app: refactor app run as single chain (#226) | bojie | 2019-06-12 | 4 | -290/+161 |
| | |||||
* | test: update test parameters (#229) | Wei-Ning Huang | 2019-06-12 | 5 | -24/+26 |
| | | | | | | * test: update test parameters * update smoke test parameter | ||||
* | vendor: sync to latest core (#231) | Jimmy Hu | 2019-06-12 | 4 | -27/+52 |
| | |||||
* | core: fix dkg | Jimmy Hu | 2019-06-12 | 1 | -12/+47 |
| | |||||
* | params: Change taipei to 40 nodes (#227) | Jimmy Hu | 2019-06-12 | 2 | -4/+4 |
| | |||||
* | vendor: sync to latest core (#225) | Jimmy Hu | 2019-06-12 | 3 | -73/+33 |
| | |||||
* | dex: fill in correct coinbase address (#223) | Wei-Ning Huang | 2019-06-12 | 3 | -723/+19 |
| | | | Also remove app_test.go because of the refactor bojie@ is working on. | ||||
* | params: Update config (#224) | Jimmy Hu | 2019-06-12 | 2 | -10/+10 |
| | | | | | | * params: Update config * Update taipei to 30 nodes setup | ||||
* | core: vm: validate addDKGMasterPublicKey caller properly (#220) | Wei-Ning Huang | 2019-06-12 | 4 | -63/+62 |
| | | | | | | 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-06-12 | 21 | -631/+679 |
| | |||||
* | core: sync to latest core (#214) | Jimmy Hu | 2019-06-12 | 33 | -759/+555 |
| | | | | | * vendor: sync to latest core * fix for single chain | ||||
* | misc: Update Dockerfile | Jimmy Hu | 2019-06-12 | 1 | -2/+2 |
| | |||||
* | test: build bootnode if not exist | Wei-Ning Huang | 2019-06-12 | 1 | -3/+10 |
| | |||||
* | params: add Yilan network (#207) | Mission Liao | 2019-06-12 | 11 | -5/+96 |
| | | | | | | * Add Yilan network * Fixup: remove dummy log | ||||
* | core: Fixed gas price (#205) | Jimmy Hu | 2019-06-12 | 12 | -13/+161 |
| | | | | | | | | | | * 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: set oracle contract's code (#209) | Sonic | 2019-06-12 | 4 | -4/+9 |
| | | | So that other contract can call oracle contract. | ||||
* | fee: fix wrong gas used (#208) | bojie | 2019-06-12 | 1 | -0/+2 |
| | |||||
* | zoo: reduce monkey value | Jimmy Hu | 2019-06-12 | 1 | -2/+2 |
| | |||||
* | core: Remove K, Phi and NumChains from Governance (#198) | Jimmy Hu | 2019-06-12 | 40 | -4707/+1285 |
| | | | | | | * change default sync_core.sh * vendor: sync to latest core * core: Remove K, Phi and NumChain | ||||
* | copy testnet config to taipei | Jimmy Hu | 2019-06-12 | 2 | -9/+9 |
| | |||||
* | misc: add ignore file | Jimmy Hu | 2019-06-12 | 1 | -0/+1 |
| | |||||
* | core/vm: fix getConfigState (#203) | Jimmy Hu | 2019-06-12 | 1 | -4/+3 |
| | |||||
* | vm: reset DKG (#190) | Jimmy Hu | 2019-06-12 | 4 | -70/+562 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 | ||||
* | dex: some minor improvements (#195) | Sonic | 2019-06-12 | 3 | -144/+117 |
| | | | | | | | | | | * dex: improve some msg propagation * dex: support send a batch of lattice blocks, votes, randomnesses To reduce msgs number of PullBlocks, PullVotes, PullRandomness * dex: minor improvement | ||||
* | dex: Add a flag to GetBlockHeadersMsg and GetBlockBodiesMsg (#188) | Sonic | 2019-06-12 | 7 | -63/+95 |
| | | | | | | | | | * dex: Add a flag to GetBlockHeadersMsg and GetBlockBodiesMsg So that we can dispatch the response msg to fetcher or downloader easily. * fixup! dex: Add a flag to GetBlockHeadersMsg and GetBlockBodiesMsg | ||||
* | travis: Add notification to slack | Jimmy Hu | 2019-06-12 | 1 | -0/+3 |
| | |||||
* | p2p, dex: some fixes (#189) | Sonic | 2019-06-12 | 2 | -1/+4 |
| | | | | | * p2p: try resolving direct dial when dial fail * dex: avoid concurrent map read and map write | ||||
* | p2p, dex: rework connection management (#183) | Sonic | 2019-06-12 | 11 | -1084/+424 |
| | | | | | | * p2p, dex: rework connection management * dex: refresh our node record periodically * dex: don't send new record event if no new record | ||||
* | transaction: use all transaction gas to reduce attack intention (#180) | bojie | 2019-06-12 | 2 | -1/+43 |
| | | | The ci test in /tests will use origin evm logic. | ||||
* | vendor, param: sync to latest core and update dmoment (#182) | Jimmy Hu | 2019-06-12 | 3 | -25/+29 |
| | | | | | | * vendor: sync to latest core * params: update dmoment | ||||
* | app: prepare/verify block limit in correct round (#181) | bojie | 2019-06-12 | 1 | -2/+2 |
| | |||||
* | core/vm: modify Withdrawn event and add NodeRemoved event (#179) | Jimmy Hu | 2019-06-12 | 2 | -4/+31 |
| | | | | | | * core/vm: add delegatorAddr to withdrawn event * core/vm: update gov abi * core/vm: add NodeRemoved event | ||||
* | vendor, param: sync to latest core and update testnet config (#178) | Jimmy Hu | 2019-06-12 | 3 | -24/+25 |
| | | | | | * param: update testnet config * vendor: sync to latest core | ||||
* | params: Update taipei config | Jimmy Hu | 2019-06-12 | 1 | -4/+4 |
| | |||||
* | params: update testnet config (#177) | Jimmy Hu | 2019-06-12 | 5 | -96/+164 |
| | | | | | * vendor:sync to latest core * params: Update config for testnet | ||||
* | core: vm: refactor governance and add node info oracle (#174) | Wei-Ning Huang | 2019-06-12 | 6 | -683/+954 |
| | |||||
* | core: vm: Add amount to undelegate event (#176) | Jimmy Hu | 2019-06-12 | 2 | -4/+9 |
| | |||||
* | core: vm: more change to the randomness calculation (#175) | Wei-Ning Huang | 2019-06-12 | 1 | -5/+5 |
| | | | | To prevent attacker from sending TX through a intermediate contract. Always use the original tx sender's adddress and nonce. | ||||
* | core: vm: modify randomness calculation algorithm (#173) | Wei-Ning Huang | 2019-06-12 | 2 | -3/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | | The original algorithm used for calculating algorithm is vulnerable to cross context re-entry attack. Example as follows: contract B { event Value(uint256 value); uint256 public value; function call() public { value = rand; emit Value(value); } } contract A { function randTwice(address bAddr) public { B b = B(bAddr); b.call.gas(100000)(); b.call.gas(100000)(); } } The two `b.call` will result in the same randomness value. This commit fix the issue by recording a called index used to store how many times opRand is called, and use it as argument to the Keccak call. | ||||
* | consensus: dexcon: snapshot round height when finalizing block (#170) | Wei-Ning Huang | 2019-06-12 | 17 | -279/+332 |
| | | | | Instead of having BP to send a tx to register the round height, just modify the state when finalizing block. | ||||
* | dex: reduce pullVote (#172) | Jimmy Hu | 2019-06-12 | 1 | -2/+3 |
| | |||||
* | ci: move smoke-test to PR test | Wei-Ning Huang | 2019-06-12 | 1 | -17/+17 |
| | |||||
* | ci: Only build on dev and master (#171) | Jimmy Hu | 2019-06-12 | 1 | -0/+4 |
| | |||||
* | dex: Add rate limit for pullVote (#169) | Jimmy Hu | 2019-06-12 | 1 | -7/+21 |
| | |||||
* | core, dex/downloader: polish headers verification and blocks insertion logic ↵ | Sonic | 2019-06-12 | 14 | -625/+1143 |
| | | | | | | | | (#168) Refactor GenerateDexonChain function, move governance tx logic to the user of GenerateDexonChain (testchain_test.go) and move fake node set code to FakeDexcon. | ||||
* | params: Update testnet dmoment | Jimmy Hu | 2019-06-12 | 2 | -2/+2 |
| | |||||
* | params: Update testnet config (#167) | Jimmy Hu | 2019-06-12 | 13 | -79/+122 |
| | | | | | | | | * vendor: sync to latest core * param: update testnet config * params: update dmoment | ||||
* | param: Update testnet dmoment (#166) | Jimmy Hu | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | travis: re-encrypt GCP credential file (#165) | bojie | 2019-06-12 | 3 | -3/+3 |
| | |||||
* | params: update testnet dMoment | Wei-Ning Huang | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | params: update testnet genesis and dMoment | Wei-Ning Huang | 2019-06-12 | 2 | -6/+5 |
| | |||||
* | p2p: report latency and relative latency to datadog (#162) | Wei-Ning Huang | 2019-06-12 | 2 | -3/+14 |
| | |||||
* | travis: add new CI test to test fullnode (#138) | bojie | 2019-06-12 | 10 | -39/+366 |
| | |||||
* | dex: add block number gauge (#140) | haoping-ku | 2019-06-12 | 1 | -18/+25 |
| | |||||
* | core, dex: use block hash as witness data (#160) | Sonic | 2019-06-12 | 7 | -74/+30 |
| | | | | | | | | | | Using only state root and receipt root as witness data can not protect other fields in block header, ex: bloom, difficulty, gas limit, gas used... So that everyone can manipulate these fields to create as many valid blocks at the same height as he want. Although this will not effect the state, one can spam us when syncing. Using block hash as witness data can solve this. | ||||
* | blockchain: add mutex lock to prevent fork (#159) | bojie | 2019-06-12 | 1 | -1/+6 |
| | |||||
* | common: fix big scan from bytes (#157) | johnliu-dexon | 2019-06-12 | 2 | -2/+6 |
| | | | | | | We store string of number, not bytes value into database 10 is stored as 0x3130, not 0x0a Use UnmarshalText instead of SetBytes | ||||
* | core: sync to latest core (#158) | Jimmy Hu | 2019-06-12 | 7 | -47/+63 |
| | | | | | | * vendor: sync to latest core * param: Update config * core: update genesis alloc | ||||
* | params: update testnet dMoment | Wei-Ning Huang | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | Fix the usage of sync.Map (#156) | Mission Liao | 2019-06-12 | 1 | -4/+2 |
| | |||||
* | app: fix reward bug with empty block (#155) | bojie | 2019-06-12 | 2 | -12/+15 |
| | | | | | | | | * app: fix reward bug with empty block * make block generation consistent * revert change to dmoment in genesis.json | ||||
* | vendor: sync to latest core (#154) | Jimmy Hu | 2019-06-12 | 21 | -344/+891 |
| | | | | | | * vendor: sync to latest core with BA3.0 * params: Update dmoment | ||||
* | test: update dmoment with python script (#153) | Wei-Ning Huang | 2019-06-12 | 1 | -2/+11 |
| | |||||
* | params: update testnet dMoment | Wei-Ning Huang | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | app: remove pending block logic (#149) | bojie | 2019-06-12 | 14 | -466/+342 |
| | |||||
* | params: write dMoment into ChainConfig (#150) | Wei-Ning Huang | 2019-06-12 | 11 | -36/+42 |
| | |||||
* | core: update taipei alloc | Jimmy Hu | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | params: update genesis config | Wei-Ning Huang | 2019-06-12 | 4 | -25/+30 |
| | |||||
* | test: Update bootnode path | Jimmy Hu | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | params: update bootnode IP | Wei-Ning Huang | 2019-06-12 | 1 | -8/+3 |
| | |||||
* | consensus: implement DEXON cryptoeconomics v4.0 (#145) | Wei-Ning Huang | 2019-06-12 | 17 | -240/+479 |
| | |||||
* | core: vm: add totalSupply and totalStaked in the governance contract (#144) | Wei-Ning Huang | 2019-06-12 | 5 | -37/+146 |
| | | | | | | | Add totalSupply and totalStaked in the governance contract for the preperation of DEXON cryptoeconomics 4.0. Also removed the unstaked variable in node info and improve tests for delegate/undeleate. | ||||
* | core: vm: move governance abi to a separate file (#143) | Wei-Ning Huang | 2019-06-12 | 3 | -1055/+1076 |
| | |||||
* | core: vm: emit events for more governance actions (#142) | Wei-Ning Huang | 2019-06-12 | 1 | -0/+145 |
| | |||||
* | misc: Fix makefile | Jimmy Hu | 2019-06-12 | 1 | -2/+2 |
| | |||||
* | core: update testnet genesis_alloc | Jimmy Hu | 2019-06-12 | 2 | -3/+3 |
| | |||||
* | core: update taipei network genesis alloc | Wei-Ning Huang | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | indexer: pass network-related params through config (#133) | Meng-Ying Yang | 2019-06-12 | 2 | -0/+14 |
| | | | | | | | | Pass following network related params: * Genesis block * Network ID And sync mode for indexer configuration. | ||||
* | dex: remove unused log (#136) | Sonic | 2019-06-12 | 1 | -4/+0 |
| | | | | | | * fixup! app: use gcp storage instead of azure for builds (#81) * dex: remove unused log | ||||
* | core: fix corner case when initializing round height (#134) | Sonic | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | app: implement logic for prepare/verify correctly when chain number change ↵ | bojie | 2019-06-12 | 8 | -25/+383 |
| | | | | (#118) | ||||
* | dex: replace NodeMeta with ENR (#132) | Sonic | 2019-06-12 | 9 | -255/+236 |
| | |||||
* | travis-ci: fix gcp-linux build (#131) | Wei-Ning Huang | 2019-06-12 | 1 | -3/+0 |
| | |||||
* | core: vm: implement byzantine reporting mechanism (#128) | Wei-Ning Huang | 2019-06-12 | 8 | -100/+719 |
| | |||||
* | params: update taipei genesis config (#130) | Wei-Ning Huang | 2019-06-12 | 2 | -4/+4 |
| | |||||
* | dex: fix test due to consensus-core change | Wei-Ning Huang | 2019-06-12 | 1 | -9/+9 |
| | |||||
* | vendor: sync to latest core (#129) | Wei-Ning Huang | 2019-06-12 | 13 | -90/+104 |
| | |||||
* | vendor: update bls package (#127) | Meng-Ying Yang | 2019-06-12 | 2 | -3/+6 |
| | | | | * Add missing cpp file * Align root and sub folder hash | ||||
* | dex: fix cache error (#126) | Jimmy Hu | 2019-06-12 | 1 | -0/+1 |
| | |||||
* | vendor: sync to latest core (#125) | Jimmy Hu | 2019-06-12 | 10 | -86/+288 |
| | |||||
* | core, indexer, dex: fix DexconApp block deliver after synced (#122) | Sonic | 2019-06-12 | 3 | -15/+16 |
| | | | | | | | When starts a bp node to sync with the network, bc.chainLastHeight map may not be initialized yet. Just return error if we can not get chain last height when preparing payload and verify block. | ||||
* | core: fix vm wrong round height context (#124) | Sonic | 2019-06-12 | 1 | -0/+45 |
| | | | | Let roundHeightMap be corret whenever we starting a bp node. | ||||
* | core: update taipei testnet genesis config and alloc (#119) | Wei-Ning Huang | 2019-06-12 | 2 | -3/+3 |
| | |||||
* | test: update run_test.sh with dmoment | Jimmy Hu | 2019-06-12 | 1 | -0/+4 |
| | |||||
* | vendor: sync to latest core (#121) | Wei-Ning Huang | 2019-06-12 | 2 | -27/+30 |
| | |||||
* | node: increase default max number of peers (#120) | Wei-Ning Huang | 2019-06-12 | 2 | -2/+2 |
| | |||||
* | Indexer plugin extension and custom flags support (#117) | Meng-Ying Yang | 2019-06-12 | 5 | -0/+13 |
| | | | | | | * indexer: ReadOnlyBlockchain returns underlying engine * indexer: plugin configs support custom flags |