Commit Graph

1662 Commits

Author SHA1 Message Date
zzy96 e854ebaabe add cancelPendingOperation api in quorumNodeMgmt 2019-01-24 14:25:44 +08:00
vsmk98 94aa2382ce Added validation to check if anything is pending approval for node approve, deactivation approve, activation approve and blacklisting approval 2019-01-18 14:20:40 +08:00
vsmk98 061c9b85ce merge with master 2019-01-14 13:53:05 +08:00
vsmk98 c31fa5cfa5 changes to set readOnlyDepth only once during the entire opCode execution 2019-01-14 11:53:33 +08:00
SatpalSandhu61 895947de48 Currently, we can't tell the reason for evm failure, so change log message for EVM failure reason from Debug to Info. This is helpful to users and makes analysis of issues much easier. 2019-01-10 13:54:38 +08:00
amalraj.manigmail.com 741fe1b33f quorun: add json camelCase name for api's output structs 2019-01-09 13:39:32 +08:00
vsmk98 b40b7ab148 added api for listing the voters for a master org 2019-01-08 17:27:13 +08:00
vsmk98 45189d42c7 minor changes to avoid package name changes of abigen output 2019-01-08 14:40:57 +08:00
Samer Falah d77cb778ca
Merge pull request #563 from Puneetha17/private_rawtx
Do not reset V value if the tx is already set to private
2019-01-07 09:22:20 -05:00
vsmk98 99e717bd1a changed api signature from key managment to org management 2019-01-07 10:23:22 +08:00
vsmk98 23e0cecdc5 contract change to add api for org listing 2018-12-13 20:58:36 +05:30
vsmk98 f5981f0c7e latest changes for cluster key management 2018-12-12 13:07:13 +05:30
Trung Nguyen 67c9b4332f
staticcall does not modify states so no need to push to stack 2018-12-11 16:54:18 -05:00
vsmk98 7903dac340 latest changes for cluster key management 2018-12-11 10:07:19 +05:30
SatpalSandhu61 50da8eaf0d Fix for issue 576 where private transactions can cause block gas limit to be exceeded, leading to BAD BLOCK. 2018-12-10 15:30:28 +00:00
SatpalSandhu61 5af110984a Fix for issue 576 where private transactions can cause block gas limit to be exceeded, leading to BAD BLOCK. 2018-12-10 09:58:16 +00:00
Michael Gu 8ca92333f3
Merge branch 'master' into photic-tx-size-limit 2018-12-05 22:53:18 +02:00
Trung Nguyen 089841e036
added dual state implementation to StaticCall 2018-12-05 13:47:01 -05:00
Samer Falah d4db92f69e
Merge pull request #570 from jbhurat/missing-logs-events
Adding private log blooms to DB in addition to public log bloom
2018-12-02 20:08:30 -05:00
amalraj.manigmail.com 13a9f26f9a Merge remote-tracking branch 'quorum/master' into geth-upgrade-1.8.16 2018-11-29 17:56:02 +08:00
amalraj.manigmail.com 519337a9d0 Merge remote-tracking branch 'quorum/master' into geth-upgrade-1.8.16 2018-11-29 16:57:27 +08:00
Trung Nguyen c2a580217f
fixed method signature 2018-11-28 16:17:05 -05:00
vsmk98 36000ec2a1 changes to set readOnlyDepth only once during the entire opCode execution 2018-11-28 15:01:52 +08:00
amalraj.manigmail.com 7e1aa97d65 core/vm: revert to joel's change to getdualstate. This is a mandatory change for quorum
dual state & read only EVM

    This commit implements a dual state approach. The dual state approach
    separates public and private state by making the core vm environment
    context aware.

    Although not currently implemented it will need to prohibit value
    transfers and it must initialise all transactions from accounts on the
    public state. This means that sending transactions increments the
    account nonce on the public state and contract addresses are derived
    from the public state when initialised by a transaction. For obvious
    reasons, contract created by private contracts are still derived from
    public state.

    This is required in order to have consensus over the public state at all
    times as non-private participants would still process the transaction on
    the public state even though private payload can not be decrypted. This
    means that participants of a private group must do the same in order to
    have public consensus. However the creation of the contract and
    interaction still occurs on the private state.

    It implements support for the following calling model:

    S: sender, (X): private, X: public, ->: direction, [ ]: read only mode

    1. S -> A -> B
    2. S -> (A) -> (B)
    3. S -> (A) -> [ B -> C ]

    It does not support

    1. (S) -> A
    2. (S) -> (A)
    3. S -> (A) -> B

    Implemented "read only" mode for the EVM. Read only mode is checked
    during any opcode that could potentially modify the state. If such an
    opcode is encountered during "read only", it throws an exception.

    The EVM is flagged "read only" when a private contract calls in to
    public state.
