aboutsummaryrefslogtreecommitdiffstats
path: root/core
Commit message (Collapse)AuthorAgeFilesLines
...
* core: vm: change offset type to int256Wei-Ning Huang2019-04-091-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 Huang2019-04-094-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 Huang2019-04-091-4/+7
|
* core: more fix on light node synchronization (#32)Wei-Ning Huang2019-04-093-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 Huang2019-04-092-1/+42
|
* core: fix light node synchronization issue (#30)Wei-Ning Huang2019-04-094-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 Huang2019-04-092-10/+10
|
* app: add cache to reuse same tx address which has already recovered (#26)BJ42019-04-093-3/+41
|
* core: refactor validator and fix light node sync (#25)Wei-Ning Huang2019-04-098-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)Sonic2019-04-091-9/+6
| | | No need to store round 0, it's already pushed in genesis block
* dex, core: Fix make fail (#24)Jimmy Hu2019-04-091-1/+1
|
* core, dex: Optimize sender calculation in block transactions. (#22)Jimmy Hu2019-04-092-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 Huang2019-04-094-32/+63
| | | | | * vendor: sync consensus core * core: validate DKG set with correct nodeset in round-2
* core: vm: Optimize evm (#13)Jimmy Hu2019-04-095-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)Sonic2019-04-092-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 Huang2019-04-091-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 Huang2019-04-091-3/+3
|
* core: fix staked calculation in genesis (#8)Jimmy Hu2019-04-091-4/+0
|
* core: vm: expose governance contract ABI (#5)Wei-Ning Huang2019-04-091-2/+2
|
* core: blockchain: fix NewBlockChainWithDexonValidator (#4)Wei-Ning Huang2019-04-091-1/+1
|
* core: genesis: make ToBlock() compatible with legacy ethereum code (#3)Wei-Ning Huang2019-04-091-28/+36
| | | | Make ToBlock() compatible with legacy ethereum code so we can run tests normally.
* app: fix core testBJ42019-04-097-37/+144
|
* core: vm: governance: add node infoWei-Ning Huang2019-04-096-10/+149
|
* core: validate roundHeight mapping in governance contractWei-Ning Huang2019-04-095-4/+43
|
* core: GenerateChainWithRoundChange for testingSonic2019-04-093-0/+598
|
* app: lock by chain correctly and remove old core in vendorBJ42019-04-091-46/+49
|
* core: vm: governance: remove maxIntervalWei-Ning Huang2019-04-091-32/+0
|
* core: vm: add nodesLengh method for reading nodeSet sizeWei-Ning Huang2019-04-091-0/+20
|
* Rename import due to dexon-consensus renameWei-Ning Huang2019-04-093-18/+18
|
* dex: minor refactorWei-Ning Huang2019-04-091-6/+5
|
* app: add lock to prevent concurrent map read writeBojie Wu2019-04-091-0/+3
|
* core: tx_pool: remove transactions on BlockConfirmed eventWei-Ning Huang2019-04-094-41/+53
|
* dex: add block gas limit into governanceWei-Ning Huang2019-04-091-0/+35
|
* app: using lock correctly to use map safelyBojie Wu2019-04-091-56/+86
|
* app: fix concurrent map read write issue and accept fail transaction when ↵Bojie Wu2019-04-091-1/+7
| | | | round change
* core: fix blockReward serializationWei-Ning Huang2019-04-092-37/+28
|
* app: add cache mechanism to increase performanceBojie Wu2019-04-093-152/+136
|
* core: set correct balance for governance contractWei-Ning Huang2019-04-092-1/+7
|
* dex: return round in get block rpc outputWei-Ning Huang2019-04-092-4/+5
|
* app: fix concurrent read write issue with mapBojie Wu2019-04-091-0/+6
|
* dex: remove uneeded info from block headerWei-Ning Huang2019-04-093-90/+87
|
* core: types: fix header marshal jsonSonic2019-04-092-34/+72
|
* vendor: sync consensus core and fix conflictWei-Ning Huang2019-04-091-7/+8
|
* app: correct process pending block logicBojie Wu2019-04-091-126/+111
|
* dex: fix missing randomness assignmentWei-Ning Huang2019-04-091-1/+1
|
* dex: fix DKG round switchingWei-Ning Huang2019-04-091-6/+18
|
* dex: fix round switching and initialize dMoment correctlyWei-Ning Huang2019-04-091-1/+2
|
* dex: misc fixesWei-Ning Huang2019-04-091-3/+3
|
* app: check nonce and balance in prepare payloadBojie Wu2019-04-092-5/+3
|
* core: included Dexcon metadata in blockWei-Ning Huang2019-04-091-2/+3
|
* Remove reference of Rinkeby network.Wei-Ning Huang2019-04-092-26/+1
| | | | We do not need ethereum Rinkeby network in our system, remove it.
* core: populate genesisAlloc in source code with DEXON genesis dataWei-Ning Huang2019-04-093-15/+46
|
* dex: use RLP to encode contract payload dataWei-Ning Huang2019-04-091-6/+6
|
* app: implement verify block logicBojie Wu2019-04-092-1/+51
|
* consensus: dexcon: fetch config from stateWei-Ning Huang2019-04-091-19/+22
|
* core: vm: add blockReward to governanceWei-Ning Huang2019-04-092-4/+39
|
* dex: fix public key parsing due to changes in consensus coreWei-Ning Huang2019-04-091-1/+4
|
* core: set governance owner in genesisWei-Ning Huang2019-04-091-1/+3
|
* params: load blockReward from genesis JSON fileWei-Ning Huang2019-04-091-0/+1
|
* app: fixup message formatWei-Ning Huang2019-04-091-3/+3
|
* app: implement new insert blocks logicBojie Wu2019-04-093-18/+246
|
* test: create account storage for governance contractWei-Ning Huang2019-04-091-1/+1
|
* core/dex: fix governance contract implementationWei-Ning Huang2019-04-091-19/+13
|
* core: vm: implement RAND opcode supportWei-Ning Huang2019-04-099-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 fixesWei-Ning Huang2019-04-092-2/+3
|
* app: correct dexon application logicBojie Wu2019-04-092-48/+37
|
* core: fix nil map initializationWei-Ning Huang2019-04-091-0/+7
|
* app: init mapBojie Wu2019-04-091-15/+17
|
* core: setup stake in order so genesis block is deterministicWei-Ning Huang2019-04-091-1/+26
|
* core: vm: modify dkg thresholdJimmy Hu2019-04-091-1/+1
|
* core: vm: add GovernanceStateHelper testWei-Ning Huang2019-04-092-0/+98
|
* core: populate genesis CRS in genesis stateWei-Ning Huang2019-04-091-0/+5
|
* dex: bug fix to allow running geth without crashingWei-Ning Huang2019-04-092-9/+1
|
* dex: implement sendTx related governance methodsWei-Ning Huang2019-04-091-0/+5
|
* core: vm: validate if mpk, complaint, finalize is in DKG setWei-Ning Huang2019-04-091-36/+62
|
* core: vm: allow other people to stake for a nodeWei-Ning Huang2019-04-091-6/+0
|
* dex: implement some governance interface functionsWei-Ning Huang2019-04-091-213/+342
|
* dex: governance: implement governance interfaceWei-Ning Huang2019-04-092-11/+23
|
* app: implement new interface methodBojie Wu2019-04-091-0/+56
|
* core: populate dexon configuration in SetupGenesisBlockWei-Ning Huang2019-04-092-31/+28
|
* dex: implement dexon application interfaceBojie Wu2019-04-091-0/+4
|
* core: add stake and public key to genesis account infoWei-Ning Huang2019-04-094-46/+95
|
* core: vm: check pk ownership in stake()Wei-Ning Huang2019-04-091-1/+12
|
* core: vm: expose nodes as publicWei-Ning Huang2019-04-091-14/+52
|
* core: vm: add eventlog for governance contractWei-Ning Huang2019-04-091-41/+98
|
* core: vm: refactor and add DKGFinalizeds related implementationsWei-Ning Huang2019-04-091-94/+300
|
* dex: redesign p2p network topologySonic2019-04-091-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 methodsWei-Ning Huang2019-04-091-132/+275
|
* core: vm: check if caller already staked when adding dkg mpkJimmy Hu2019-04-091-0/+7
|
* core: vm: fix bug and add gas usageWei-Ning Huang2019-04-092-22/+55
|
* core: vm: finish implementing state helperWei-Ning Huang2019-04-091-23/+206
|
* core: vm: update governance contract ABIWei-Ning Huang2019-04-091-9/+75
|
* core: vm: implement governance contract methodsWei-Ning Huang2019-04-091-51/+218
|
* core: vm: add governance contract skeletonWei-Ning Huang2019-04-092-0/+495
|
* Change import go github.com/dexon-foundation/dexonWei-Ning Huang2019-04-0995-333/+333
|
* core: minor code polishes + rebase fixesPéter Szilágyi2019-04-082-41/+54
|
* core: re-omit new log event when logs rebirthrjl4934564422019-04-082-9/+224
|
* all: simplify timestamps to uint64 (#19372)Martin Holst Swende2019-04-089-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 GoerliPéter Szilágyi2019-02-192-1/+13
| | | | (cherry picked from commit b0ed083ead2d58cc25754eacdb48046eb2bc81cb)
* core: fix pruner panic when importing low-diff-large-sidechainPéter Szilágyi2019-02-103-86/+44
|
* core: repro #18977Martin Holst Swende2019-02-102-1/+104
|
* core: fix error in block iterator (#18986)Martin Holst Swende2019-02-102-11/+3
|
* core, cmd/puppeth: implement constantinople fix, disable EIP-1283 (#18486)Martin Holst Swende2019-01-303-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 rong2019-01-112-8/+16
| | | | | | * core, eth: fix database version * eth: polish error message
* Merge pull request #18371 from jeremyschlatter/patch-1Péter Szilágyi2019-01-041-1/+1
|\ | | | | core/types: update incorrect comment
| * core/types: update incorrect commentJeremy Schlatter2018-12-291-1/+1
| |
* | vendor, crypto, swarm: switch over to upstream sha3 packageDave McGregor2019-01-043-8/+8
|/
* core: sanitize more TxPoolConfig fields (#17210)Jordan Krage2018-12-202-1/+21
| | | | | | * core: sanitize more TxPoolConfig fields * core: fix TestTransactionPendingMinimumAllowance
* core/state: rename 'new' variable (#18301)Shuai Qi2018-12-141-2/+2
|
* Comment error (#18303)qd-ethan2018-12-141-1/+1
|
* cmd/geth, core, eth: implement Constantinople override flag (#18273)Martin Holst Swende2018-12-111-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 Swende2018-12-101-0/+83
| | | | filesystem
* core, internal, eth, miner, les: Take VM config from BlockChain (#17955)Paweł Bylica2018-12-061-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 Swende2018-11-291-0/+6
|
* core: more detailed metrics for block processing (#18119)Martin Holst Swende2018-11-281-1/+12
|
* fix mixHash/nonce for parity compatible network (#18166)Jaynti Kanani2018-11-262-12/+12
|
* core: return error if repair block failed (#18126)mr_franklin2018-11-231-1/+5
| | | | | | * core: return error if repair block failed * make error a bit shorter
* Merge pull request #17973 from holiman/splitter2Péter Szilágyi2018-11-223-157/+368
|\ | | | | core: better side-chain importing
| * core: polish side chain importer a bitPéter Szilágyi2018-11-213-294/+328
| |
| * core: better side-chain importingMartin Holst Swende2018-11-201-96/+273
| |
* | core: better printout of receipts in bad block reports (#18156)Martin Holst Swende2018-11-221-2/+4
| | | | | | | | | | | | * core/blockchain: better printout of receipts in bad block reports * fix splleing
* | core: fix comment typo (#18144)mr_franklin2018-11-211-1/+1
|/
* core, eth/downloader: fix ancestor lookup for fast syncPéter Szilágyi2018-11-162-2/+20
|
* cmd, core, eth, light, trie: add trie read caching layerPéter Szilágyi2018-11-152-11/+24
|
* core: fix default trie cache limit (#17860)gary rong2018-11-131-1/+1
|
* rawdb: remove unused parameter for WritePreimages func (#18059)Corey Lin2018-11-093-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 Lange2018-11-091-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_extcodehashPéter Szilágyi2018-11-081-1/+6
|\ | | | | core/vm: check empty in extcodehash
| * core/vm: check empty in extcodehashMartin Holst Swende2018-10-261-1/+6
| |
* | core/vm, eth/tracers: use pointer receiver for GetRefund (#18018)Corey Lin2018-11-081-1/+1
| |
* | eth/downloader: speed up tests by generating chain only once (#17916)Felix Lange2018-11-071-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 Swende2018-11-071-6/+6
|/
* core/state: simplify proof methods (#17965)Felix Lange2018-10-242-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 Swende2018-10-233-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)Wuxiang2018-10-191-1/+1
|
* EIP-1186 eth_getProof (#17737)Simon Jentzsch2018-10-192-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)Smilenator2018-10-161-1/+1
|
* core/vm: add shortcuts for trivial exp cases (#16851)Martin Holst Swende2018-10-161-4/+16
|
* core/asm: Use hexadecimal addresses in assembly dumps (#17870)Guillaume Ballet2018-10-091-4/+4
|
* core/types: Log.Index is the index in block, not receipt (#17866)Wenbiao Zheng2018-10-081-1/+1
|
* core/vm: reuse Keccak-256 hashes across opcode executions (#17863)Péter Szilágyi2018-10-083-6/+48
|
* core/vm : fix failing testcase (#17852)Martin Holst Swende2018-10-061-1/+2
| | | | | | * core/vm : fix failing testcase * core/vm: fix nitpick
* core/vm: SHA3 word cost for CREATE2 (#17812)Martin Holst Swende2018-10-052-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 Swende2018-10-046-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 Zsolt2018-10-031-6/+6
|
* core: fix unnecessary ancestor lookup after a fast sync (#17825)Péter Szilágyi2018-10-031-5/+5
|
* core, internal/ethapi: add and use LRU cache for receipts (#17610)Ryan Schneider2018-09-301-6/+18
|
* core/types: make tx signature values optional in JSON (#17742)reinerRubin2018-09-302-12/+23
|
* core/types: fix typos (#17762)thumb84322018-09-301-2/+2
|
* all: fix various comment typos (#17748)Liang ZOU2018-09-252-2/+2
|
* Merge pull request #17383 from holiman/eip1283Péter Szilágyi2018-09-218-138/+164
|\ | | | | Eip1283
| * core, params: polish net gas metering PR a bitPéter Szilágyi2018-09-189-218/+138
| |
| * core,state: finish implementing Eip 1283Martin Holst Swende2018-09-186-16/+41
| |
| * core, state: initial implementation of Eip-1283Martin Holst Swende2018-09-185-3/+84
| |
* | core: fix a typo (#17733)Wuxiang2018-09-211-2/+2
| |
* | core, eth: fix dependency cycle (#17720)gary rong2018-09-211-50/+21
| |
* | all: protect self-mined block during reorg (#17656)gary rong2018-09-208-35/+75
| |
* | common, core, light: add block age into info logsPéter Szilágyi2018-09-202-12/+30
| |
* | core/vm: add switches to select evm+ewasm interpreters (#17687)Guillaume Ballet2018-09-202-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.11Péter Szilágyi2018-09-191-1/+1
|/
* Merge pull request #17622 from karalabe/chain-maker-sealPéter Szilágyi2018-09-171-2/+8
|\ | | | | consensus/clique, core: chain maker clique + error tests
| * consensus/clique, core: chain maker clique + error testsPéter Szilágyi2018-09-111-2/+8
| |
* | all: simplify s[:] to s where s is a slice (#17673)Emil2018-09-152-3/+3
| |
* | core/vm: fix typo 'EVM EVM' ==> 'EVM' (#17654)Liang ZOU2018-09-131-1/+1
|/
* core/vm: Hide read only flag from Interpreter interface (#17461)Paweł Bylica2018-09-082-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 Choi2018-09-051-1/+1
|
* core/vm, tests: update tests, enable constantinople statetests, fix SAR ↵Martin Holst Swende2018-09-041-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 Zheng2018-09-032-6/+6
|
* cmd, core, eth, miner, params: configurable gas floor and ceilPéter Szilágyi2018-08-293-10/+17
|
* core: safe indexer operation when syncing starts before the checkpoint (#17511)Felföldi Zsolt2018-08-281-11/+45
|
* all: make indexer configurable (#17188)gary rong2018-08-281-1/+0
|
* core: fix typos in comment (#17531)Sheldon2018-08-281-4/+4
|
* all: remove the duplicate 'the' in annotations (#17509)Wenbiao Zheng2018-08-273-3/+3
|
* miner: fix state commit, track old work packages too (#17490)gary rong2018-08-231-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 rong2018-08-231-3/+6
|
* cmd, core, miner: add --txpool.locals and priority miningPéter Szilágyi2018-08-221-4/+35
|
* core/types: fix docs about protected Vs (#17436)Aditya2018-08-201-1/+1
|
* miner: regenerate mining work every 3 seconds (#17413)gary rong2018-08-161-3/+0
| | | | | | * miner: regenerate mining work every 3 seconds * miner: polish
* light: CHT and bloom trie indexers working in light mode (#16534)Felföldi Zsolt2018-08-162-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 rong2018-08-141-3/+4
| | | | | | | | * miner: move agent logic to worker * miner: polish * core: persist block before reorg
* crypto: change formula for create2 (#17393)gary rong2018-08-141-1/+1
|
* core: fix comment typo (#17376)Mymskmkt2018-08-131-2/+2
|
* core/vm: fix comment typo (#17319)stormpang2018-08-061-1/+1
| | | | antything --> anything :P
* core/vm: update benchmarks for core/vm (#17308)Hyung-Kyu Hqueue Choi2018-08-031-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 ĐANG2018-07-311-1/+1
|
* core: fix some small typos on comment code (#17278)Ha ĐANG2018-07-303-3/+3
|
* all: simplify switches (#17267)Oleg Kovalov2018-07-301-2/+1
| | | | | | * all: simplify switches * silly mistake
* core: report progress on log chain exports (#17066)Raghav Sood2018-07-261-3/+7
| | | | | | * core/blockchain: export progress * core: polish up chain export progress report a bit
* core/vm: support for multiple interpreters (#17093)Guillaume Ballet2018-07-256-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 Rondelet2018-07-251-5/+5
|
* core: fix typo in comment codehadv2018-07-251-1/+1
|
* core: fix txpool guarantee comment (#17214)Osuke2018-07-241-1/+1
| | | | | | * fixed-typo * core: fix txpool guarantee comment
* core/vm, params: implement EXTCODEHASH opcode (#17202)gary rong2018-07-244-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 rong2018-07-246-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 Zheng2018-07-241-3/+3
|
* core/bloombits, light: fix typos (#17235)Sheldon2018-07-242-6/+6
|
* core, ethdb: two tiny fixes (#17183)gary rong2018-07-181-12/+18
| | | | | | | | * ethdb: fix memory database * core: fix bloombits checking * core: minor polish
* core/types: polish TxDifference code and docs a bit (#17130)Smilenator2018-07-091-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 Ballet2018-07-034-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 rong2018-07-022-10/+18
|
* core/vm: clear linter warnings (#17057)Guillaume Ballet2018-06-269-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ágyi2018-06-213-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 Zheng2018-06-194-48/+34
| | | | | | * core: move test util var/func to test file * core: remove useless func
* core/asm: correct comments typo (#16974)Caesar Chad2018-06-141-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 Zheng2018-06-141-5/+3
|
* core/vm: optimize MSTORE and SLOAD (#16939)Martin Holst Swende2018-06-143-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 Chad2018-06-141-1/+1
| | | core/asm/lexer: correct comments typo
* core: change comment to match code more closely (#16963)John C. Vernaleo2018-06-131-1/+1
|
* core, eth, les: more efficient hash-based header chain retrieval (#16946)Felföldi Zsolt2018-06-122-0/+49
|
* core/rawdb: wrap db key creations (#16914)Wenbiao Zheng2018-06-114-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 Swende2018-06-111-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)ledgerwatch2018-06-071-1/+1
|
* Merge pull request #16882 from karalabe/streaming-ecrecoverPéter Szilágyi2018-06-053-0/+113
|\ | | | | core: concurrent background transaction sender ecrecover
| * core: concurrent background transaction sender ecrecoverPéter Szilágyi2018-06-053-0/+113
| |
* | params: fix golint warnings (#16853)kiel barry2018-06-054-13/+13
|/ | | params: fix golint warnings
* core: fix typo in comment codehadv2018-06-051-1/+1
|
* core, eth, trie: streaming GC for the trie cache (#16810)Péter Szilágyi2018-06-041-22/+20
| | | | | | * core, eth, trie: streaming GC for the trie cache * trie: track memcache statistics
* core: fix transaction event asynchronicityPéter Szilágyi2018-05-301-1/+1
|
* trie: rename TrieSync to Sync and improve hexToKeybytes (#16804)Wenbiao Zheng2018-05-291-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-1Péter Szilágyi2018-05-291-1/+1
|\ | | | | core/vm: fix typo in comment
| * core/vm: fix typo in commentAbel Nieto2018-05-291-1/+1
| |
* | core: improve test for TransactionPriceNonceSort (#16413)kimmylin2018-05-291-22/+7
|/
* common: improve documentation comments (#16701)kiel barry2018-05-292-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 Schneider2018-05-233-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 Nieto2018-05-231-1/+1
|
* core/types: convert status type from uint to uint64 (#16784)gary rong2018-05-232-8/+10
|
* Merge pull request #16758 from hadv/fix/typosPéter Szilágyi2018-05-201-1/+1
|\ | | | | Fix some typos in comment code and output log
| * core, consensus: fix some typos in comment code and output loghadv2018-05-191-1/+1
| |
* | core, eth: minor txpool event cleanupsPéter Szilágyi2018-05-184-47/+44
| |
* | all: collate new transaction events togetherrjl4934564422018-05-184-33/+66
|/
* all: get rid of error when creating memory database (#16716)gary rong2018-05-0919-131/+96
| | | | | | | | * all: get rid of error when create mdb * core: clean up variables definition * all: inline mdb definition
* core/rawdb: separate raw database access to own package (#16666)Péter Szilágyi2018-05-0716-945/+989
|
* Merge pull request #16576 from CrispinFlowerday/bugfix/local_underpriced_txsPéter Szilágyi2018-05-022-10/+14
|\ | | | | core: ensure local transactions aren't discarded as underpriced
| * core: ensure local transactions aren't discarded as underpricedCrispin Flowerday2018-05-022-10/+14
| | | | | | | | | | This fixes an issue where local transactions are discarded as underpriced when the pool and queue are full.
* | core: golint updates for this or self warning (#16633)kiel barry2018-05-024-18/+18
|/
* core, eth: fix tracer dirty finalizationPéter Szilágyi2018-04-272-21/+5
|
* core/state: cache missing storage entries (#16584)Felix Lange2018-04-271-4/+1
|
* core/types: avoid duplicating transactions on changing signer (#16435)kimmylin2018-04-241-1/+4
|
* all: fix various typos (#16533)Wuxiang2018-04-191-1/+1
| | | | | | | | * fix typo * fix typo * fix typo
* core/asm: accept uppercase instructions (#16531)dm42018-04-191-2/+2
|
* core/asm: remove unused condition (#16487)dm42018-04-181-3/+0
|
* build: enable goimports and varcheck linters (#16446)thomasmodeneis2018-04-184-10/+0
|
* core: txpool stable underprice drop order, perf fixesPéter Szilágyi2018-04-123-24/+101
|
* core/state: fix ripemd-cornercase in CopyMartin Holst Swende2018-04-111-2/+8
|
* core/state: fix bug in copy of copy StateMartin Holst Swende2018-04-112-0/+26
|
* core: remove stray account creations in state transition (#16470)Felix Lange2018-04-101-42/+16
| | | | | | | | | | | | | | | | The 'from' and 'to' methods on StateTransitions are reader methods and shouldn't have inadvertent side effects on state. It is safe to remove the check in 'from' because account existence is implicitly checked by the nonce and balance checks. If the account has non-zero balance or nonce, it must exist. Even if the sender account has nonce zero at the start of the state transition or no balance, the nonce is incremented before execution and the account will be created at that time. It is safe to remove the check in 'to' because the EVM creates the account if necessary. Fixes #15119
* common: delete StringToAddress, StringToHash (#16436)Felix Lange2018-04-101-2/+2
| | | | | | | | | | * common: delete StringToAddress, StringToHash These functions are confusing because they don't parse hex, but use the bytes of the string. This change removes them, replacing all uses of StringToAddress(s) by BytesToAddress([]byte(s)). * eth/filters: remove incorrect use of common.BytesToAddress
* Merge pull request #15225 from holiman/test_removefrom_dirtysetPéter Szilágyi2018-04-106-91/+277
|\ | | | | Change handling of dirty objects in state
| * core: add blockchain benchmarksMartin Holst Swende2018-04-101-0/+111
| |
| * state: handle nil in journal dirtiesMartin Holst Swende2018-04-101-1/+11
| |