Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | core, dex: polish sync (#75) | Sonic | 2019-06-12 | 1 | -0/+3 |
| | | | | | | | | | | | | | | | - Broadcasting blocks at chain head event is not correct when the full node is not running in block proposer mode. Introduce NewFinalizedBlockEvent, this event is post by the full node which runs in block proposer mode when a block is witnessed and resulting in some blocks are considered finalized. - Non block proposer node will still broadcast blocks at the following moment (same as ethereum): 1. a sync with a peer is terminated successfully 2. a block passes the fetcher's header check during inserting blocks 3. a block is successfully inserted by fetcher - Don't trigger a sync when we are not behind other peers more than acceptable distance. Fetcher is able to cover this. | ||||
* | core, dex: Timeout for prepare payload (#72) | Jimmy Hu | 2019-06-12 | 2 | -8/+13 |
| | | | | | | * Timeout on prepare payload * Leave 2 CPU for others * Add hardLimit and softLimit to PreparePayload | ||||
* | app: add app test case and benchmark (#66) | bojie | 2019-06-12 | 3 | -13/+268 |
| | |||||
* | dex: verify header that imported from fetcher (#68) | Sonic | 2019-06-12 | 1 | -0/+4 |
| | |||||
* | Fix lint | Wei-Ning Huang | 2019-06-12 | 2 | -3/+3 |
| | |||||
* | core: Update genesis alloc. (#63) | Jimmy Hu | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | core: panic if fork found when inserting header chain (#61) | Wei-Ning Huang | 2019-06-12 | 1 | -1/+6 |
| | |||||
* | tests: fix tests | Wei-Ning Huang | 2019-06-12 | 1 | -1/+10 |
| | |||||
* | dex: fix tests | Wei-Ning Huang | 2019-06-12 | 1 | -0/+2 |
| | |||||
* | core: fix tests | Wei-Ning Huang | 2019-06-12 | 2 | -4/+5 |
| | |||||
* | core: vm: fix power2 table calculation (#50) | Wei-Ning Huang | 2019-06-12 | 1 | -3/+3 |
| | |||||
* | core: commit states at snapshot height (#49) | Sonic | 2019-06-12 | 1 | -2/+7 |
| | |||||
* | core: add Taipei testnet (#47) | Wei-Ning Huang | 2019-06-12 | 1 | -1/+13 |
| | | | | Add a new testnet named Taipei. | ||||
* | core: various changes on tps tuning (#46) | Wei-Ning Huang | 2019-06-12 | 5 | -11/+14 |
| | |||||
* | core: increase tx pool size | Wei-Ning Huang | 2019-06-12 | 1 | -4/+4 |
| | |||||
* | core, dex, downloader: refactor governance | Sonic | 2019-06-12 | 2 | -25/+61 |
| | |||||
* | core, dex, dex/downloader: restore insertChain to upstream version | Sonic | 2019-06-12 | 2 | -20/+18 |
| | | | | | Also rename InsertChain2, insertChain2, InsertHeaderChain2, ValidateHeaderChain2 | ||||
* | dex: implement downloader for dex | Sonic | 2019-06-12 | 1 | -0/+5 |
| | | | | | | | | | | | 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. | ||||
* | core: implement insert chain, headerchain logic | Sonic | 2019-06-12 | 3 | -0/+521 |
| | |||||
* | core: support extracting governance state from state trie | Sonic | 2019-06-12 | 3 | -0/+73 |
| | |||||
* | core: add global signature cache and improve concurrency (#42) | Wei-Ning Huang | 2019-06-12 | 4 | -53/+86 |
| | | | | | From the go trace result, the bottleneck hides in the lock of StoreTxCache. To improve this, we update the cache in a batched fassion. | ||||
* | core, dex: Batch process touchSender. Lower priority for tx. (#41) | Jimmy Hu | 2019-06-12 | 1 | -13/+19 |
| | | | | | | | * dex: Add a tx queue in broadcast * Modify queue parameter * Priority select all messages except tx * Batch process TouchSenders | ||||
* | dex: add BlockDB, which implements consensus core's blockdb.BlockDatabase (#36) | Sonic | 2019-06-12 | 2 | -0/+58 |
| | |||||
* | core: vm: change offset type to int256 | Wei-Ning Huang | 2019-06-12 | 1 | -2/+7 |
| | | | | | Since we use -1 to represent the offset of empty value, we should make the return type int256 instead of uint256. | ||||
* | governance: implement delegate/undelegate function and add tests (#33) | Wei-Ning Huang | 2019-06-12 | 4 | -111/+1152 |
| | | | | | Implement delegate/undelegate function to allow others to delegate it's fund to stake on a node. Also added governance contract tests. | ||||
* | core: blockchain: fix concurrent map read and write (#34) | Wei-Ning Huang | 2019-06-12 | 1 | -4/+7 |
| | |||||
* | core: more fix on light node synchronization (#32) | Wei-Ning Huang | 2019-06-12 | 3 | -67/+50 |
| | | | | | | 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: vm: add minStake to governance contract variable (#31) | Wei-Ning Huang | 2019-06-12 | 2 | -1/+42 |
| | |||||
* | core: fix light node synchronization issue (#30) | Wei-Ning Huang | 2019-06-12 | 4 | -9/+18 |
| | | | | | InsertChain() need to record the correct roundHeight mapping in order to process snapshotRoundHeight() governance method correctly. | ||||
* | core: revert changes to StateProcessor.Process (#29) | Wei-Ning Huang | 2019-06-12 | 2 | -10/+10 |
| | |||||
* | app: add cache to reuse same tx address which has already recovered (#26) | BJ4 | 2019-06-12 | 3 | -3/+41 |
| | |||||
* | core: refactor validator and fix light node sync (#25) | Wei-Ning Huang | 2019-06-12 | 8 | -147/+92 |
| | | | | | | | | Remove custom Dexon validator by adding a new `ValidateWitnessData` method into the validator interface. This allow us to properly detect know blocks. This also allow other gdex "light" client to sync compaction chain. Also, setup a standalone RPC node for handling RPC reqeusts. | ||||
* | core: use storeRoundHeight to avoid type mismatch (#21) | Sonic | 2019-06-12 | 1 | -9/+6 |
| | | | No need to store round 0, it's already pushed in genesis block | ||||
* | dex, core: Fix make fail (#24) | Jimmy Hu | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | core, dex: Optimize sender calculation in block transactions. (#22) | Jimmy Hu | 2019-06-12 | 2 | -0/+34 |
| | | | | | | * Add Transactions.TouchSenders that calculates sender and update cache * Use TouchSenders to fill the caches | ||||
* | core: validate DKG set with correct nodeset in round-2 (#19) | Wei-Ning Huang | 2019-06-12 | 4 | -32/+63 |
| | | | | | * vendor: sync consensus core * core: validate DKG set with correct nodeset in round-2 | ||||
* | core: vm: Optimize evm (#13) | Jimmy Hu | 2019-06-12 | 5 | -18/+282 |
| | | | | | | | * core: vm: add an EVM benchmark * core: vm: optimize stack allocation and instruction for calculating 2^n * Add DEXONBet bench | ||||
* | core: push height of round 0 in genesis block (#17) | Sonic | 2019-06-12 | 2 | -8/+11 |
| | | | | | | | * core: push height of round 0 in genesis block * vm: fix governance dispatch method name mismatch with abi also rename RoundHeightLoc to roundHeightLoc | ||||
* | dex: return correct pending nonce (#14) | Wei-Ning Huang | 2019-06-12 | 1 | -2/+11 |
| | | | | We need to return the correct pending nonce (include those in the tx pool). Also, StateAndHeaderByNumber is also fixed to use pending block. | ||||
* | params: fix genesis block config and use testnet for test (#10) | Wei-Ning Huang | 2019-06-12 | 1 | -3/+3 |
| | |||||
* | core: fix staked calculation in genesis (#8) | Jimmy Hu | 2019-06-12 | 1 | -4/+0 |
| | |||||
* | core: vm: expose governance contract ABI (#5) | Wei-Ning Huang | 2019-06-12 | 1 | -2/+2 |
| | |||||
* | core: blockchain: fix NewBlockChainWithDexonValidator (#4) | Wei-Ning Huang | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | core: genesis: make ToBlock() compatible with legacy ethereum code (#3) | Wei-Ning Huang | 2019-06-12 | 1 | -28/+36 |
| | | | | Make ToBlock() compatible with legacy ethereum code so we can run tests normally. | ||||
* | app: fix core test | BJ4 | 2019-06-12 | 7 | -37/+144 |
| | |||||
* | core: vm: governance: add node info | Wei-Ning Huang | 2019-06-12 | 6 | -10/+149 |
| | |||||
* | core: validate roundHeight mapping in governance contract | Wei-Ning Huang | 2019-06-12 | 5 | -4/+43 |
| | |||||
* | core: GenerateChainWithRoundChange for testing | Sonic | 2019-06-12 | 3 | -0/+598 |
| | |||||
* | app: lock by chain correctly and remove old core in vendor | BJ4 | 2019-06-12 | 1 | -46/+49 |
| | |||||
* | core: vm: governance: remove maxInterval | Wei-Ning Huang | 2019-06-12 | 1 | -32/+0 |
| | |||||
* | core: vm: add nodesLengh method for reading nodeSet size | Wei-Ning Huang | 2019-06-12 | 1 | -0/+20 |
| | |||||
* | Rename import due to dexon-consensus rename | Wei-Ning Huang | 2019-06-12 | 3 | -18/+18 |
| | |||||
* | dex: minor refactor | Wei-Ning Huang | 2019-06-12 | 1 | -6/+5 |
| | |||||
* | app: add lock to prevent concurrent map read write | Bojie Wu | 2019-06-12 | 1 | -0/+3 |
| | |||||
* | core: tx_pool: remove transactions on BlockConfirmed event | Wei-Ning Huang | 2019-06-12 | 4 | -41/+53 |
| | |||||
* | dex: add block gas limit into governance | Wei-Ning Huang | 2019-06-12 | 1 | -0/+35 |
| | |||||
* | app: using lock correctly to use map safely | Bojie Wu | 2019-06-12 | 1 | -56/+86 |
| | |||||
* | app: fix concurrent map read write issue and accept fail transaction when ↵ | Bojie Wu | 2019-06-12 | 1 | -1/+7 |
| | | | | round change | ||||
* | core: fix blockReward serialization | Wei-Ning Huang | 2019-06-12 | 2 | -37/+28 |
| | |||||
* | app: add cache mechanism to increase performance | Bojie Wu | 2019-06-12 | 3 | -152/+136 |
| | |||||
* | core: set correct balance for governance contract | Wei-Ning Huang | 2019-06-12 | 2 | -1/+7 |
| | |||||
* | dex: return round in get block rpc output | Wei-Ning Huang | 2019-06-12 | 2 | -4/+5 |
| | |||||
* | app: fix concurrent read write issue with map | Bojie Wu | 2019-06-12 | 1 | -0/+6 |
| | |||||
* | dex: remove uneeded info from block header | Wei-Ning Huang | 2019-06-12 | 3 | -90/+87 |
| | |||||
* | core: types: fix header marshal json | Sonic | 2019-06-12 | 2 | -34/+72 |
| | |||||
* | vendor: sync consensus core and fix conflict | Wei-Ning Huang | 2019-06-12 | 1 | -7/+8 |
| | |||||
* | app: correct process pending block logic | Bojie Wu | 2019-06-12 | 1 | -126/+111 |
| | |||||
* | dex: fix missing randomness assignment | Wei-Ning Huang | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | dex: fix DKG round switching | Wei-Ning Huang | 2019-06-12 | 1 | -6/+18 |
| | |||||
* | dex: fix round switching and initialize dMoment correctly | Wei-Ning Huang | 2019-06-12 | 1 | -1/+2 |
| | |||||
* | dex: misc fixes | Wei-Ning Huang | 2019-06-12 | 1 | -3/+3 |
| | |||||
* | app: check nonce and balance in prepare payload | Bojie Wu | 2019-06-12 | 2 | -5/+3 |
| | |||||
* | core: included Dexcon metadata in block | Wei-Ning Huang | 2019-06-12 | 1 | -2/+3 |
| | |||||
* | Remove reference of Rinkeby and Goerli network. | Wei-Ning Huang | 2019-06-12 | 2 | -26/+1 |
| | | | | We do not need ethereum Rinkeby and Goerli network in our system, remove it. | ||||
* | core: populate genesisAlloc in source code with DEXON genesis data | Wei-Ning Huang | 2019-06-12 | 3 | -15/+46 |
| | |||||
* | dex: use RLP to encode contract payload data | Wei-Ning Huang | 2019-06-12 | 1 | -6/+6 |
| | |||||
* | app: implement verify block logic | Bojie Wu | 2019-06-12 | 2 | -1/+51 |
| | |||||
* | consensus: dexcon: fetch config from state | Wei-Ning Huang | 2019-06-12 | 1 | -19/+22 |
| | |||||
* | core: vm: add blockReward to governance | Wei-Ning Huang | 2019-06-12 | 2 | -4/+39 |
| | |||||
* | dex: fix public key parsing due to changes in consensus core | Wei-Ning Huang | 2019-06-12 | 1 | -1/+4 |
| | |||||
* | core: set governance owner in genesis | Wei-Ning Huang | 2019-06-12 | 1 | -1/+3 |
| | |||||
* | params: load blockReward from genesis JSON file | Wei-Ning Huang | 2019-06-12 | 1 | -0/+1 |
| | |||||
* | app: fixup message format | Wei-Ning Huang | 2019-06-12 | 1 | -3/+3 |
| | |||||
* | app: implement new insert blocks logic | Bojie Wu | 2019-06-12 | 3 | -18/+246 |
| | |||||
* | test: create account storage for governance contract | Wei-Ning Huang | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | core/dex: fix governance contract implementation | Wei-Ning Huang | 2019-06-12 | 1 | -19/+13 |
| | |||||
* | core: vm: implement RAND opcode support | Wei-Ning Huang | 2019-06-12 | 9 | -0/+45 |
| | | | | | | DEXON has a built-in on chain random oracle that allow one to retrieve a random variable. Add a new opcode `RAND` to load the random variable onto the stack. | ||||
* | dex/core: misc bug fixes | Wei-Ning Huang | 2019-06-12 | 2 | -2/+3 |
| | |||||
* | app: correct dexon application logic | Bojie Wu | 2019-06-12 | 2 | -48/+37 |
| | |||||
* | core: fix nil map initialization | Wei-Ning Huang | 2019-06-12 | 1 | -0/+7 |
| | |||||
* | app: init map | Bojie Wu | 2019-06-12 | 1 | -15/+17 |
| | |||||
* | core: setup stake in order so genesis block is deterministic | Wei-Ning Huang | 2019-06-12 | 1 | -1/+26 |
| | |||||
* | core: vm: modify dkg threshold | Jimmy Hu | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | core: vm: add GovernanceStateHelper test | Wei-Ning Huang | 2019-06-12 | 2 | -0/+98 |
| | |||||
* | core: populate genesis CRS in genesis state | Wei-Ning Huang | 2019-06-12 | 1 | -0/+5 |
| | |||||
* | dex: bug fix to allow running geth without crashing | Wei-Ning Huang | 2019-06-12 | 2 | -9/+1 |
| | |||||
* | dex: implement sendTx related governance methods | Wei-Ning Huang | 2019-06-12 | 1 | -0/+5 |
| | |||||
* | core: vm: validate if mpk, complaint, finalize is in DKG set | Wei-Ning Huang | 2019-06-12 | 1 | -36/+62 |
| | |||||
* | core: vm: allow other people to stake for a node | Wei-Ning Huang | 2019-06-12 | 1 | -6/+0 |
| | |||||
* | dex: implement some governance interface functions | Wei-Ning Huang | 2019-06-12 | 1 | -213/+342 |
| | |||||
* | dex: governance: implement governance interface | Wei-Ning Huang | 2019-06-12 | 2 | -11/+23 |
| | |||||
* | app: implement new interface method | Bojie Wu | 2019-06-12 | 1 | -0/+56 |
| | |||||
* | core: populate dexon configuration in SetupGenesisBlock | Wei-Ning Huang | 2019-06-12 | 2 | -31/+28 |
| | |||||
* | dex: implement dexon application interface | Bojie Wu | 2019-06-12 | 1 | -0/+4 |
| | |||||
* | core: add stake and public key to genesis account info | Wei-Ning Huang | 2019-06-12 | 4 | -46/+95 |
| | |||||
* | core: vm: check pk ownership in stake() | Wei-Ning Huang | 2019-06-12 | 1 | -1/+12 |
| | |||||
* | core: vm: expose nodes as public | Wei-Ning Huang | 2019-06-12 | 1 | -14/+52 |
| | |||||
* | core: vm: add eventlog for governance contract | Wei-Ning Huang | 2019-06-12 | 1 | -41/+98 |
| | |||||
* | core: vm: refactor and add DKGFinalizeds related implementations | Wei-Ning Huang | 2019-06-12 | 1 | -94/+300 |
| | |||||
* | dex: redesign p2p network topology | Sonic | 2019-06-12 | 1 | -0/+7 |
| | | | | | | | | | | - Let p2p server support direct connection and group connection. - Introduce node meta table to maintain IP of all nodes in node set, in memory and let nodes in the network can sync this table. - Let peerSet able to manage direct connections to notary set and dkg set. The mechanism to refresh the network topology when configuration round change is not done yet. | ||||
* | core: vm: implement the rest of governance contract methods | Wei-Ning Huang | 2019-06-12 | 1 | -132/+275 |
| | |||||
* | core: vm: check if caller already staked when adding dkg mpk | Jimmy Hu | 2019-06-12 | 1 | -0/+7 |
| | |||||
* | core: vm: fix bug and add gas usage | Wei-Ning Huang | 2019-06-12 | 2 | -22/+55 |
| | |||||
* | core: vm: finish implementing state helper | Wei-Ning Huang | 2019-06-12 | 1 | -23/+206 |
| | |||||
* | core: vm: update governance contract ABI | Wei-Ning Huang | 2019-06-12 | 1 | -9/+75 |
| | |||||
* | core: vm: implement governance contract methods | Wei-Ning Huang | 2019-06-12 | 1 | -51/+218 |
| | |||||
* | core: vm: add governance contract skeleton | Wei-Ning Huang | 2019-06-12 | 2 | -0/+495 |
| | |||||
* | Change import go github.com/dexon-foundation/dexon | Wei-Ning Huang | 2019-06-12 | 95 | -333/+333 |
| | |||||
* | core: minor code polishes + rebase fixes | Péter Szilágyi | 2019-04-08 | 2 | -41/+54 |
| | |||||
* | core: re-omit new log event when logs rebirth | rjl493456442 | 2019-04-08 | 2 | -9/+224 |
| | |||||
* | all: simplify timestamps to uint64 (#19372) | Martin Holst Swende | 2019-04-08 | 9 | -31/+28 |
| | | | | | | | | | | | | | | * all: simplify timestamps to uint64 * tests: update definitions * clef, faucet, mobile: leftover uint64 fixups * ethash: fix tests * graphql: update schema for timestamp * ethash: remove unused variable | ||||
* | cmd, core, params: add support for Goerli | Péter Szilágyi | 2019-02-19 | 2 | -1/+13 |
| | | | | (cherry picked from commit b0ed083ead2d58cc25754eacdb48046eb2bc81cb) | ||||
* | core: fix pruner panic when importing low-diff-large-sidechain | Péter Szilágyi | 2019-02-10 | 3 | -86/+44 |
| | |||||
* | core: repro #18977 | Martin Holst Swende | 2019-02-10 | 2 | -1/+104 |
| | |||||
* | core: fix error in block iterator (#18986) | Martin Holst Swende | 2019-02-10 | 2 | -11/+3 |
| | |||||
* | core, cmd/puppeth: implement constantinople fix, disable EIP-1283 (#18486) | Martin Holst Swende | 2019-01-30 | 3 | -2/+9 |
| | | | | | | | | | | | | | | | | | This PR adds a new fork which disables EIP-1283. Internally it's called Petersburg, but the genesis/config field is ConstantinopleFix. The block numbers are: 7280000 for Constantinople on Mainnet 7280000 for ConstantinopleFix on Mainnet 4939394 for ConstantinopleFix on Ropsten 9999999 for ConstantinopleFix on Rinkeby (real number decided later) This PR also defaults to using the same ConstantinopleFix number as whatever Constantinople is set to. That is, it will default to mainnet behaviour if ConstantinopleFix is not set.This means that for private networks which have already transitioned to Constantinople, this PR will break the network unless ConstantinopleFix is explicitly set! | ||||
* | core, eth: fix database version (#18429) | gary rong | 2019-01-11 | 2 | -8/+16 |
| | | | | | | * core, eth: fix database version * eth: polish error message | ||||
* | Merge pull request #18371 from jeremyschlatter/patch-1 | Péter Szilágyi | 2019-01-04 | 1 | -1/+1 |
|\ | | | | | core/types: update incorrect comment | ||||
| * | core/types: update incorrect comment | Jeremy Schlatter | 2018-12-29 | 1 | -1/+1 |
| | | |||||
* | | vendor, crypto, swarm: switch over to upstream sha3 package | Dave McGregor | 2019-01-04 | 3 | -8/+8 |
|/ | |||||
* | core: sanitize more TxPoolConfig fields (#17210) | Jordan Krage | 2018-12-20 | 2 | -1/+21 |
| | | | | | | * core: sanitize more TxPoolConfig fields * core: fix TestTransactionPendingMinimumAllowance | ||||
* | core/state: rename 'new' variable (#18301) | Shuai Qi | 2018-12-14 | 1 | -2/+2 |
| | |||||
* | Comment error (#18303) | qd-ethan | 2018-12-14 | 1 | -1/+1 |
| | |||||
* | cmd/geth, core, eth: implement Constantinople override flag (#18273) | Martin Holst Swende | 2018-12-11 | 1 | -0/+6 |
| | | | | | | | | * geth/core/eth: implement constantinople override flag * les: implemnent constantinople override flag for les clients * cmd/geth, eth, les: fix typo, move flag to experimentals | ||||
* | cmd/evm, core/vm, eth: implement api methods to do stdjson dump to local ↵ | Martin Holst Swende | 2018-12-10 | 1 | -0/+83 |
| | | | | filesystem | ||||
* | core, internal, eth, miner, les: Take VM config from BlockChain (#17955) | Paweł Bylica | 2018-12-06 | 1 | -0/+5 |
| | | | | | | | | | | | Until this commit, when sending an RPC request that called `NewEVM`, a blank `vm.Config` would be taken so as to set some options, based on the default configuration. If some extra configuration switches were passed to the blockchain, those would be ignored. This PR adds a function to get the config from the blockchain, and this is what is now used for RPC calls. Some subsequent changes need to be made, see https://github.com/ethereum/go-ethereum/pull/17955#pullrequestreview-182237244 for the details of the discussion. | ||||
* | tests, core: update tests and make STATICCALL cause touch-delete (#18187) | Martin Holst Swende | 2018-11-29 | 1 | -0/+6 |
| | |||||
* | core: more detailed metrics for block processing (#18119) | Martin Holst Swende | 2018-11-28 | 1 | -1/+12 |
| | |||||
* | fix mixHash/nonce for parity compatible network (#18166) | Jaynti Kanani | 2018-11-26 | 2 | -12/+12 |
| | |||||
* | core: return error if repair block failed (#18126) | mr_franklin | 2018-11-23 | 1 | -1/+5 |
| | | | | | | * core: return error if repair block failed * make error a bit shorter | ||||
* | Merge pull request #17973 from holiman/splitter2 | Péter Szilágyi | 2018-11-22 | 3 | -157/+368 |
|\ | | | | | core: better side-chain importing | ||||
| * | core: polish side chain importer a bit | Péter Szilágyi | 2018-11-21 | 3 | -294/+328 |
| | | |||||
| * | core: better side-chain importing | Martin Holst Swende | 2018-11-20 | 1 | -96/+273 |
| | | |||||
* | | core: better printout of receipts in bad block reports (#18156) | Martin Holst Swende | 2018-11-22 | 1 | -2/+4 |
| | | | | | | | | | | | | * core/blockchain: better printout of receipts in bad block reports * fix splleing | ||||
* | | core: fix comment typo (#18144) | mr_franklin | 2018-11-21 | 1 | -1/+1 |
|/ | |||||
* | core, eth/downloader: fix ancestor lookup for fast sync | Péter Szilágyi | 2018-11-16 | 2 | -2/+20 |
| | |||||
* | cmd, core, eth, light, trie: add trie read caching layer | Péter Szilágyi | 2018-11-15 | 2 | -11/+24 |
| | |||||
* | core: fix default trie cache limit (#17860) | gary rong | 2018-11-13 | 1 | -1/+1 |
| | |||||
* | rawdb: remove unused parameter for WritePreimages func (#18059) | Corey Lin | 2018-11-09 | 3 | -5/+4 |
| | | | | | | | * rawdb: remove unused parameter for WritePreimages func and modify a spelling mistake * rawdb: update the doc for function WritePreimages | ||||
* | core/state: remove lock (#18065) | Felix Lange | 2018-11-09 | 1 | -6/+0 |
| | | | | The lock in StateDB is useless. It's only held in Copy, but Copy is safe for concurrent use because all it does is read. | ||||
* | Merge pull request #17982 from holiman/polish_contantinople_extcodehash | Péter Szilágyi | 2018-11-08 | 1 | -1/+6 |
|\ | | | | | core/vm: check empty in extcodehash | ||||
| * | core/vm: check empty in extcodehash | Martin Holst Swende | 2018-10-26 | 1 | -1/+6 |
| | | |||||
* | | core/vm, eth/tracers: use pointer receiver for GetRefund (#18018) | Corey Lin | 2018-11-08 | 1 | -1/+1 |
| | | |||||
* | | eth/downloader: speed up tests by generating chain only once (#17916) | Felix Lange | 2018-11-07 | 1 | -16/+28 |
| | | | | | | | | | | | | | | | | | | | | | | | | * core: speed up GenerateChain Use a mock implementation of ChainReader instead of creating and destroying a BlockChain object for each generated block. * eth/downloader: speed up tests by generating chain only once This change reworks the downloader tests so they share a common test blockchain instead of generating a chain in every test. The tests are roughly twice as fast now. | ||||
* | | core, eth/downloader: fix validation flaw, fix downloader printout flaw (#17974) | Martin Holst Swende | 2018-11-07 | 1 | -6/+6 |
|/ | |||||
* | core/state: simplify proof methods (#17965) | Felix Lange | 2018-10-24 | 2 | -17/+13 |
| | | | | This fixes the import cycle build error in core/vm tests. There is no need to refer to core/vm for a type definition. | ||||
* | core/vm: adds refund as part of the json standard trace (#17910) | Martin Holst Swende | 2018-10-23 | 3 | -36/+50 |
| | | | | | | | This adds the global accumulated refund counter to the standard json output as a numeric json value. Previously this was not very interesting since it was not used much, but with the new sstore gas changes the value is a lot more interesting from a consensus investigation perspective. | ||||
* | core: fix a typo (#17941) | Wuxiang | 2018-10-19 | 1 | -1/+1 |
| | |||||
* | EIP-1186 eth_getProof (#17737) | Simon Jentzsch | 2018-10-19 | 2 | -0/+30 |
| | | | | | | | | | | | | | | | | * first impl of eth_getProof * fixed docu * added comments and refactored based on comments from holiman * created structs * handle errors correctly * change Value to *hexutil.Big in order to have the same output as parity * use ProofList as return type | ||||
* | core/types: fix comment for func SignatureValues (#17921) | Smilenator | 2018-10-16 | 1 | -1/+1 |
| | |||||
* | core/vm: add shortcuts for trivial exp cases (#16851) | Martin Holst Swende | 2018-10-16 | 1 | -4/+16 |
| | |||||
* | core/asm: Use hexadecimal addresses in assembly dumps (#17870) | Guillaume Ballet | 2018-10-09 | 1 | -4/+4 |
| | |||||
* | core/types: Log.Index is the index in block, not receipt (#17866) | Wenbiao Zheng | 2018-10-08 | 1 | -1/+1 |
| | |||||
* | core/vm: reuse Keccak-256 hashes across opcode executions (#17863) | Péter Szilágyi | 2018-10-08 | 3 | -6/+48 |
| | |||||
* | core/vm : fix failing testcase (#17852) | Martin Holst Swende | 2018-10-06 | 1 | -1/+2 |
| | | | | | | * core/vm : fix failing testcase * core/vm: fix nitpick | ||||
* | core/vm: SHA3 word cost for CREATE2 (#17812) | Martin Holst Swende | 2018-10-05 | 2 | -0/+87 |
| | | | | | | | | * core/vm: create2 address generation tests * core/vm: per byte cost of CREATE2 * core/vm: fix linter issue in test | ||||
* | core/vm: faster create/create2 (#17806) | Martin Holst Swende | 2018-10-04 | 6 | -52/+145 |
| | | | | | | | | | | | | | | | | | | | | | | | | * core/vm/runtim: benchmark create/create2 * core/vm: do less hashing in CREATE2 * core/vm: avoid storing jumpdest analysis for initcode * core/vm: avoid unneccesary lookups, remove unused fields * core/vm: go formatting tests * core/vm: save jumpdest analysis locally * core/vm: use common.Hash instead of nil, fix review comments * core/vm: removed type destinations * core/vm: correct check for empty hash * eth: more elegant api_tracer * core/vm: address review concerns | ||||
* | core: use ChainHeadEvent subscription in the chain indexer (#17826) | Felföldi Zsolt | 2018-10-03 | 1 | -6/+6 |
| | |||||
* | core: fix unnecessary ancestor lookup after a fast sync (#17825) | Péter Szilágyi | 2018-10-03 | 1 | -5/+5 |
| | |||||
* | core, internal/ethapi: add and use LRU cache for receipts (#17610) | Ryan Schneider | 2018-09-30 | 1 | -6/+18 |
| | |||||
* | core/types: make tx signature values optional in JSON (#17742) | reinerRubin | 2018-09-30 | 2 | -12/+23 |
| | |||||
* | core/types: fix typos (#17762) | thumb8432 | 2018-09-30 | 1 | -2/+2 |
| | |||||
* | all: fix various comment typos (#17748) | Liang ZOU | 2018-09-25 | 2 | -2/+2 |
| | |||||
* | Merge pull request #17383 from holiman/eip1283 | Péter Szilágyi | 2018-09-21 | 8 | -138/+164 |
|\ | | | | | Eip1283 | ||||
| * | core, params: polish net gas metering PR a bit | Péter Szilágyi | 2018-09-18 | 9 | -218/+138 |
| | | |||||
| * | core,state: finish implementing Eip 1283 | Martin Holst Swende | 2018-09-18 | 6 | -16/+41 |
| | | |||||
| * | core, state: initial implementation of Eip-1283 | Martin Holst Swende | 2018-09-18 | 5 | -3/+84 |
| | | |||||
* | | core: fix a typo (#17733) | Wuxiang | 2018-09-21 | 1 | -2/+2 |
| | | |||||
* | | core, eth: fix dependency cycle (#17720) | gary rong | 2018-09-21 | 1 | -50/+21 |
| | | |||||
* | | all: protect self-mined block during reorg (#17656) | gary rong | 2018-09-20 | 8 | -35/+75 |
| | | |||||
* | | common, core, light: add block age into info logs | Péter Szilágyi | 2018-09-20 | 2 | -12/+30 |
| | | |||||
* | | core/vm: add switches to select evm+ewasm interpreters (#17687) | Guillaume Ballet | 2018-09-20 | 2 | -2/+25 |
| | | | | | | | | | | Interpreter initialization is left to the PRs implementing them. Options for external interpreters are passed after a colon in the `--vm.ewasm` and `--vm.evm` switches. | ||||
* | | core, eth: fix goimports for Go 1.11 | Péter Szilágyi | 2018-09-19 | 1 | -1/+1 |
|/ | |||||
* | Merge pull request #17622 from karalabe/chain-maker-seal | Péter Szilágyi | 2018-09-17 | 1 | -2/+8 |
|\ | | | | | consensus/clique, core: chain maker clique + error tests | ||||
| * | consensus/clique, core: chain maker clique + error tests | Péter Szilágyi | 2018-09-11 | 1 | -2/+8 |
| | | |||||
* | | all: simplify s[:] to s where s is a slice (#17673) | Emil | 2018-09-15 | 2 | -3/+3 |
| | | |||||
* | | core/vm: fix typo 'EVM EVM' ==> 'EVM' (#17654) | Liang ZOU | 2018-09-13 | 1 | -1/+1 |
|/ | |||||
* | core/vm: Hide read only flag from Interpreter interface (#17461) | Paweł Bylica | 2018-09-08 | 2 | -30/+16 |
| | | | | | Makes Interface interface a bit more stateless and abstract. Obviously this change is dictated by EVMC design. The EVMC tries to keep the responsibility for EVM features totally inside the VMs, if feasible. This makes VM "stateless" because VM does not need to pass any information between executions, all information is included in parameters of the execute function. | ||||
* | core: fix typo in comment (#17586) | Hyung-Kyu Hqueue Choi | 2018-09-05 | 1 | -1/+1 |
| | |||||
* | core/vm, tests: update tests, enable constantinople statetests, fix SAR ↵ | Martin Holst Swende | 2018-09-04 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | opcode (#17538) This commit does a few things at once: - Updates the tests to contain the latest data from ethereum/tests repo. - Enables Constantinople state tests. This is needed to be able to fuzz-test the evm with constantinople rules. - Fixes the error in opSAR that we've known about for some time. I was kind of saving it to see if we hit upon it with the random test generator, but it's difficult to both enable the tests and have the bug there -- we don't want to forget about it, so maybe it's better to just fix it. | ||||
* | core, eth, trie: use common/prque (#17508) | Wenbiao Zheng | 2018-09-03 | 2 | -6/+6 |
| | |||||
* | cmd, core, eth, miner, params: configurable gas floor and ceil | Péter Szilágyi | 2018-08-29 | 3 | -10/+17 |
| | |||||
* | core: safe indexer operation when syncing starts before the checkpoint (#17511) | Felföldi Zsolt | 2018-08-28 | 1 | -11/+45 |
| | |||||
* | all: make indexer configurable (#17188) | gary rong | 2018-08-28 | 1 | -1/+0 |
| | |||||
* | core: fix typos in comment (#17531) | Sheldon | 2018-08-28 | 1 | -4/+4 |
| | |||||
* | all: remove the duplicate 'the' in annotations (#17509) | Wenbiao Zheng | 2018-08-27 | 3 | -3/+3 |
| | |||||
* | miner: fix state commit, track old work packages too (#17490) | gary rong | 2018-08-23 | 1 | -23/+0 |
| | | | | | | | | | | * miner: commit state which is relative with sealing result * consensus, core, miner, mobile: introduce sealHash interface * miner: evict pending task with threshold * miner: go fmt | ||||
* | core/statedb: deep copy logs (#17489) | gary rong | 2018-08-23 | 1 | -3/+6 |
| | |||||
* | cmd, core, miner: add --txpool.locals and priority mining | Péter Szilágyi | 2018-08-22 | 1 | -4/+35 |
| | |||||
* | core/types: fix docs about protected Vs (#17436) | Aditya | 2018-08-20 | 1 | -1/+1 |
| | |||||
* | miner: regenerate mining work every 3 seconds (#17413) | gary rong | 2018-08-16 | 1 | -3/+0 |
| | | | | | | * miner: regenerate mining work every 3 seconds * miner: polish | ||||
* | light: CHT and bloom trie indexers working in light mode (#16534) | Felföldi Zsolt | 2018-08-16 | 2 | -10/+26 |
| | | | | | | | This PR enables the indexers to work in light client mode by downloading a part of these tries (the Merkle proofs of the last values of the last known section) in order to be able to add new values and recalculate subsequent hashes. It also adds CHT data to NodeInfo. | ||||
* | miner: move agent logic to worker (#17351) | gary rong | 2018-08-14 | 1 | -3/+4 |
| | | | | | | | | * miner: move agent logic to worker * miner: polish * core: persist block before reorg | ||||
* | crypto: change formula for create2 (#17393) | gary rong | 2018-08-14 | 1 | -1/+1 |
| | |||||
* | core: fix comment typo (#17376) | Mymskmkt | 2018-08-13 | 1 | -2/+2 |
| | |||||
* | core/vm: fix comment typo (#17319) | stormpang | 2018-08-06 | 1 | -1/+1 |
| | | | | antything --> anything :P | ||||
* | core/vm: update benchmarks for core/vm (#17308) | Hyung-Kyu Hqueue Choi | 2018-08-03 | 1 | -0/+4 |
| | | | | | | - Update benchmarks to use a pool of int pools. Unless benchmarks are aborted with segmentation fault. Signed-off-by: Hyung-Kyu Choi <hqueue@users.noreply.github.com> | ||||
* | core/vm: fix typo in cryptographic hash function name (#17285) | Ha ĐANG | 2018-07-31 | 1 | -1/+1 |
| | |||||
* | core: fix some small typos on comment code (#17278) | Ha ĐANG | 2018-07-30 | 3 | -3/+3 |
| | |||||
* | all: simplify switches (#17267) | Oleg Kovalov | 2018-07-30 | 1 | -2/+1 |
| | | | | | | * all: simplify switches * silly mistake | ||||
* | core: report progress on log chain exports (#17066) | Raghav Sood | 2018-07-26 | 1 | -3/+7 |
| | | | | | | * core/blockchain: export progress * core: polish up chain export progress report a bit | ||||
* | core/vm: support for multiple interpreters (#17093) | Guillaume Ballet | 2018-07-25 | 6 | -240/+315 |
| | | | | | | - Define an Interpreter interface - One contract can call contracts from other interpreter types. - Pass the interpreter to the operands instead of the evm. This is meant to prevent type assertions in operands. | ||||
* | core: fixed typo in addresssByHeartbeat (#17243) | Antoine Rondelet | 2018-07-25 | 1 | -5/+5 |
| | |||||
* | core: fix typo in comment code | hadv | 2018-07-25 | 1 | -1/+1 |
| | |||||
* | core: fix txpool guarantee comment (#17214) | Osuke | 2018-07-24 | 1 | -1/+1 |
| | | | | | | * fixed-typo * core: fix txpool guarantee comment | ||||
* | core/vm, params: implement EXTCODEHASH opcode (#17202) | gary rong | 2018-07-24 | 4 | -0/+45 |
| | | | | | | | | * core/vm, params: implement EXTCODEHASH opcode * core, params: tiny fixes and polish * core: add function description | ||||
* | core, crypto, params: implement CREATE2 evm instrction (#17196) | gary rong | 2018-07-24 | 6 | -17/+87 |
| | | | | | | | | | | * core, crypto, params: implement CREATE2 evm instrction * core/vm: add opcode to string mapping * core: remove past fork checking * core, crypto: use option2 to generate new address | ||||
* | core: fix comment typo (#17236) | Wenbiao Zheng | 2018-07-24 | 1 | -3/+3 |
| | |||||
* | core/bloombits, light: fix typos (#17235) | Sheldon | 2018-07-24 | 2 | -6/+6 |
| | |||||
* | core, ethdb: two tiny fixes (#17183) | gary rong | 2018-07-18 | 1 | -12/+18 |
| | | | | | | | | * ethdb: fix memory database * core: fix bloombits checking * core: minor polish | ||||
* | core/types: polish TxDifference code and docs a bit (#17130) | Smilenator | 2018-07-09 | 1 | -3/+3 |
| | | | | | | | | | * core: fix func TxDifference fix a typo in func comment; change named return to unnamed as there's explicit return in the body * fix another typo in TxDifference | ||||
* | core/vm: reuse bigint pools across transactions (#17070) | Guillaume Ballet | 2018-07-03 | 4 | -2/+112 |
| | | | | | | | | * core/vm: A pool for int pools * core/vm: fix rebase issue * core/vm: push leftover stack items after execution, not before | ||||
* | ethdb, core: implement delete for db batch (#17101) | gary rong | 2018-07-02 | 2 | -10/+18 |
| | |||||
* | core/vm: clear linter warnings (#17057) | Guillaume Ballet | 2018-06-26 | 9 | -30/+51 |
| | | | | | | | | * core/vm: clear linter warnings * core/vm: review input * core/vm.go: revert lint in noop as per request | ||||
* | trie: cache collapsed tries node, not rlp blobs (#16876) | Péter Szilágyi | 2018-06-21 | 3 | -5/+5 |
| | | | | | | | | | | | | The current trie memory database/cache that we do pruning on stores trie nodes as binary rlp encoded blobs, and also stores the node relationships/references for GC purposes. However, most of the trie nodes (everything apart from a value node) is in essence just a collection of references. This PR switches out the RLP encoded trie blobs with the collapsed-but-not-serialized trie nodes. This permits most of the references to be recovered from within the node data structure, avoiding the need to track them a second time (expensive memory wise). | ||||
* | core: remove dead code, limit test code scope (#17006) | Wenbiao Zheng | 2018-06-19 | 4 | -48/+34 |
| | | | | | | * core: move test util var/func to test file * core: remove useless func | ||||
* | core/asm: correct comments typo (#16974) | Caesar Chad | 2018-06-14 | 1 | -2/+2 |
| | | | | | | | | * core/asm/compiler: correct comments typo core/asm/compiler: correct comments typo * Correct comments typo | ||||
* | core: reduce nesting in transaction pool code (#16980) | Wenbiao Zheng | 2018-06-14 | 1 | -5/+3 |
| | |||||
* | core/vm: optimize MSTORE and SLOAD (#16939) | Martin Holst Swende | 2018-06-14 | 3 | -11/+68 |
| | | | | | | | | | | * vm/test: add tests+benchmarks for mstore * core/vm: less alloc and copying for mstore * core/vm: less allocs in sload * vm: check for errors more correctly | ||||
* | core/asm: correct comments typo (#16975) | Caesar Chad | 2018-06-14 | 1 | -1/+1 |
| | | | core/asm/lexer: correct comments typo | ||||
* | core: change comment to match code more closely (#16963) | John C. Vernaleo | 2018-06-13 | 1 | -1/+1 |
| | |||||
* | core, eth, les: more efficient hash-based header chain retrieval (#16946) | Felföldi Zsolt | 2018-06-12 | 2 | -0/+49 |
| | |||||
* | core/rawdb: wrap db key creations (#16914) | Wenbiao Zheng | 2018-06-11 | 4 | -48/+85 |
| | | | | | | | | * core/rawdb: use wrappered helper to assemble key * core/rawdb: wrappered helper to assemble key * core/rawdb: rewrite the wrapper, pass common.Hash | ||||
* | core: improve getBadBlocks to return full block rlp (#16902) | Martin Holst Swende | 2018-06-11 | 1 | -13/+7 |
| | | | | | | | | * core: improve getBadBlocks to return full block rlp * core, eth, ethapi: changes to getBadBlocks formatting * ethapi: address review concerns | ||||
* | core: relax type requirement for bc in ApplyTransaction (#16901) | ledgerwatch | 2018-06-07 | 1 | -1/+1 |
| | |||||
* | Merge pull request #16882 from karalabe/streaming-ecrecover | Péter Szilágyi | 2018-06-05 | 3 | -0/+113 |
|\ | | | | | core: concurrent background transaction sender ecrecover | ||||
| * | core: concurrent background transaction sender ecrecover | Péter Szilágyi | 2018-06-05 | 3 | -0/+113 |
| | | |||||
* | | params: fix golint warnings (#16853) | kiel barry | 2018-06-05 | 4 | -13/+13 |
|/ | | | params: fix golint warnings | ||||
* | core: fix typo in comment code | hadv | 2018-06-05 | 1 | -1/+1 |
| | |||||
* | core, eth, trie: streaming GC for the trie cache (#16810) | Péter Szilágyi | 2018-06-04 | 1 | -22/+20 |
| | | | | | | * core, eth, trie: streaming GC for the trie cache * trie: track memcache statistics | ||||
* | core: fix transaction event asynchronicity | Péter Szilágyi | 2018-05-30 | 1 | -1/+1 |
| | |||||
* | trie: rename TrieSync to Sync and improve hexToKeybytes (#16804) | Wenbiao Zheng | 2018-05-29 | 1 | -3/+3 |
| | | | | | | | This removes a golint warning: type name will be used as trie.TrieSync by other packages, and that stutters; consider calling this Sync. In hexToKeybytes len(hex) is even and (even+1)/2 == even/2, remove the +1. | ||||
* | Merge pull request #16831 from abeln/patch-1 | Péter Szilágyi | 2018-05-29 | 1 | -1/+1 |
|\ | | | | | core/vm: fix typo in comment | ||||
| * | core/vm: fix typo in comment | Abel Nieto | 2018-05-29 | 1 | -1/+1 |
| | | |||||
* | | core: improve test for TransactionPriceNonceSort (#16413) | kimmylin | 2018-05-29 | 1 | -22/+7 |
|/ | |||||
* | common: improve documentation comments (#16701) | kiel barry | 2018-05-29 | 2 | -4/+4 |
| | | | | | This commit adds many comments and removes unused code. It also removes the EmptyHash function, which had some uses but was silly. | ||||
* | core: use a wrapped map to remove contention in `TxPool.Get`. (#16670) | Ryan Schneider | 2018-05-23 | 3 | -69/+132 |
| | | | | | | * core: use a wrapped `map` and `sync.RWMutex` for `TxPool.all` to remove contention in `TxPool.Get`. * core: Remove redundant `txLookup.Find` and improve comments on txLookup methods. | ||||
* | core/vm: fix typo in instructions.go (#16788) | Abel Nieto | 2018-05-23 | 1 | -1/+1 |
| | |||||
* | core/types: convert status type from uint to uint64 (#16784) | gary rong | 2018-05-23 | 2 | -8/+10 |
| | |||||
* | Merge pull request #16758 from hadv/fix/typos | Péter Szilágyi | 2018-05-20 | 1 | -1/+1 |
|\ | | | | | Fix some typos in comment code and output log |