2018-11-27 11:36:59 +08:00
amalraj.manigmail.com 66d46778e6 Merge remote-tracking branch 'quorum/master' into geth-upgrade-1.8.12
# Conflicts:
#	core/tx_pool_test.go
#	miner/worker.go
2018-11-26 15:17:57 +08:00
Trung Nguyen 99dcc0fd3f
fix unit test for PR 510 2018-11-23 11:20:31 -05:00
Samer Falah 40cf04732e
Merge pull request #510 from nathanawmk/master
Update max transaction size limit.
2018-11-23 10:16:54 -05:00
vsmk98 6b132548ec Merge remote-tracking branch 'vsmk/geth-upgrade-1.8.12' into 1812-permission-rpc-api
merge with geth-upgrade-1812
2018-11-23 17:29:26 +08:00
amalraj.manigmail.com 1783419ce5 core/vm : remove get dual state calls in some op codes as its unnecessary. evm push is setting stateDB to public / private correctly. 2018-11-23 14:51:03 +08:00
amalraj.manigmail.com 33724be5a7 revert to getDualState instead of evm.StateDB as per quorum 2018-11-22 17:08:45 +08:00
amalraj.manigmail.com 8438d79754 update gas limit as per quorum upstream 2018-11-22 15:41:04 +08:00
Michael Gu 927284b420 Add --txsizelimit flag to geth CLI that allows expansion of transaction size limit used by tx_pool.go => validateTx() 2018-11-21 12:56:55 -05:00
vsmk98 5b34cb7eee handling null pointer error for voter list when network brought in non permissioned mode 2018-11-20 22:51:49 +08:00
vsmk98 939142786e handled null pointer error for permissioned node and account list when network is brought in non-permissioned mode 2018-11-20 22:36:24 +08:00
vsmk98 cdf0e0dd5e validation to check voter account access before adding as voter 2018-11-20 21:29:03 +08:00
vsmk98 844fb584d2 changed to update permissioned-nodes.json, added additional check in api.go 2018-11-20 15:43:56 +08:00
vsmk98 bac8c0b048 addiitional checks in api, reduction of voter length upon delete 2018-11-19 14:59:10 +08:00
vsmk98 3da089da31 changes to check the details of node for approval 2018-11-19 11:58:34 +08:00
amalraj.manigmail.com 4543d5fde4 add voter list api 2018-11-16 13:40:36 +08:00
amalraj.manigmail.com e667a03b09 add permission account list api 2018-11-16 12:21:50 +08:00
vsmk98 4fdb4ec480 changes to account access logic 2018-11-16 11:07:10 +08:00
vsmk98 d49ed0318e Merge branch '1812-permission-rpc-api' of https://github.com/vsmk98/quorum into 1812-permission-rpc-api
merge with Amal's api segregation changes
2018-11-15 13:25:25 +08:00
vsmk98 4bcae7bd9b fatal error if a node joins permissioned network in non permissioned mode 2018-11-15 13:23:59 +08:00
amalraj.manigmail.com 9254d4c192 code improvements 2018-11-15 12:32:11 +08:00
amalraj.manigmail.com 20c8847831 Merge remote-tracking branch 'saiv/1812-permission-rpc-api' into 1812-permission-rpc-api-new
# Conflicts:
#	controls/permission/permission.go
2018-11-14 18:25:15 +08:00
amalraj.manigmail.com 9628cb5e2b format code 2018-11-14 18:24:28 +08:00
vsmk98 9eaace0990 removed commented code 2018-11-14 18:14:55 +08:00
vsmk98 405204cd23 remove p2p from api 2018-11-14 18:03:50 +08:00
vsmk98 7c94184803 changes for node list 2018-11-14 17:58:57 +08:00
vsmk98 3a3850af2c additional changes 2018-11-13 16:15:28 +08:00
gary rong 1212c7b844 core: fix default trie cache limit (#17860) 2018-11-12 18:06:34 +02:00
amalraj.manigmail.com f5c87e48a4 remove log messages added for debugging 2018-11-12 16:21:57 +08:00
amalraj.manigmail.com b6f497c5ef code improvements to quorum api 2018-11-12 16:16:56 +08:00
Corey Lin 1ff152f3a4 rawdb: remove unused parameter for WritePreimages func (#18059)
* rawdb: remove unused parameter for WritePreimages func and modify a
spelling mistake

* rawdb: update the doc for function WritePreimages
2018-11-09 12:51:07 +02:00
Felix Lange 870efeef01
core/state: remove lock (#18065)
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.
2018-11-08 21:37:19 +01:00
Péter Szilágyi d0675e9d9c
Merge pull request #17982 from holiman/polish_contantinople_extcodehash
core/vm: check empty in extcodehash
2018-11-08 14:26:04 +02:00
Corey Lin a5dc087845 core/vm, eth/tracers: use pointer receiver for GetRefund (#18018) 2018-11-08 13:07:15 +01:00
vsmk98 e3112a05ac Merge branch '1812-permission-rpc-api' of https://github.com/vsmk98/quorum into 1812-permission-rpc-api
merge for LRU cache implementation
2018-11-08 11:35:57 +08:00
vsmk98 345944eb73 Fixed error handling 2018-11-08 11:35:29 +08:00
Puneetha 4658a1542e Do not reset V value if the tx is already set to private 2018-11-07 17:22:45 +00:00
Felix Lange 0bcff8f525
eth/downloader: speed up tests by generating chain only once (#17916)
* 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.
2018-11-07 15:07:43 +01:00
amalraj.manigmail.com ac2513c5a3 merge with lru cache usage 2018-11-07 20:50:49 +08:00
Martin Holst Swende eea3ae42a3 core, eth/downloader: fix validation flaw, fix downloader printout flaw (#17974) 2018-11-07 14:47:11 +02:00
amalraj.manigmail.com 3cb4bc2536 use lru cache for storing account access and org key map 2018-11-07 20:38:48 +08:00
vsmk98 6c34dc5199 Fixed error handling 2018-11-07 16:17:56 +08:00
vsmk98 b28fa8b445 additional APIs 2018-11-07 13:58:51 +08:00
vsmk98 3c68a587ba Added additional APIs 2018-11-05 23:44:23 +08:00
vsmk98 df4bec88db removed logging 2018-11-05 11:28:33 +08:00
vsmk98 fd598b49b8 merge with Amals changes 2018-11-02 22:59:20 +08:00
vsmk98 e949a737ab additional changes for permissions 2018-11-02 18:42:14 +08:00
amalraj.manigmail.com fac700181b add comments to quorum api 2018-11-01 13:45:16 +08:00
amalraj.manigmail.com d0c3191d83 quorum/api: add SendTxArgs to accept txn args 2018-11-01 13:12:11 +08:00
vsmk98 5cd1b2c561 formatting changes 2018-11-01 11:02:13 +08:00
amalraj.manigmail.com 033a128450 improvements to quorum api code 2018-10-31 20:46:54 +08:00
amalraj.manigmail.com 01233f583e read account from wallet 2018-10-31 15:15:34 +08:00
amalraj.manigmail.com 46cf4ddfb6 add apis for org key management 2018-10-30 15:59:08 +08:00
amalraj.manigmail.com 1f2504ff08 add all APIs related to node permission 2018-10-30 15:05:41 +08:00
amalraj.manigmail.com 64d8db5678 add api implementation for permission node - propose node 2018-10-30 10:41:01 +08:00
Martin Holst Swende 1b6fd032e3
core/vm: check empty in extcodehash 2018-10-26 08:56:37 +02:00
Jitendra Bhurat ea0c1ffd45 Adding private log blooms to DB in addition to public log bloom 2018-10-24 14:44:11 -04:00
Felix Lange 7f22b59f87 core/state: simplify proof methods (#17965)
This fixes the import cycle build error in core/vm tests.
There is no need to refer to core/vm for a type definition.
2018-10-23 21:51:41 +02:00
Martin Holst Swende 4c0883e20d core/vm: adds refund as part of the json standard trace (#17910)
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.
2018-10-23 16:28:18 +02:00
vsmk98 519348e621 Cherry pick pvt abigen. Make errors exist 2018-10-23 10:21:57 +08:00
Wuxiang d98c45f70f core: fix a typo (#17941) 2018-10-19 16:33:27 +03:00
Simon Jentzsch 97fb08342d EIP-1186 eth_getProof (#17737)
* 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
2018-10-18 21:41:22 +02:00
Smilenator 2868acd80b core/types: fix comment for func SignatureValues (#17921) 2018-10-16 12:45:28 +02:00
Martin Holst Swende a352de6a08 core/vm: add shortcuts for trivial exp cases (#16851) 2018-10-16 00:51:39 +02:00
vsmk98 d6352b30c3 Merge of 1812 with permissions changes and fix of conflicts 2018-10-12 04:24:36 +00:00
amalraj.manigmail.com 662ee40ede fix go test cases 2018-10-10 11:28:19 +08:00
amalraj.manigmail.com fcfc7b6d45 merge with quorum upstream master 2018-10-09 16:01:11 +08:00
Guillaume Ballet 97b2806686 core/asm: Use hexadecimal addresses in assembly dumps (#17870) 2018-10-09 10:27:07 +03:00
Wenbiao Zheng 31c4e3a118 core/types: Log.Index is the index in block, not receipt (#17866) 2018-10-08 13:15:19 +02:00
Péter Szilágyi 1d3d4a4d57 core/vm: reuse Keccak-256 hashes across opcode executions (#17863) 2018-10-08 13:14:29 +02:00
vsmk98 8c2a8ab32a reverted some changes 2018-10-08 06:29:11 +00:00
Martin Holst Swende 58e868b759
core/vm : fix failing testcase (#17852)
* core/vm : fix failing testcase

* core/vm: fix nitpick
2018-10-05 19:02:06 +02:00
vsmk98 d20b42b6a6 test changes 2018-10-05 08:31:09 +00:00
vsmk98 c245bf5c8a reverting changes 2018-10-05 08:20:21 +00:00
Martin Holst Swende 092df3ab59 core/vm: SHA3 word cost for CREATE2 (#17812)
* core/vm: create2 address generation tests

* core/vm: per byte cost of CREATE2

* core/vm: fix linter issue in test
2018-10-05 10:32:35 +03:00
Sai Valiveti 9ab2f224d9 Node crash issue fix 2018-10-05 14:59:20 +08:00
Martin Holst Swende 89a32451ae core/vm: faster create/create2 (#17806)
* 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
2018-10-04 18:15:37 +03:00
amalraj.manigmail.com 2c4081d89f Merge remote-tracking branch 'remotes/goeth/release/1.8' into geth-upgrade-1.8.15_new
fix compilation issues on programs impcted by this merge
2018-10-04 16:21:20 +08:00
amalraj.manigmail.com 47571689ee Merge remote-tracking branch 'remotes/goeth/release/1.8' into geth-upgrade-1.8.15_new
# Conflicts:
#	.travis.yml
#	README.md
#	cmd/utils/flags.go
#	consensus/consensus.go
#	consensus/ethash/consensus.go
#	consensus/ethash/ethash.go
#	core/blockchain.go
#	core/genesis_test.go
#	core/state/state_object.go
#	core/state_processor.go
#	core/vm/errors.go
#	core/vm/evm.go
#	core/vm/gas_table.go
#	core/vm/instructions_test.go
#	core/vm/interface.go
#	eth/api_tracer.go
#	eth/backend.go
#	eth/config.go
#	eth/filters/filter.go
#	les/backend.go
#	les/helper_test.go
#	miner/worker.go
#	params/config.go
#	params/version.go
2018-10-04 16:19:02 +08:00
Felföldi Zsolt 9d06b2c5f3 core: use ChainHeadEvent subscription in the chain indexer (#17826) 2018-10-03 17:25:25 +03:00
Péter Szilágyi 14bef9a2db
core: fix unnecessary ancestor lookup after a fast sync (#17825) 2018-10-03 13:42:19 +03:00
vsmk98 f9a6f1fbb2 code changed for key delete scenario 2018-10-02 08:28:55 +00:00
Nguyen Kien Trung 40f7d2b8b4 Value Transfer in Private Transactions (#538)
Fix #528
2018-10-01 14:37:05 -04:00
Ryan Schneider b69942befe core, internal/ethapi: add and use LRU cache for receipts (#17610) 2018-09-29 22:53:31 +02:00
reinerRubin 86ec213076 core/types: make tx signature values optional in JSON (#17742) 2018-09-29 22:47:59 +02:00
thumb8432 ffca6dfe01 core/types: fix typos (#17762) 2018-09-29 22:11:56 +02:00
vsmk98 7dcd66a543 Cluster key related changes 2018-09-27 11:24:38 +00:00
amalraj.manigmail.com 72270b10c7 Merge remote-tracking branch 'remotes/origin/master' into geth-upgrade-1.8.12
# Conflicts:
#	.travis.yml
#	README.md
#	cmd/geth/genesis_test.go
#	core/genesis.go
#	core/genesis_test.go
#	core/state_processor.go
#	eth/config.go
#	eth/downloader/downloader_test.go
#	eth/protocol_test.go
#	params/config.go
2018-09-27 18:55:55 +08:00
vsmk98 8d3f8bb3d5 Raft: private state tridb commit added 2018-09-27 07:30:00 +00:00
Liang ZOU 6663e5da10 all: fix various comment typos (#17748) 2018-09-25 12:26:35 +02:00
Péter Szilágyi ee92bc537f
Merge pull request #17383 from holiman/eip1283
Eip1283
2018-09-21 14:16:18 +03:00
Wuxiang 81080bf8cb core: fix a typo (#17733) 2018-09-21 13:45:42 +03:00
gary rong ba0a8b7887 core, eth: fix dependency cycle (#17720) 2018-09-20 20:02:15 +03:00
gary rong d6254f827b all: protect self-mined block during reorg (#17656) 2018-09-20 15:09:30 +03:00
Péter Szilágyi 0f2ba07c41
common, core, light: add block age into info logs 2018-09-20 12:56:35 +03:00
Guillaume Ballet da29332c5f core/vm: add switches to select evm+ewasm interpreters (#17687)
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.
2018-09-20 10:44:35 +03:00
Péter Szilágyi faa69bea1c
core, eth: fix goimports for Go 1.11 2018-09-19 11:47:09 +03:00
vsmk98 8dcf1fc02c clean up of log messsages 2018-09-19 07:05:43 +00:00
vsmk98 923d032ea5 clean up of log messsages 2018-09-19 07:01:58 +00:00
vsmk98 405da3b357 clean up of log messsages 2018-09-19 06:59:15 +00:00
Samer Falah 2131e96da1
Merge pull request #517 from jpmorganchase/private-revert-fix
Fix consensus on private contract failure. Fixes #434
2018-09-18 17:12:22 -04:00
Péter Szilágyi 5d921fa3a0
core, params: polish net gas metering PR a bit 2018-09-18 16:29:51 +03:00
Martin Holst Swende caa2c23a38
core,state: finish implementing Eip 1283 2018-09-18 13:08:32 +03:00
Martin Holst Swende 58374e28d9
core, state: initial implementation of Eip-1283 2018-09-18 13:08:28 +03:00
Péter Szilágyi cc21928e12
Merge pull request #17622 from karalabe/chain-maker-seal
consensus/clique, core: chain maker clique + error tests
2018-09-17 11:35:42 +03:00
Emil 86a03f97d3 all: simplify s[:] to s where s is a slice (#17673) 2018-09-14 22:07:13 +02:00
vsmk98 057f11b5e8 Raft: private state tridb commit added 2018-09-14 03:59:10 +00:00
Liang ZOU 72c820c49e core/vm: fix typo 'EVM EVM' ==> 'EVM' (#17654) 2018-09-13 12:48:15 +03:00
Nguyen Kien Trung f13b6aad4f Travis an unit test fixes (#519)
* Used Tessera as a fall back when Constellation is not available in the host
* Used OSX 10.12 instead of 10.13 to avoid Kernel Extension Consent which is not available in CI environment. Can revert back once Travis CI has ability to disable the consent
* Merged upstream PR/Code to fix tests which have intermittent failures
* Cleaned up .travis.yml build matrix
2018-09-11 11:25:24 -04:00
Péter Szilágyi 4bb25042eb
consensus/clique, core: chain maker clique + error tests 2018-09-11 16:40:00 +03:00
apratt3377 8b1edde801 allow private transactions with abigen 2018-09-10 15:44:07 -04:00
Joel Burget 1b301d5ead Fix consensus on private contract failure.
Previously we had populated the public receipt `failed` field with the
result of the transaction. This is correct for public transactions. It's
also correct for successful private transactions. But it's not correct
for failing private transactions, because their public receipt should
not indicate failure. The fix is straightforward.

Testing:

I used this contract:

    contract RevertTest{
       uint public newValue;
       function revertFunction() public{
           uint a = 1;
           require(a == 0);
       }
    }

After deploying the contract I sent in several failing transactions via

    function sendBad() {
      eth.sendTransaction({
      from: eth.accounts[0],
      data: web3.sha3("revertFunction()"),
      gas: 0x47b760,
      privateFor: ["ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc="]
      });
    }

Watching the logs (`1.log` and `2.log`), I saw the `TX-ACCEPTED` events
scroll as I sent `revertFunction` transactions. I see 10 `TX-ACCEPTED`
events in both logs (1 for deploy and 9 tests via `sendBad`).

Via extra logging, in `1.log` I see that the public receipts have status
`1`, whereas private receipts have status `0`. In `2.log` they all have
status `1`.

All nodes stayed up the whole time.

Fixes #434
2018-09-08 10:48:29 -07:00
Paweł Bylica ae992a5d73 core/vm: Hide read only flag from Interpreter interface (#17461)
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.
2018-09-07 18:13:25 +02:00
Hyung-Kyu Hqueue Choi cf33d8b83c core: fix typo in comment (#17586) 2018-09-05 10:29:51 +02:00
Martin Holst Swende 32f28a9360 core/vm, tests: update tests, enable constantinople statetests, fix SAR 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.
2018-09-04 10:49:18 +02:00
Wenbiao Zheng 6a33954731 core, eth, trie: use common/prque (#17508) 2018-09-03 17:33:21 +02:00
Péter Szilágyi e8f229b82e
cmd, core, eth, miner, params: configurable gas floor and ceil 2018-08-29 12:40:12 +03:00
Felföldi Zsolt 63352bf424 core: safe indexer operation when syncing starts before the checkpoint (#17511) 2018-08-28 10:31:34 +03:00
gary rong b69476b372 all: make indexer configurable (#17188) 2018-08-28 10:08:16 +03:00
Sheldon 0bec85f2e2 core: fix typos in comment (#17531) 2018-08-28 10:04:33 +03:00
Wenbiao Zheng d1aa605f1e all: remove the duplicate 'the' in annotations (#17509) 2018-08-27 11:49:29 +03:00
Sai V 8a25cada96 EIP 155 Activation (#502)
Add ChainId validation, add a default networkId and reject network ID 1 for Quorum.
2018-08-23 14:51:13 -04:00
gary rong 40a71f28cf miner: fix state commit, track old work packages too (#17490)
* 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
2018-08-23 16:02:57 +03:00
gary rong c3f7e3be3b core/statedb: deep copy logs (#17489) 2018-08-23 15:59:58 +03:00
Péter Szilágyi e0d0e64ce2
cmd, core, miner: add --txpool.locals and priority mining 2018-08-22 09:43:57 +03:00
Aditya c929030e28 core/types: fix docs about protected Vs (#17436) 2018-08-20 15:14:50 +03:00
vsmk98 7e35574def merge with 1.8.12 version 2018-08-17 03:20:33 +00:00
gary rong 54216811a0 miner: regenerate mining work every 3 seconds (#17413)
* miner: regenerate mining work every 3 seconds

* miner: polish
2018-08-16 14:14:33 +03:00
amalraj.manigmail.com 12b6c5376f core/tx_pool: fix chainId name to chainID and test 2018-08-16 17:35:16 +08:00
amalraj.manigmail.com 9cf76b8aef Merge remote-tracking branch 'remotes/upstream/master' into merge-1812-updated 2018-08-16 17:12:01 +08:00
Felföldi Zsolt 2cdf6ee7e0 light: CHT and bloom trie indexers working in light mode (#16534)
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.
2018-08-15 22:25:46 +02:00
gary rong a1783d1697 miner: move agent logic to worker (#17351)
* miner: move agent logic to worker

* miner: polish

* core: persist block before reorg
2018-08-14 18:34:33 +03:00
gary rong e0e0e53401 crypto: change formula for create2 (#17393) 2018-08-14 18:30:42 +03:00
Mymskmkt fb368723ac core: fix comment typo (#17376) 2018-08-13 11:40:52 +03:00
vsmk98 7038131501 changes to incorporate map and refactoring of code 2018-08-13 02:00:35 +00:00
Nathan Aw e8e44cd60e
Update tx_pool.go
UPDATED to 64KB to support the deployment of bigger contract due to the pressing need for sophisticated/complex contract in financial/capital markets - Nathan Aw
2018-08-12 20:38:07 +08:00
Peter Fox 159d813f35 Transaction signer mismatch fix (#463)
Always use the EIP155 signer for verifying new transactions being added
to the transaction pool and only skip protected public transactions from replay attacks until
we reach EIP155 activation.
2018-08-08 21:30:53 -04:00
amalraj.manigmail.com 95a1b03c3e merge 1.8.12 with upstream/master to apply the fixes/changes added newly 2018-08-06 19:03:51 +08:00
amalraj.manigmail.com e6773756fb merge 1.8.12 with upstream/master to apply the fixes/changes added newly 2018-08-06 19:03:51 +08:00
stormpang 6711f098d5 core/vm: fix comment typo (#17319)
antything --> anything
:P
2018-08-06 11:42:49 +03:00
vsmk98 3cc3978171 Enabling account level permissions adding permissions cache file 2018-08-06 08:18:54 +00:00
vsmk98 fce19dac48 Enabling account level permissions 2018-08-06 05:26:29 +00:00
Hyung-Kyu Hqueue Choi 0ab54de1a5 core/vm: update benchmarks for core/vm (#17308)
- 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>
2018-08-03 08:15:33 +03:00
Samer Falah 58f291f8ff Reject transactions with not enough gas from being sent (#443)
Fixes #309
2018-08-01 11:13:29 -04:00
Ha ĐANG 702b8a7aec core/vm: fix typo in cryptographic hash function name (#17285) 2018-07-31 13:27:51 +03:00
vsmk98 4e3c907531 additionla log messages for permissioning 2018-07-31 01:42:51 +00:00
Ha ĐANG 2cffd4ff3c core: fix some small typos on comment code (#17278) 2018-07-30 14:10:48 +03:00
Oleg Kovalov d42ce0f2c1 all: simplify switches (#17267)
* all: simplify switches

* silly mistake
2018-07-30 12:30:09 +03:00
Sai V ad7c031e85 eth - Storage root retrieval for accounts (#436)
re-enabling eth_storagRoot call
2018-07-27 08:37:29 -04:00
vsmk98 8b31b8931d Transaction level control 2018-07-27 01:29:52 +00:00
Raghav Sood 11a402f747 core: report progress on log chain exports (#17066)
* core/blockchain: export progress

* core: polish up chain export progress report a bit
2018-07-26 14:26:24 +03:00
amalraj.manigmail.com a8d8dc52a5 core: accept changes to validateEvents and test cases from 1.8.12 2018-07-26 19:20:40 +08:00
Guillaume Ballet 7abedf9bbb
core/vm: support for multiple interpreters (#17093)
- 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.
2018-07-25 08:56:39 -04:00
Antoine Rondelet 27a278e6e3 core: fixed typo in addresssByHeartbeat (#17243) 2018-07-25 14:25:14 +03:00
hadv bc0a43191e
core: fix typo in comment code 2018-07-25 18:04:38 +07:00
amalraj.manigmail.com 827cdb7542 core: restore test TestEIP161AccountRemoval from previous quorum version as it is specific to quorum 2018-07-25 14:50:12 +08:00
amalraj.manigmail.com c0b7b1122f core/types: restore test TestTransactionEncode2 from previous quorum version as it is specific to quorum 2018-07-25 14:36:01 +08:00
amalraj.manigmail.com 648465f192 core/types: fix TestEIP155SigningVitalik and TestChainId test cases 2018-07-25 11:44:36 +08:00
Osuke 10780e8a00 core: fix txpool guarantee comment (#17214)
* fixed-typo

* core: fix txpool guarantee comment
2018-07-24 18:44:41 +03:00
gary rong 2433349c80 core/vm, params: implement EXTCODEHASH opcode (#17202)
* core/vm, params: implement EXTCODEHASH opcode

* core, params: tiny fixes and polish

* core: add function description
2018-07-24 18:06:40 +03:00
gary rong cab1cff11c core, crypto, params: implement CREATE2 evm instrction (#17196)
* 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
2018-07-24 17:22:03 +03:00
Wenbiao Zheng d0082bb7ec core: fix comment typo (#17236) 2018-07-24 13:17:12 +03:00
Sheldon 9e24491c65 core/bloombits, light: fix typos (#17235) 2018-07-24 11:24:27 +03:00
amalraj.manigmail.com 7c548e0f74 Merge remote-tracking branch 'remotes/geth/release/1.8' into merge-193
changes related  to merge conflicts
2018-07-24 16:15:38 +08:00
amalraj.manigmail.com c3c479d2aa Merge remote-tracking branch 'remotes/geth/release/1.8' into merge-193
# Conflicts:
#	.github/CODEOWNERS
#	.travis.yml
#	README.md
#	VERSION
#	accounts/abi/argument.go
#	accounts/abi/bind/backends/simulated.go
#	accounts/abi/bind/bind_test.go
#	accounts/abi/event_test.go
#	accounts/abi/numbers.go
#	accounts/abi/numbers_test.go
#	accounts/abi/reflect.go
#	accounts/accounts.go
#	accounts/keystore/keystore.go
#	accounts/keystore/keystore_wallet.go
#	accounts/usbwallet/internal/trezor/trezor.go
#	accounts/usbwallet/ledger.go
#	accounts/usbwallet/wallet.go
#	appveyor.yml
#	build/ci.go
#	build/goimports.sh
#	cmd/ethkey/generate.go
#	cmd/ethkey/inspect.go
#	cmd/ethkey/main.go
#	cmd/ethkey/message.go
#	cmd/ethkey/utils.go
#	cmd/faucet/faucet.go
#	cmd/geth/chaincmd.go
#	cmd/geth/config.go
#	cmd/geth/main.go
#	cmd/geth/misccmd.go
#	cmd/geth/usage.go
#	cmd/p2psim/main.go
#	cmd/puppeth/genesis.go
#	cmd/puppeth/module_dashboard.go
#	cmd/puppeth/wizard_faucet.go
#	cmd/puppeth/wizard_genesis.go
#	cmd/puppeth/wizard_netstats.go
#	cmd/puppeth/wizard_node.go
#	cmd/puppeth/wizard_wallet.go
#	cmd/swarm/config.go
#	cmd/swarm/config_test.go
#	cmd/swarm/db.go
#	cmd/swarm/hash.go
#	cmd/swarm/main.go
#	cmd/swarm/manifest.go
#	cmd/swarm/run_test.go
#	cmd/swarm/upload.go
#	cmd/swarm/upload_test.go
#	cmd/utils/flags.go
#	cmd/wnode/main.go
#	common/bytes.go
#	common/compiler/solidity.go
#	common/hexutil/hexutil.go
#	common/math/big.go
#	common/math/integer.go
#	common/mclock/mclock.go
#	common/types.go
#	common/types_template.go
#	consensus/clique/clique.go
#	consensus/consensus.go
#	consensus/ethash/algorithm.go
#	consensus/ethash/consensus.go
#	consensus/ethash/ethash.go
#	containers/vagrant/Vagrantfile
#	contracts/ens/ens_test.go
#	core/asm/compiler.go
#	core/asm/lexer.go
#	core/block_validator.go
#	core/blockchain.go
#	core/blockchain_test.go
#	core/chain_makers.go
#	core/database_util.go
#	core/database_util_test.go
#	core/events.go
#	core/genesis.go
#	core/genesis_alloc.go
#	core/genesis_test.go
#	core/headerchain.go
#	core/rawdb/accessors_chain.go
#	core/rawdb/accessors_indexes.go
#	core/rawdb/accessors_metadata.go
#	core/rawdb/schema.go
#	core/state/state_test.go
#	core/state/statedb.go
#	core/state/sync.go
#	core/state_processor.go
#	core/state_transition.go
#	core/tx_journal.go
#	core/tx_list.go
#	core/tx_pool.go
#	core/tx_pool_test.go
#	core/types.go
#	core/types/block.go
#	core/types/block_test.go
#	core/types/gen_receipt_json.go
#	core/types/log.go
#	core/types/receipt.go
#	core/types/transaction.go
#	core/types/transaction_signing.go
#	core/types/transaction_signing_test.go
#	core/types/transaction_test.go
#	core/vm/errors.go
#	core/vm/evm.go
#	core/vm/gas.go
#	core/vm/gas_table.go
#	core/vm/instructions.go
#	core/vm/instructions_test.go
#	core/vm/interface.go
#	core/vm/interpreter.go
#	core/vm/intpool.go
#	core/vm/jump_table.go
#	core/vm/logger.go
#	core/vm/logger_test.go
#	core/vm/memory_table.go
#	core/vm/opcodes.go
#	core/vm/runtime/env.go
#	core/vm/runtime/runtime.go
#	crypto/crypto.go
#	crypto/crypto_test.go
#	eth/api.go
#	eth/api_backend.go
#	eth/api_tracer.go
#	eth/backend.go
#	eth/config.go
#	eth/downloader/downloader.go
#	eth/downloader/queue.go
#	eth/downloader/statesync.go
#	eth/filters/filter.go
#	eth/filters/filter_system.go
#	eth/filters/filter_system_test.go
#	eth/gen_config.go
#	eth/handler.go
#	eth/handler_test.go
#	eth/helper_test.go
#	eth/protocol.go
#	eth/sync.go
#	eth/tracers/internal/tracers/4byte_tracer.js
#	eth/tracers/internal/tracers/assets.go
#	eth/tracers/tracer_test.go
#	eth/tracers/tracers_test.go
#	ethclient/ethclient.go
#	ethdb/database.go
#	ethdb/interface.go
#	ethdb/memory_database.go
#	ethstats/ethstats.go
#	event/feed.go
#	internal/ethapi/api.go
#	internal/ethapi/backend.go
#	internal/guide/guide_test.go
#	internal/web3ext/web3ext.go
#	les/api_backend.go
#	les/backend.go
#	les/fetcher.go
#	les/handler.go
#	les/helper_test.go
#	les/odr_requests.go
#	les/odr_test.go
#	les/retrieve.go
#	les/server.go
#	les/serverpool.go
#	light/lightchain.go
#	light/odr_test.go
#	light/postprocess.go
#	light/txpool.go
#	log/README.md
#	log/doc.go
#	log/format.go
#	log/handler.go
#	log/logger.go
#	log/root.go
#	metrics/exp/exp.go
#	metrics/influxdb/influxdb.go
#	metrics/metrics.go
#	metrics/resetting_timer.go
#	metrics/resetting_timer_test.go
#	metrics/timer_test.go
#	miner/worker.go
#	mobile/accounts.go
#	mobile/ethereum.go
#	mobile/geth.go
#	node/config.go
#	node/doc.go
#	p2p/discover/database.go
#	p2p/discover/database_test.go
#	p2p/discover/table.go
#	p2p/discover/table_test.go
#	p2p/discover/udp.go
#	p2p/discover/udp_test.go
#	p2p/discv5/udp.go
#	p2p/enr/enr.go
#	p2p/enr/enr_test.go
#	p2p/enr/entries.go
#	p2p/protocols/protocol.go
#	p2p/protocols/protocol_test.go
#	p2p/rlpx_test.go
#	p2p/server.go
#	p2p/simulations/adapters/docker.go
#	p2p/simulations/adapters/exec.go
#	p2p/simulations/adapters/inproc.go
#	p2p/simulations/adapters/types.go
#	p2p/simulations/http.go
#	p2p/simulations/http_test.go
#	p2p/simulations/mocker.go
#	p2p/simulations/network.go
#	p2p/simulations/network_test.go
#	p2p/testing/protocolsession.go
#	params/bootnodes.go
#	params/config.go
#	params/denomination.go
#	params/gas_table.go
#	params/protocol_params.go
#	params/version.go
#	rpc/http.go
#	rpc/json.go
#	rpc/utils.go
#	signer/core/api.go
#	swarm/api/api.go
#	swarm/api/api_test.go
#	swarm/api/client/client.go
#	swarm/api/client/client_test.go
#	swarm/api/config.go
#	swarm/api/config_test.go
#	swarm/api/filesystem.go
#	swarm/api/filesystem_test.go
#	swarm/api/http/error.go
#	swarm/api/http/error_templates.go
#	swarm/api/http/error_test.go
#	swarm/api/http/roundtripper.go
#	swarm/api/http/server.go
#	swarm/api/http/server_test.go
#	swarm/api/http/templates.go
#	swarm/api/manifest.go
#	swarm/api/manifest_test.go
#	swarm/api/storage.go
#	swarm/api/storage_test.go
#	swarm/api/uri.go
#	swarm/api/uri_test.go
#	swarm/fuse/fuse_dir.go
#	swarm/fuse/fuse_file.go
#	swarm/fuse/swarmfs.go
#	swarm/fuse/swarmfs_test.go
#	swarm/fuse/swarmfs_unix.go
#	swarm/fuse/swarmfs_util.go
#	swarm/metrics/flags.go
#	swarm/network/depo.go
#	swarm/network/forwarding.go
#	swarm/network/hive.go
#	swarm/network/kademlia/address.go
#	swarm/network/kademlia/kaddb.go
#	swarm/network/kademlia/kademlia.go
#	swarm/network/kademlia/kademlia_test.go
#	swarm/network/messages.go
#	swarm/network/protocol.go
#	swarm/network/syncdb.go
#	swarm/network/syncdb_test.go
#	swarm/network/syncer.go
#	swarm/services/swap/swap.go
#	swarm/services/swap/swap/swap.go
#	swarm/storage/chunker.go
#	swarm/storage/chunker_test.go
#	swarm/storage/common_test.go
#	swarm/storage/database.go
#	swarm/storage/dbstore.go
#	swarm/storage/dbstore_test.go
#	swarm/storage/dpa.go
#	swarm/storage/dpa_test.go
#	swarm/storage/localstore.go
#	swarm/storage/memstore.go
#	swarm/storage/netstore.go
#	swarm/storage/pyramid.go
#	swarm/storage/swarmhasher.go
#	swarm/storage/types.go
#	swarm/swarm.go
#	swarm/swarm_test.go
#	swarm/testutil/http.go
#	tests/block_test_util.go
#	tests/difficulty_test.go
#	tests/init.go
#	tests/state_test_util.go
#	tests/transaction_test.go
#	tests/util.go
#	tests/vm_test_util.go
#	trie/database.go
#	trie/encoding.go
#	trie/hasher.go
#	trie/iterator.go
#	trie/proof.go
#	trie/proof_test.go
#	trie/secure_trie.go
#	trie/sync.go
#	trie/sync_test.go
#	trie/trie.go
#	vendor/github.com/docker/docker/pkg/reexec/command_linux.go
#	vendor/github.com/docker/docker/pkg/reexec/command_unix.go
#	vendor/github.com/docker/docker/pkg/reexec/command_unsupported.go
#	vendor/github.com/docker/docker/pkg/reexec/command_windows.go
#	vendor/github.com/docker/docker/pkg/reexec/reexec.go
#	vendor/github.com/eapache/channels/.gitignore
#	vendor/github.com/eapache/queue/.gitignore
#	vendor/github.com/naoina/toml/encode.go
#	vendor/github.com/naoina/toml/parse.go
#	vendor/github.com/naoina/toml/parse.peg
#	vendor/github.com/naoina/toml/parse.peg.go
#	vendor/github.com/rcrowley/go-metrics/.gitignore
#	vendor/github.com/rcrowley/go-metrics/.travis.yml
#	vendor/github.com/rcrowley/go-metrics/README.md
#	vendor/github.com/rcrowley/go-metrics/counter.go
#	vendor/github.com/rcrowley/go-metrics/debug.go
#	vendor/github.com/rcrowley/go-metrics/ewma.go
#	vendor/github.com/rcrowley/go-metrics/exp/exp.go
#	vendor/github.com/rcrowley/go-metrics/gauge.go
#	vendor/github.com/rcrowley/go-metrics/gauge_float64.go
#	vendor/github.com/rcrowley/go-metrics/graphite.go
#	vendor/github.com/rcrowley/go-metrics/healthcheck.go
#	vendor/github.com/rcrowley/go-metrics/histogram.go
#	vendor/github.com/rcrowley/go-metrics/json.go
#	vendor/github.com/rcrowley/go-metrics/log.go
#	vendor/github.com/rcrowley/go-metrics/meter.go
#	vendor/github.com/rcrowley/go-metrics/metrics.go
#	vendor/github.com/rcrowley/go-metrics/opentsdb.go
#	vendor/github.com/rcrowley/go-metrics/registry.go
#	vendor/github.com/rcrowley/go-metrics/runtime.go
#	vendor/github.com/rcrowley/go-metrics/sample.go
#	vendor/github.com/rcrowley/go-metrics/syslog.go
#	vendor/github.com/rcrowley/go-metrics/timer.go
#	vendor/github.com/rcrowley/go-metrics/writer.go
#	vendor/github.com/syndtr/goleveldb/leveldb/db.go
#	vendor/golang.org/x/sys/unix/mksysnum_linux.pl
#	vendor/golang.org/x/sys/unix/types_linux.go
#	vendor/vendor.json
#	whisper/shhclient/client.go
#	whisper/whisperv5/api.go
#	whisper/whisperv5/peer_test.go
#	whisper/whisperv5/whisper.go
#	whisper/whisperv6/api.go
#	whisper/whisperv6/peer_test.go
#	whisper/whisperv6/whisper.go
2018-07-24 16:11:05 +08:00
Satpal e8f0ee9162 Prevent private transaction with ether value from becoming stuck in pending (#451) 2018-07-23 15:34:36 +01:00
gary rong dcdd57df62 core, ethdb: two tiny fixes (#17183)
* ethdb: fix memory database

* core: fix bloombits checking

* core: minor polish
2018-07-18 13:41:36 +03:00
Peter Fox 29257cafcd Fix issue using correct state db 2018-07-15 23:36:47 +01:00
Peter Fox 8470793052 Update gas table to make use of the dual state db 2018-07-15 23:32:52 +01:00
Peter Fox f25cdca033 Give Constellation time to start 2018-07-15 20:51:05 +01:00
Peter Fox 0c3bacede3 Add Constellation build files 2018-07-15 20:10:39 +01:00
Peter Fox 71e5e86ce0 Update files to keep in line with vanilla geth, adding back in the
pieces needed for Quorum.
2018-07-15 19:45:45 +01:00
Peter Fox cdede06771 Let constellation have longer to start up
Add more gas for test
Set Quorum to be true
Update expected block hash in test
2018-07-13 11:33:52 +01:00
Samer Falah 38247083f3
Merge pull request #390 from tsuzukit/feature/fix_blockchain_test
Fix TestChainTxReorgs
2018-07-12 23:33:22 -04:00
vsmk98 fa134b402a Permissions initial build 2018-07-11 07:25:45 +00:00
Smilenator 30bdf817a0 core/types: polish TxDifference code and docs a bit (#17130)
* 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
2018-07-09 11:48:54 +03:00
Samer Falah 01195280b4 Fixes value transfer (#430) 2018-07-05 13:59:33 -04:00