Commit graph

2240 commits

Author SHA1 Message Date
Daniel Liu
cd1ff5d322 common: remove function Big() for type Address (#19210) 2024-12-28 09:06:30 +08:00
Daniel Liu
f19422e1c7 cmd/utils: relinquish GC cache to read cache in archive mode (#18991) 2024-12-28 09:06:30 +08:00
Daniel Liu
89c51c5e69 common: improve documentation comments (#16701) 2024-12-28 09:06:30 +08:00
Daniel Liu
240757a1ce all: remove empty function SaveData() 2024-12-28 09:04:02 +08:00
JukLee0ira
48d1f22fde all: simplify function TransitionDb (#20830) 2024-12-28 09:02:48 +08:00
liam.lai
77f9cc59ec merge from dev-upgrade 2024-12-27 10:03:54 -08:00
Daniel Liu
e2afaec8b0 core: remove unused variables in BlockChain struct 2024-12-25 17:25:51 +08:00
Daniel Liu
a5c48e77bd core: remove unused function writeHeader 2024-12-25 17:22:28 +08:00
Daniel Liu
6114a3a13b core: remove unused function reorgTxMatches 2024-12-25 17:17:25 +08:00
liam.lai
00785b096f fix tc cross epoch different masternode counts issue 2024-12-22 19:34:09 -08:00
Daniel Liu
82ff8c19a0 all: remove uses of untyped golang-lru 2024-12-21 14:39:26 +08:00
JukLee0ira
7491a7ba74 all: improve EstimateGas API (#20830) 2024-12-21 14:35:44 +08:00
Daniel Liu
2220156b9a cmd, core, metrics: always report expensive metrics (#29191)
* cmd, core, metrics: always report expensive metrics

* core, metrics: report block processing metrics as resetting timer

* metrics: update reporter tests
2024-12-13 14:00:13 +08:00
Daniel Liu
35380508fc metrics, cmd/geth: informational metrics (prometheus, influxdb, opentsb) (#24877)
This chang creates a GaugeInfo metrics type for registering informational (textual) metrics, e.g. geth version number. It also improves the testing for backend-exporters, and uses a shared subpackage in 'internal' to provide sample datasets and ordered registry.

Implements #21783

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2024-12-13 14:00:13 +08:00
Daniel Liu
1eb2ed8293 core, metrics, p2p: expose various counter metrics for grafana (#19692) 2024-12-13 14:00:11 +08:00
Daniel Liu
db9487f1e8 core: split out detailed trie access metrics from insertion time (#19316) 2024-12-13 14:00:11 +08:00
Daniel Liu
4202f23897 core: more detailed metrics for block processing (#18119) 2024-12-13 14:00:11 +08:00
Daniel Liu
ad5e7d6db3 crypto: add SignatureLength constant and use it everywhere (#19996) 2024-12-09 17:48:59 +08:00
Daniel Liu
92fc843683 crypto: switch over to upstream sha3 package (#18390) 2024-12-09 17:48:59 +08:00
Daniel Liu
733c298b0e core/vm: improve EVM reusability (#26341) 2024-12-09 17:47:05 +08:00
Daniel Liu
0d0ea46bfa core: implement EIP-3651, warm coinbase (#25819) 2024-12-09 17:44:30 +08:00
Daniel Liu
4855f19261 core: fix preCheck for RandomizeSMC after EIP-1559 2024-11-19 14:19:57 +08:00
Daniel Liu
4cac1865ba all: remove noop vm config flags (#23111) 2024-11-15 20:12:49 +08:00
Daniel Liu
ed242b4763 all: implement EIP-1153 transient storage (#26003) 2024-11-15 19:39:18 +08:00
Daniel Liu
aedfea681b all: make logs a bit easier on the eye to digest (#22665) 2024-11-15 10:02:41 +08:00
Daniel Liu
c254b08443 core/txpool: fix very high pending special transactions 2024-11-07 17:47:59 +08:00
Daniel Liu
da9d2e29f5 core/types: fix discrepancy in receipt.EffectiveGasPrice json encoding tags (#27114) 2024-11-01 11:36:53 +08:00
Daniel Liu
a294c2080d all: fix null effectiveGasPrice 2024-11-01 11:36:53 +08:00
Daniel Liu
2a9d450101 core/types: add EffectiveGasPrice in Receipt (#26713) 2024-11-01 11:36:53 +08:00
Daniel Liu
9b20ac785e consensus/misc: move eip1559 into a package (#27828) 2024-11-01 11:36:53 +08:00
Daniel Liu
f64aea4ba0 core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2024-11-01 11:36:53 +08:00
Péter Szilágyi
cda663db64 core/types: rename tx files to group them better together (#26044) 2024-11-01 11:36:53 +08:00
Daniel Liu
8b2e8d9b3a all: refactor txpool into it's own package in prep for 4844 (#26038) 2024-11-01 11:36:53 +08:00
Martin Holst Swende
05797846fc core: fix datarace in txpool, fixes #25870 and #25869 (#25872)
core: fix datarace in txpool pendingnoce, fixes #25870
2024-11-01 11:36:53 +08:00
Seungbae Yu
66763aa8ae core: don't cache zero nonce in txNoncer (#25603)
This changes the nonce cache used by TxPool to not store cached
nonces for non-existing accounts.
2024-11-01 11:36:53 +08:00
Seungbae Yu
a410f7b38e core: preallocate maps in TxPool helper methods (#25737) 2024-11-01 11:36:53 +08:00
aaronbuchwald
7237811928 core: fix typo in txpool (#25149)
Fix typo in txPool truncateQueue comment
2024-11-01 11:36:53 +08:00
zhaochonghe
dc94ad52f6 core: fix the order of address in queue (#24908)
reverse the order of address in queue
2024-11-01 11:36:53 +08:00
Emmanuel T Odeke
59bc3bfd09 eth/tracers/logger: remove unnecessary comparisons in accessList.equal (#24663)
This change removes extraneous/unnecessary checks for equality
when comparing 2 accessList values A and B. Given that we validate that
their lengths of A and B are equal, if so and if every element in A is
in B, reflexively every element in B is already in A. If that weren't
the case and an element g existed in A but not in B, that would mean
that there is an extra element and hence a mathematical contradiction.

Fixes #24658
2024-11-01 11:36:53 +08:00
Daniel Liu
7cb33cc57d core/types: improve error for too short transaction / receipt encoding (#24256) 2024-11-01 11:36:53 +08:00
Daniel Liu
d1dc9e383c core/statedb: always clear out access list when setting a new one (#24515) 2024-11-01 11:36:53 +08:00
Daniel Liu
8eaa9e2c3b core/types: document JSON field name equivalents of DynamicFeeTx (#24143) 2024-11-01 11:36:53 +08:00
Daniel Liu
bdae20085a core: ignore basefee when comparing with pool gasprice in txpool (#24080) 2024-11-01 11:36:53 +08:00
Daniel Liu
6feb71e5c8 core: check effective tip in txpool pricelimit validation (#23855) 2024-11-01 11:36:53 +08:00
Martin Holst Swende
81dff92ced core: more efficient nonce-update in txpool (#22231)
* Adjust pending nonce update operation

Benchmark the speed of transaction insertion under multiple accounts

core: fix rebase issues + docstring

core: make benchmark test use sync:ed method

* core: address review comments

* core: add memreport to benchmark

Co-authored-by: WeiLoy <wei_loy@163.com>
2024-11-01 11:36:53 +08:00
Daniel Liu
a402cbf50e core/types: add MarshalBinary, UnmarshalBinary for Receipt (#22806) 2024-11-01 11:36:53 +08:00
Daniel Liu
e5fb0b4d73 core: remove unused error from TxPool.Pending (#23720) 2024-11-01 11:36:53 +08:00
Daniel Liu
17b62319c0 core/types: copy tx recipient address (#23376) 2024-11-01 11:36:53 +08:00
Daniel Liu
e18e6111af core: add change counter (#23095) 2024-11-01 11:36:53 +08:00
Daniel Liu
d850fc4081 core: only check sendernoeoa in non fake mode (#23424) 2024-11-01 11:36:53 +08:00
Daniel Liu
d6daac576d core: check if sender is EOA (#23303) 2024-11-01 11:36:53 +08:00
Daniel Liu
206175fb43 all: remove term whitelist in comments and log messages (#23294) 2024-11-01 11:36:52 +08:00
Daniel Liu
62a70f0cde internal/ethapi: fix panic in accesslist creation (#23225) 2024-11-01 11:36:52 +08:00
Daniel Liu
43a0cdf7ce core: fix pre-check for account balance under EIP-1559 (#23244) 2024-11-01 11:36:52 +08:00
Daniel Liu
5b01b23af6 internal: get pending and queued transaction by address (#22992) 2024-11-01 11:36:52 +08:00
Daniel Liu
b02922fc53 core, internal: expose effectiveGasPrice in receipts (#23050) 2024-11-01 11:36:52 +08:00
Daniel Liu
dbdca11501 accounts/abi/bind: fix bounded contracts and sim backend for 1559 (#23038) 2024-11-01 11:36:52 +08:00
Daniel Liu
1cb1ba79d7 core: change baseFee into baseFeePerGas in genesis json (#23039) 2024-11-01 11:36:52 +08:00
Daniel Liu
05c11eb96e core: make genesis parse baseFee correctly (#23013) 2024-11-01 11:36:52 +08:00
Daniel Liu
6b67327a4b tests: update for London (#22976) 2024-11-01 11:36:52 +08:00
Daniel Liu
1c47afb286 core/vm/runtime: add function TestColdAccountAccessCost 2024-11-01 11:36:52 +08:00
Daniel Liu
c7d49072f1 core/vm: evm fix panic (#23047) 2024-11-01 11:36:52 +08:00
Daniel Liu
18bc355e89 core, internal: support various eth_call invocations post 1559 (#23027) 2024-11-01 11:36:52 +08:00
Daniel Liu
4c096de9b0 all: rename internal 1559 gas fields (#23010) 2024-11-01 11:36:52 +08:00
Daniel Liu
5a31888b19 core, eth, miner: enforce configured mining reward post 1559 too (#22995) 2024-11-01 11:36:52 +08:00
Daniel Liu
bfd1c0c9e0 core, eth, internal, les: RPC methods and fields for EIP 1559 (#22964) 2024-11-01 11:36:52 +08:00
Daniel Liu
4f0317cb1f core: add new eip-1559 tx constraints (#22970) 2024-11-01 11:36:52 +08:00
Daniel Liu
f6a4769084 EIP-1559 tx pool support (#22898) 2024-11-01 11:36:52 +08:00
Daniel Liu
d88d2670e5 core: make txpool free space calculation more accurate (#22933) 2024-11-01 11:36:52 +08:00
Daniel Liu
684afd0b18 EIP-1559: miner changes (#22896) 2024-11-01 11:36:52 +08:00
Daniel Liu
4e7fd897d8 core: fix failing tests (#22888) 2024-11-01 11:36:52 +08:00
Daniel Liu
e18553b855 all: implement eip-1559 (#22837) 2024-11-01 11:36:52 +08:00
Daniel Liu
6a3b818069 core, params: implement EIP-3529 (#22733) 2024-11-01 11:36:52 +08:00
Martin Holst Swende
b5fe81f093 core/vm: make gas cost reporting to tracers correct (#22702)
Previously, the makeCallVariantGasCallEIP2929 charged the cold account access cost directly, leading to an incorrect gas cost passed to the tracer from the main execution loop.
This change still temporarily charges the cost (to allow for an accurate calculation of the available gas for the call), but then afterwards refunds it and instead returns the correct total gas cost to be then properly charged in the main loop.
2024-11-01 11:36:52 +08:00
Daniel Liu
6c77d63dc2 core/types: replace core.SetReceiptsData with receipts.DeriveFields 2024-11-01 11:36:52 +08:00
Daniel Liu
e561f2842e core/types: drop type v4StoredReceiptRLP 2024-11-01 11:36:52 +08:00
Daniel Liu
b7154dd450 core: fix staticcheck warning S1006: use for {} for infinite loops 2024-10-31 16:49:56 +08:00
Daniel Liu
11285be830 all: fix staticcheck warning SA2002: must call T.Fatalf in same goroutine 2024-10-31 10:38:38 +08:00
Daniel Liu
6b6f0bd891 core, XDCxlending/lendingstate: fix staticcheck warning SA5001: must check error before rpcClient.Close() 2024-10-31 10:28:21 +08:00
Daniel Liu
371c3b6874 fix tautological condition: non-nil != nil 2024-10-31 09:01:12 +08:00
Daniel Liu
2306ceafb2 fix impossible condition: nil != nil 2024-10-31 09:01:12 +08:00
Daniel Liu
212daafe17 core: fix staticcheck warning SA6005: should use strings.EqualFold 2024-10-30 21:13:58 +08:00
Daniel Liu
181b23a767 core, XDCxlending/lendingstate: fix staticcheck warning S1002: omit comparison to bool constant 2024-10-30 21:02:41 +08:00
Daniel Liu
fbecb8c5a5 all: fix staticcheck warning ST1006: don't use generic name self
The name of a method’s receiver should be a reflection of its identity;
often a one or two letter abbreviation of its type suffices (such as
“c” or “cl” for “Client”). Don’t use generic names such as “me”, “this”
or “self”, identifiers typical of object-oriented languages that place
more emphasis on methods as opposed to functions. The name need not be
as descriptive as that of a method argument, as its role is obvious and
serves no documentary purpose. It can be very short as it will appear
on almost every line of every method of the type; familiarity admits
brevity. Be consistent, too: if you call the receiver “c” in one method,
don’t call it “cl” in another.
2024-10-25 21:30:54 +08:00
Daniel Liu
b68b9c64ea
Merge pull request #685 from gzliudan/emptyroot
all: use unified emptyRootHash and emptyCodeHash
2024-10-25 15:28:51 +08:00
Daniel Liu
87a6b5f4c3
Merge pull request #689 from gzliudan/fix-st1005
all: fix staticcheck warning ST1005
2024-10-25 15:28:07 +08:00
Daniel Liu
c6e4e880ea all: fix staticcheck warning SA4006: never used value 2024-10-24 17:37:19 +08:00
Daniel Liu
a79411fa06 all: fix staticcheck warning ST1005: incorrectly formatted error string 2024-10-24 09:48:20 +08:00
Daniel Liu
464a89074b all: use unified emptyRootHash and emptyCodeHash (#26718) 2024-10-21 17:55:16 +08:00
Daniel Liu
8c077345d0 all: removed blockhash from statedb (#23126) 2024-10-18 09:24:52 +08:00
Daniel Liu
1c84a31bb6 core/vm: deepcopy jumptable when enabling extra eips (#26137) 2024-10-17 11:23:04 +08:00
Daniel Liu
4482ea4d84 core/vm: fix docstrings 2024-10-17 11:23:04 +08:00
Daniel Liu
480adaf960 core/vm: minor trivial clean up (#25880) 2024-10-17 11:23:04 +08:00
Daniel Liu
69cb57a0f4 core/vm: not deep copy return data slice upon call completion (#25183) 2024-10-17 11:23:04 +08:00
Daniel Liu
ee5dd8673f core/vm: remove empty lines 2024-10-17 11:23:04 +08:00
Daniel Liu
16f2aabc64 core/vm: more linters (#24783) 2024-10-17 11:23:04 +08:00
Paweł Bylica
be6631beb0 core/vm: optimize jumpdest analysis (#23500)
core/vm: optimize PUSH opcode discrimination
2024-10-17 11:23:04 +08:00
Daniel Liu
1fa9e81870 core/vm: reduce overhead in instructions-benchmark (#24860) 2024-10-17 11:23:04 +08:00
Daniel Liu
c78b9e6245 core/vm: for tracing, do not report post-op memory (#24867) 2024-10-17 11:23:04 +08:00
Daniel Liu
45c644c43d core/vm: update benchmark to use Errorf instead of Sprintf (#24845) 2024-10-17 11:23:04 +08:00
Daniel Liu
6fa968201f core/vm: fix some typos 2024-10-17 11:23:04 +08:00
Daniel Liu
224caa5a08 core/vm: avoid memory expansion check for trivial ops (#24048) 2024-10-17 11:23:04 +08:00
Daniel Liu
532137c37b core/vm: use golang native big.Int (#26834) 2024-10-17 10:36:53 +08:00
Daniel Liu
8e15f825ce core/vm: use optimized bigint (#26021) 2024-10-17 10:36:53 +08:00
Daniel Liu
c87b7c3135 common/math: optimized modexp (#25525) 2024-10-17 10:36:53 +08:00
Daniel Liu
b653dbc60c core/vm, protocol_params: implement eip-2565 modexp repricing (#21607) 2024-10-17 10:36:53 +08:00
Daniel Liu
a8ea86e40c
Merge pull request #644 from gzliudan/format-0x
all: change format 0x%x to %#x
2024-10-17 10:35:34 +08:00
Daniel Liu
693190e5b9 core: fix wrong blockHash for eth_getLogs (#650) 2024-10-16 11:00:58 +08:00
Daniel Liu
edace6ac6c all: change format 0x%x to %#x (#25221) 2024-09-27 15:24:31 +08:00
JukLee0ira
47d27fed3b all: replace uses of ioutil with io and os (#24869) 2024-09-27 15:14:17 +08:00
Daniel Liu
4f9501f12c common, crypto: move fuzzers out of core (#22029) 2024-09-22 19:25:37 +08:00
Daniel Liu
a5531a2470 core/vm: remove redundant conversions (#21903) 2024-09-22 18:42:11 +08:00
Daniel Liu
67b5b2bf9a core/vm: less allocations for various call variants (#21222) 2024-09-22 18:42:11 +08:00
Daniel Liu
a575d731d3 core/vm: combine function precompile and precompile2 2024-09-21 22:40:57 +08:00
Daniel Liu
5470485450 all: split vm.Context into BlockContext and TxContext (#21672) 2024-09-21 22:18:10 +08:00
Daniel Liu
05e52efbad core/vm: marshall returnData as hexstring in trace logs (#21715) 2024-09-21 22:14:47 +08:00
Daniel Liu
4e832ee6f0 core/vm: avoid map lookups for accessing jumpdest analysis (#21411) 2024-09-21 22:01:56 +08:00
Daniel Liu
a020259bb5 core/vm: fix Byzantium address list (#22603) 2024-09-19 13:04:55 +08:00
Wanwiset Peerapatanapokin
0e9052b2e5
Merge branch 'master' into dev-upgrade-fix-merge 2024-09-11 14:06:38 +04:00
Daniel Liu
3e4932e408 core/vm: surface some internal methods (#20958) 2024-08-30 12:50:04 +08:00
Daniel Liu
1f45af089a core/vm: implement EIP 3541 (#22809) 2024-08-26 11:59:28 +08:00
Daniel Liu
c47819c7d6 core, cmd: add generic LRU implementation (#26162) 2024-08-26 11:17:23 +08:00
Daniel Liu
6f1d1b6688 core/vm: implement EIP-2681: Limit account nonce to 2^64-1 (#23853) 2024-08-26 09:04:15 +08:00
Wanwiset Peerapatanapokin
2b8eb6f98e
Merge pull request #619 from XinFinOrg/revert-2464-short
Revert EIP 2464
2024-08-25 02:23:46 +07:00
Daniel Liu
8c78a80771 core: fix race conditions in txpool (#23474) 2024-08-24 23:12:32 +08:00
wanwiset25
cb792ef34f Revert EIP-2464 2024-08-24 02:31:27 +07:00
Daniel Liu
45e57e41b4 internal/ethapi: refactor func ToMessage for CallArgs 2024-08-21 15:15:53 +08:00
JukLee0ira
3f40987cca core/rawdb: rearranging function order 2024-08-19 22:32:20 +08:00
JukLee0ira
544190f584 core: cache block hash and number 2024-08-07 14:59:36 +08:00
JukLee0ira
074095b1d5 core: fix writeBlock 2024-08-07 14:59:36 +08:00
wgr523
52077f18f3
support for golang tracers + add golang callTracer (#558)
* feat: rename Tracer interface to EVMLogger;
minor changes in API
refine api_tracer.go
refine Tracer interface

* fix: broken tracer tests

* feat: add BenchmarkTransactionTrace

* feat: tracer CaptureEnter CaptureExit in evm

* feat: upgrade js tracers with geth upstream

* chore: clean test

* feat: eth/tracers: support for golang tracers + add golang callTracer
cf. https://github.com/ethereum/go-ethereum/pull/23708

* chore: clean testdata json

* fix: change test due to IntrinsicGas is not upgraded

* feat: make native Tracer the default Tracer

* fix: update tracers.New in api

* fix: addr prefix in callTracer

* fix: remove `native` in BenchmarkTracers

* fix: return consensus error of InsufficientBalance for tx, instead of vmerr

* chore: drop js tracers: call and noop
2024-08-06 00:14:04 -07:00
JukLee0ira
9a40c26bf8 core,eth,light: remove duplicated functions 2024-08-03 10:03:22 +08:00
JukLee0ira
bea4431f6f eth/filters: avoid block body retrieval when no matching logs (#25199) 2024-08-03 10:03:22 +08:00
JukLee0ira
09d3ede8c0 core: cleanup tests (#25641) 2024-08-03 10:03:22 +08:00
JukLee0ira
ad71d706fb all: add global block logs cache (#25459) 2024-08-03 10:03:22 +08:00
JukLee0ira
f8a2b00505 core/rawdb,eth: use lightweight accessor for log filtering (#23147) 2024-08-03 10:03:22 +08:00
JukLee0ira
83782e5368 eth/filters: remove use of event.TypeMux for pending logs (#20312) 2024-08-03 10:03:22 +08:00
Daniel Liu
4976b7cbb3
Fix some panic cuased by nil block, statedb, header (#578)
* fix panic during rollback

* eth/hooks: check nil stateDB to fix issue #271

* internal/ethapi: fix eth_call crash

* all: check nil statedb

* eth: check nil block for tracer api

* internal/ethapi: check nil header and block
2024-08-02 17:05:53 -07:00
Daniel Liu
31098e717a
core: save new blocks during reorg (#599) 2024-08-02 16:55:41 -07:00
Daniel Liu
e9e94e640d
core: save new blocks during reorg (#596) 2024-08-02 16:53:49 -07:00
wanwiset25
4be4f2eeb1 fix tests 2024-06-28 18:35:47 +04:00
wanwiset25
57b11ab4c9 try use insertblock in fetcher 2024-06-28 11:33:04 +04:00
wanwiset25
c9ee3240fb fix tests 2024-06-28 11:33:04 +04:00
Martin Holst Swende
8f4a269437 eth, les: add sanity checks for unbounded block fields (#19573)
This PR adds some hardening in the lower levels of the protocol stack, to bail early on invalid data. Primarily, attacks that this PR protects against are on the "annoyance"-level, which would otherwise write a couple of megabytes of data into the log output, which is a bit resource intensive.
2024-06-28 11:33:04 +04:00
Péter Szilágyi
3f87990a71 core/forkid: add two clauses for more precise validation (#20220) 2024-06-28 11:33:04 +04:00
wanwiset25
ae52ca6e83 eth: eth/64 - extend handshake with with fork id (#20140) 2024-06-28 11:31:06 +04:00
Shane Bammel
4707d1c549 core/forkid: fix off-by-one bug (#22879)
* forkid: added failing test

* forkid: fixed off-by-one bug
2024-06-28 11:30:31 +04:00
Péter Szilágyi
8e998ecabe core/forkid: implement the forkid EIP, announce via ENR (#19738)
* eth: chain config (genesis + fork) ENR entry

* core/forkid, eth: protocol independent fork ID, update to CRC32 spec

* core/forkid, eth: make forkid a struct, next uint64, enr struct, RLP

* core/forkid: change forkhash rlp encoding from int to [4]byte

* eth: fixup eth entry a bit and update it every block

* eth: fix lint

* eth: fix crash in ethclient tests
2024-06-28 11:30:31 +04:00
Daniel Liu
3e9bd359df ethclient: serialize negative block number as "pending" (#21177) 2024-06-20 15:52:32 +08:00
Daniel Liu
aa88078dd1 core/types: convert status type from uint to uint64 (#16784) 2024-06-20 15:52:32 +08:00
JukLee0ira
2d89951e5b all: use errrors.New instead of empty fmt.Errorf 2024-06-14 19:19:21 +08:00
JukLee0ira
15bbb5d3d5 XDCx,core,XDCxlending,miner: reduce duplicate calls 2024-06-06 19:33:59 +08:00
JukLee0ira
9ffacc595d core: simplify code expression 2024-06-06 19:33:59 +08:00
JukLee0ira
0aab4ced98 common: add binary variables for system contract 2024-06-06 19:33:59 +08:00
JukLee0ira
21c62f9ef0 XDCx,XDCxlending,consensus,core: not compare adresss by String 2024-06-06 19:33:39 +08:00
Daniel Liu
fd8811cc9e core, backends: rename callmsg to callMsg 2024-05-14 23:27:23 +08:00
Daniel Liu
e82bef5b87 core/types: remove duplication in eip2930 signer (#27860) 2024-05-14 23:27:23 +08:00
Daniel Liu
7a95b4f907 core, eth, internal/ethapi: create access list RPC API (#22550) 2024-05-14 23:27:23 +08:00
Daniel Liu
5cb014b60f core, eth/tracer: initialize tracer statedb in CaptureStart (#22333) 2024-05-14 23:27:23 +08:00
Derek Chiang
5edfd8f9eb core: fix method comment for txpool.requestReset (#22543) 2024-05-14 23:27:23 +08:00
Daniel Liu
349dc1bacd core/types: improve comments in new EIP-2718 code (#22402) 2024-05-14 23:15:35 +08:00
Daniel Liu
0ccf119cd7 core/types: reduce allocations in GasPriceCmp (#22456) 2024-05-14 23:15:35 +08:00
Daniel Liu
01e1728a94 all: add support for EIP-2718, EIP-2930 transactions (#21502) 2024-05-14 23:15:35 +08:00
Marius van der Wijden
76b29b2f25 core: reset txpool state on sethead (#22247)
fixes an issue where local transactions that were included in the chain before a SetHead were rejected if resubmitted, since the txpool had not reset the state to the current (older) state.
2024-05-14 11:44:26 +08:00
gary rong
289304f876 core/txpool: remove "local" notion from the txpool price heap (#21478)
* core: separate the local notion from the pricedHeap

* core: add benchmarks

* core: improve tests

* core: address comments

* core: degrade the panic to error message

* core: fix typo

* core: address comments

* core: address comment

* core: use PEAK instead of POP

* core: address comments
2024-05-14 11:08:53 +08:00
Martin Holst Swende
a6d591b01b core: fix txpool off-by-one error (#21683) 2024-05-14 10:09:43 +08:00
Marius van der Wijden
6935687790 core: more detailed metering for reorgs (#21420) 2024-05-13 22:07:04 +08:00
Hao Duan
28baf9f1fd core: avoid modification of accountSet cache in tx_pool (#21159)
* core: avoid modification of accountSet cache in tx_pool

when runReorg, we may copy the dirtyAccounts' accountSet cache to promoteAddrs
in which accounts will be promoted, however, if we have reset request at the
same time, we may reuse promoteAddrs and modify the cache content which is
against the original intention of accountSet cache. So, we need to make a new
slice here to avoid modify accountSet cache.

* core: fix flatten condition + comment

Co-authored-by: Felix Lange <fjl@twurst.com>
2024-05-13 22:07:04 +08:00
Daniel Liu
b9f373fb57 core: fix queued transaction eviction #21300 2024-05-13 22:07:04 +08:00
Martin Holst Swende
ff246355a2 core: transaction pool optimizations (#21328)
* core: added local tx pool test case

* core, crypto: various allocation savings regarding tx handling

* core/txlist, txpool: save a reheap operation, avoid some bigint allocs

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2024-05-13 22:07:03 +08:00
Daniel Liu
48f9bbed50 core: types: less allocations when hashing and tx handling (#21265) 2024-05-13 22:07:03 +08:00
Hao Duan
1776bf1313 core: filter out txs with invalid signatures as soon as possible (#21170)
Once we detect an invalid transaction during recovering signatures, we should
directly exclude this transaction to avoid validating the signatures hereafter.

This should optimize the validations times of transactions with invalid signatures
to only one time.
2024-05-13 22:07:03 +08:00
chenglin
cf41742040 core: collect NewTxsEvent items without holding reorg lock (#21145) 2024-05-13 22:07:03 +08:00
Daniel Liu
624371433e core: fix typos in comments (#21118) 2024-05-13 22:07:03 +08:00
Daniel Liu
7179efd4da core: announce based transaction propagation (#20234) 2024-05-13 22:07:03 +08:00
Martin Holst Swende
d972bbd681 core: set max tx size down to 2 slots (64KB) 2024-05-13 22:07:03 +08:00
Daniel Liu
b7f4362c57 core: count tx size in slots, bump max size ot 4x32KB (#20352) 2024-05-13 22:07:03 +08:00
Péter Szilágyi
d1415837cf core: fix tx dedup return error count (#20085) 2024-05-13 22:07:03 +08:00
Daniel Liu
bef2c34e44 core: dedup known transactions without global lock, track metrics (#20081) 2024-05-13 22:07:03 +08:00
Martin Holst Swende
656f2a6167 core: smaller txpool status locking (#20080)
* txpool: smaller lock portion

* core/tx_pool: fix data race
2024-05-13 22:07:03 +08:00
Daniel Liu
19fb6103c0 fix: rename func AddRemoteSync to addRemoteSync 2024-05-13 22:07:03 +08:00
Daniel Liu
7cce425000 Revert "core, light, params: implement eip2028 (#19931)"
This reverts commit 67825d860b.
2024-05-11 06:11:46 +08:00
Daniel Liu
742a7f9348 core, metrics: switch some invalid counters to gauges (#20047) 2024-05-10 19:48:10 +08:00
Daniel Liu
67825d860b core, light, params: implement eip2028 (#19931) 2024-05-10 19:48:10 +08:00
Daniel Liu
b708614470 core, les: fix les unit tests (#19823) 2024-05-10 19:48:10 +08:00
Daniel Liu
edaed4fd92 core: fix write concurrency in txpool (#19835) 2024-05-10 19:48:10 +08:00
Daniel Liu
6338a4195b core: kill off managed state, use own tiny noncer for txpool (#19810) 2024-05-10 19:48:10 +08:00
Daniel Liu
74c72363d0 core: move TxPool reorg and events to background goroutine (#19705) 2024-05-10 19:48:10 +08:00
Daniel Liu
ddbf5d2782 core: expose various counter metrics for grafana (#19692) 2024-05-10 19:48:10 +08:00
Daniel Liu
65baaaaf80 core: cache tx signature before obtaining lock (#19351) 2024-05-10 19:48:10 +08:00
Daniel Liu
c5b22fbc32 core: make txpool handle reorg due to setHead (#19308) 2024-05-09 19:00:41 +08:00
Daniel Liu
676c4e8ec7 core: sanitize more TxPoolConfig fields (#17210) 2024-05-09 18:39:32 +08:00
Daniel Liu
6b87c07876 core: fix comment typo (#18144) 2024-05-09 18:38:27 +08:00
Daniel Liu
a6664651c7 core: fix a typo (#17733) 2024-05-09 18:38:27 +08:00
Daniel Liu
ec50ca36d9 core, eth, trie: use common/prque (#17508) 2024-05-09 18:38:27 +08:00
Daniel Liu
6c657ef6af core: priority mining (#17472) 2024-05-09 18:38:27 +08:00
Daniel Liu
41b29a8cf8 Fixed typo addresssByHeartbeat -> addressesByHeartbeat (#17243) 2024-05-09 18:38:27 +08:00
Daniel Liu
241201cf0e core: fixed typo (#17214) 2024-05-09 18:38:27 +08:00
Daniel Liu
5b883dee30 core/tx_pool: reduce judgement levels (#16980) 2024-05-09 18:38:27 +08:00
Daniel Liu
859308c03f core: change comment to match code more closely (#16963) 2024-05-09 18:38:27 +08:00
Daniel Liu
4f0f6e08c7 core: concurrent background transaction sender ecrecover (#16882) 2024-05-09 18:38:27 +08:00
Daniel Liu
fb89a5406b core: fix transaction event asynchronicity (#16843) 2024-05-09 18:38:27 +08:00
Daniel Liu
88695caf8f core: use a wrapped map w/ sync.RWMutex for TxPool.all to remove contention in TxPool.Get. (#16670) 2024-05-09 18:38:27 +08:00
Daniel Liu
2060ff7eeb core: Ensure that local transactions aren't discarded as underpriced (#16576) 2024-05-09 18:38:27 +08:00
Daniel Liu
702e0caa29 core: txpool stable underprice drop order, perf fixes (#16494) 2024-05-09 18:38:23 +08:00
Wang Gerui
4178a97560 feat: extend eth_call api with state override;
extend statedb and state_object with necessary code
2024-04-30 15:57:42 +08:00
Daniel Liu
8568af05cc all: implement EIP-2929 (gas cost increases for state access opcodes) (#21509) 2024-04-22 21:14:54 +08:00
Daniel Liu
3b9fc516f6
Merge pull request #524 from gzliudan/revert-pr320
Revert PR320
2024-04-22 21:04:44 +08:00
Wanwiset Peerapatanapokin
fb91c1e802
add trigger for disable XDCx precompiles (#509) 2024-04-22 11:43:22 +04:00
Daniel Liu
56d9a6e39c core, filters: not set log.BlockHash 2024-04-20 16:27:21 +08:00
Liam
ef4b8ef91b
Disable on xdcx receiver part (#521)
* update all IsTIPXDCXReceiver condition

* add TIPXDCXReceiverDisable on testnet and devnet
2024-04-19 22:17:22 +08:00
Daniel Liu
50847c9724 types, core, miner: add block location fields to receipt 2024-04-12 13:36:55 +08:00
wgr523
b5358663fe
Merge pull request #497 from XinFinOrg/xdf-05
XDF-05 fix: Future Blocks Are Always Verified Instead Of Queued
2024-04-01 20:48:58 +08:00
Daniel Liu
1c9f1d8279 all: change TxPreEvent to TxsPreEvent (#16720) 2024-03-28 11:16:21 +08:00
Wanwiset Peerapatanapokin
06b280aa0d
add log deepcopy to ensure complete replica of state (#449)
implement "deep copy" as go-ethereum
2024-03-26 13:40:07 +04:00
Gary
6fd9a5305a fix: Future Blocks Are Always Verified Instead Of Queued 2024-03-19 20:38:57 +08:00
Wanwiset Peerapatanapokin
8edb76f08d
Revert "core/state: abort commit if errors have occurred (#484)" (#489)
This reverts commit 0114ecabd0.
2024-03-13 11:54:09 +04:00
Daniel Liu
4616d59935 internal/ethapi: support block number or hash on state-related methods (#19491)
* Support for EIP-1898.
2024-03-12 10:40:03 +08:00
Wanwiset Peerapatanapokin
0114ecabd0
core/state: abort commit if errors have occurred (#484) 2024-03-11 13:19:24 +04:00
Wanwiset Peerapatanapokin
910d415653
Missing json Field Tags in Marshalled Struct (#475) 2024-03-08 15:38:33 +04:00
Daniel Liu
6a2f753cee
Merge pull request #472 from XinFinOrg/eip3855
core/vm: implement EIP-3855: PUSH0 instruction.
2024-03-07 23:01:33 +08:00
geruiwang
863d4f14e3 eth/tracers/js: fix isPush for push0 (#28520)
Fixes so that `push0` opcode is correctly reported as `true` by the `IsPush` function

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2024-03-07 22:31:19 +08:00
geruiwang
968440ce3d core/vm: implement EIP-3855: PUSH0 instruction. 2024-03-07 21:44:37 +08:00
Wang Gerui
0e36b5be42 fix typo in EIPs 2024-03-07 21:37:33 +08:00
Wanwiset Peerapatanapokin
ae10d7090c
Rollback privacy (#477)
Rollback the previous test removal or privacy package on devnet.

This reverts commit 4f79e535b37dc85144e2d38c2f2570b0ce4305b2.

This reverts commit 5a2722c268ec4f03f3117b1af2dee2411af4b13a.
2024-03-07 10:40:55 +04:00
Daniel Liu
ece58f00b5 ethapi: add method eth_getAccountInfo 2024-03-06 14:11:15 +08:00
Daniel Liu
bbe08ac6e6 core/state: add function GetStorageRoot 2024-03-06 14:10:08 +08:00
Liam
38a192e672
Merge pull request #459 from XinFinOrg/eip4399
implement EIP-4399, PREVRANDAO opcode
2024-03-04 17:50:56 +11:00
Wanwiset Peerapatanapokin
b86c7f646f
Try remove privacy pkg (#466)
* try removing privacy pkg

* rm more reference

* trigger CI
2024-03-04 07:59:45 +04:00
Gerui Wang
a31489541d implement EIP-4399, PREVRANDAO opcode.
and remove unused LondonBlock and BerlinBlock in `params/config.go` (already defined in constants.go)
2024-03-04 00:32:14 +08:00
Daniel Liu
928a0691ca implement EIP-3198 2024-03-01 15:04:32 +08:00
lmittmann
b36678f7ad core/vm: performance tweak of OpCode.String() (#28453)
make `opCodeToString` a `[256]string` array

Co-authored-by: lmittmann <lmittmann@users.noreply.github.com>
2024-03-01 14:13:24 +08:00
Leon
8b6db6d87a core/vm: better handle error on eip activation check (#25131)
* core/vm: correct logic for eip check of NewEVMInterpreter

* refactor
2024-03-01 14:13:24 +08:00
Qian Bin
032b98e942 core/vm: optimize Memory.Set32 (#24847)
* core/vm: remove unnecessary memset for Memory.Set32

* core/vm: optimize Memory.Set32
2024-03-01 14:13:24 +08:00
s7v7nislands
62b62da730 core/vm: separate opcode group for 0x20 range (#24850) 2024-03-01 14:13:24 +08:00
s7v7nislands
ac35f0ecec core/vm: clean up some dead functions (#24851) 2024-03-01 14:13:24 +08:00
Andrei Maiboroda
b022ba2c5d core/vm: make INVALID a defined opcode (#24017)
* core/vm: Define 0xfe opcode as INVALID

* core/vm: Remove opInvalid as opUndefined handles it

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2024-03-01 14:13:24 +08:00
Paweł Bylica
6e92486296 core/vm: reverse bit order in bytes of code bitmap (#24120)
* core/vm: reverse bit order in bytes of code bitmap

This bit order is more natural for bit manipulation operations and we
can eliminate some small number of CPU instructions.

* core/vm: drop lookup table
2024-03-01 14:13:24 +08:00
Alex Beregszaszi
2ce30010bc core/vm: remove unused code (IsStaticJump) (#24085) 2024-03-01 14:13:24 +08:00
Martin Holst Swende
fbc1cc11ba core/vm: remove no-recursion option from config (24066) 2024-03-01 14:13:24 +08:00
Andrei Maiboroda
4c27910a77 core/vm: move interpreter interruption check to jump instructions (#24026)
* core/vm: Remove interpreter loop interruption check

* core/vm: Unit test for interpreter loop interruption

* core/vm: Check for interpreter loop abort on every jump
2024-03-01 14:13:24 +08:00
Paweł Bylica
7d3c783bb9 core/vm: fill gaps in jump table with opUndefined (#24031) 2024-03-01 14:13:24 +08:00
Alex Beregszaszi
ae267d3da7 core/vm: remove stack.pushN (#24040) 2024-03-01 14:13:24 +08:00
Alex Beregszaszi
b1c03864e6 core/vm: rename opSuicide to opSelfdestruct (#24022)
The opcode was renamed in the codebase in 2017, but the functions were kept unchanged.
2024-03-01 14:13:24 +08:00
Alex Beregszaszi
bfbb678309 core/vm: move interpreter.ReadOnly check into the opcode implementations (#23970)
* core/vm: Move interpreter.ReadOnly check into the opcode implementations

Also remove the same check from the interpreter inner loop.

* core/vm: Remove obsolete operation.writes flag

* core/vm: Capture fault states in logger

Co-authored-by: Martin Holst Swende <martin@swende.se>

* core/vm: Remove panic added for testing

Co-authored-by: Martin Holst Swende <martin@swende.se>
2024-03-01 14:13:24 +08:00
Andrei Maiboroda
002be52ae9 core/vm: don't copy JumpTable when no EIP mods are needed (#23977) 2024-03-01 14:13:24 +08:00
Alex Beregszaszi
c097e565fd core/vm: rename SHA3 instruction to KECCAK256 (#23976)
This was proposed in 2016, Solidity uses this since 2017, and evmone and other VMs use the keccak256 name. This brings geth in line with those.
2024-03-01 14:13:24 +08:00
Paweł Bylica
823ec33484 core/vm: simplify error handling in interpreter loop (#23952)
* core/vm: break loop on any error

* core/vm: move ErrExecutionReverted to opRevert()

* core/vm: use "stop token" to stop the loop

* core/vm: unconditionally pc++ in the loop

* core/vm: set return data in instruction impls
2024-03-01 14:13:24 +08:00
Andrei Maiboroda
6415934da9 core/vm: simplify op lookup in contract (#23974) 2024-03-01 14:13:23 +08:00
Martin Holst Swende
f7c6b1abd4 core/vm, core/state/snapshot: remove unused code (#23956)
* core/state/snapshot: remove wiper functionality

* core/vm: remove unused 'unofficial' opcodes
2024-03-01 14:13:23 +08:00
Paweł Bylica
3d3cc6c6d7 core/vm: use proper JumpTable type (#23967) 2024-03-01 14:13:23 +08:00
Martin Holst Swende
f9e14af6fd core/vm: don't use iota for opcode definitions (#23928) 2024-03-01 14:13:23 +08:00
Paweł Bylica
dc8cdf3e62 core/vm: rework jumpdest analysis benchmarks (#23499)
* core/vm: rework jumpdest analysis benchmarks

For BenchmarkJumpdestOpAnalysis use fixed code size of ~1.2MB
and classic benchmark loop.

* core/vm: clear bitvec in jumpdest analysis benchmark
2024-03-01 14:13:23 +08:00
Guillaume Ballet
f05fa009e2 core/vm: fix typo in comment (#23450) 2024-03-01 14:13:23 +08:00
Daniel Liu
7a55b9f788 core/state: remove unused methods ReturnGas (#23092) 2024-03-01 14:13:23 +08:00
Evgeny Danilenko
21bbe5f568 core/vm: avoid duplicate log in json logger (#22825) 2024-03-01 14:13:23 +08:00
aaronbuchwald
7c6908b959 core/vm: fix interpreter comments (#22797)
* Fix interpreter comment

* Fix comment
2024-03-01 14:13:23 +08:00
Paweł Bylica
9c8d228dda core/vm: clean up contract creation error handling (#22766)
Do not keep separate flag for "max code size exceeded" case, but instead
assign appropriate error for it sooner.
2024-03-01 14:13:23 +08:00
aaronbuchwald
6077ecb195 core/vm: replace repeated string with variable in tests (#22774) 2024-03-01 14:13:23 +08:00
Martin Holst Swende
446b9e86f4 core/vm, params: make 2200 in line with spec (#21605) 2024-03-01 14:13:23 +08:00
Péter Szilágyi
06d5da016c core/vm: use pointers to operations vs. copy by value (#21336) 2024-03-01 14:13:23 +08:00
Paweł Bylica
192edc0c63 core/vm: use uint256 in EVM implementation (#20787)
* core/vm: use fixed uint256 library instead of big

* core/vm: remove intpools

* core/vm: upgrade uint256, fixes uint256.NewFromBig

* core/vm: use uint256.Int by value in Stack

* core/vm: upgrade uint256 to v1.0.0

* core/vm: don't preallocate space for 1024 stack items (only 16)

Co-authored-by: Martin Holst Swende <martin@swende.se>
2024-03-01 14:13:23 +08:00
Daniel Liu
3f10de24b0 core/vm/privacy: fix test case in ringct_test.go (#424) 2024-02-19 10:52:33 +08:00
Liam
9eea134daa
Merge pull request #424 from gzliudan/RIN-07
check parameters not to be nil when call function curve.Add
2024-02-12 22:23:34 +11:00
Wanwiset Peerapatanapokin
b272e7418c
Fix curve (#429)
* update secp256k1 library from go-eth code

* cast deprecated functions to use new BitCurve type

* add IsOnCurve checks and tests

* add test outcome check

* fix test
2024-02-11 15:59:28 +04:00
Wanwiset Peerapatanapokin
30581274a1
RIN-08 RIN-10 RIN-11 Fix curve issues (#425)
* update secp256k1 library from go-eth code

* cast deprecated functions to use new BitCurve type

* add IsOnCurve checks and tests

* add test outcome check
2024-02-11 01:51:11 +04:00
Banana-J
f453ce8315
fix: missing validation in scalar range check (#417) 2024-02-09 19:56:27 +11:00
Daniel Liu
d440d1d2c6 not pass nil parameters to function curve.Add 2024-02-08 14:50:44 +08:00
Banana-J
ea7d5cc9ad
fix: remove unnecesasry int conversion in the bulletproof.go (#419)
Co-authored-by: wjrjerome <wjrjerome@babylonchain.io>
2024-02-06 22:13:28 +11:00
Liam
fea90a97df
RIN-02 Panic Due to Integer Overflow in Signature Size Calculation (#401)
* RIN-02 Panic Due to Integer Overflow in Signature Size Calculation

* assert the error

* simply overflow check

* simply overflow check

---------

Co-authored-by: Liam Lai <liam.lai@datameshgroup.com>
2024-02-03 10:02:14 +08:00
Banana-J
0664e9fc47
chore: remove the unused false return value from GetCollaterals method (#410) 2024-01-29 11:31:10 +11:00
Banana-J
d70c15667b
chore: remove the unused method in ringct.go (#411) 2024-01-29 11:31:02 +11:00
Banana-J
cac03bd960
fix: GenNewKeyRing should return out of bound error if s and ring size equal in value (#412) 2024-01-29 11:27:48 +11:00
Banana-J
743fc8500b
chore: return statement optimization (#406) 2024-01-28 16:58:41 +11:00
Banana-J
2504961a33
fix: replace all time.after with the time.newtimer (#400) 2024-01-27 21:01:24 +11:00
Daniel Liu
0d7dd867b7
Merge pull request #402 from gzliudan/XDP-02
remove key with empty value from map txs in function NewOrderTransactionByNonce
2024-01-26 10:34:33 +08:00
Daniel Liu
ffa38cd8d1 fix bug and eliminate loop in func PadTo32Bytes 2024-01-24 16:31:13 +08:00
Daniel Liu
e097f2b0df remove key with empty value from map txs in func NewOrderTransactionByNonce 2024-01-24 13:45:50 +08:00
Wanwiset Peerapatanapokin
aaa246f60e
PDF-01 (#397)
* replace deprecated ioutil lib calls

* fix for FileInfo type required

* fix for ioutil.Discard

* fix .Discard

* fix for go-bindata generated files
2024-01-19 15:05:03 +04:00
Liam
81ff6421d0
fix Panic In ProcessOrderPending Leads To Chain Halt (#392)
Co-authored-by: Liam Lai <liamlai@Liams-Laptop.local>
2024-01-19 11:22:24 +11:00
Daniel Liu
ded4e0fd90 fix nil Error in func reportBlock (#369) 2023-12-05 20:29:19 +08:00
Liam
ac404683b3
Merge pull request #365 from XinFinOrg/bump-go-v2
Bump go v1.21
2023-11-21 23:44:14 +11:00
Liam
f7025cee2f
Merge pull request #346 from gzliudan/defer-time.Since
call to time.Since is not deferred
2023-11-21 23:22:58 +11:00
Liam
87ba815341
Merge pull request #336 from gzliudan/fix-func-procFutureBlocks
Fix a loop closure bug in func  procFutureBlocks
2023-11-21 23:19:08 +11:00
Liam Lai
824d7b232f resolve conflict 2023-11-20 23:53:49 +11:00
Liam
c215316744
Make masternode dynamic (#356)
* make masternode dynamic

* fix all the tests

* remove cmt

* fix test again
2023-11-16 23:59:19 +11:00
Liam
84994df759
Merge pull request #351 from XinFinOrg/bump-golang-1.21
Bump golang 1.21
2023-11-07 10:35:42 +11:00
Daniel Liu
cd9f4f8094 core: fix loop closure bug in func procFutureBlocks 2023-11-01 15:02:04 +08:00
Daniel Liu
349f71db7b defer time.Since 2023-11-01 12:43:50 +08:00
Daniel Liu
f4154d0479 remove lendingstate.EmptyAddress 2023-10-24 12:27:03 +08:00
Daniel Liu
2c02ddc2d9 remove xdc0000000000000000000000000000000000000000 2023-10-24 12:15:30 +08:00
Daniel Liu
e2359d9b8c filter zero address in function GetCandidates 2023-10-24 12:15:24 +08:00
Daniel Liu
320b358830 replace package sort with common/sort 2023-10-23 22:51:06 +08:00
Daniel Liu
7adb98fbe8 update gas fee 2023-10-16 11:24:47 +08:00
Daniel Liu
148e2f1699 add parameter number for function NewMessage 2023-10-16 11:24:47 +08:00
Daniel Liu
0e8b3f1d31 replace TRC21Cost with TxCost 2023-10-16 11:24:47 +08:00
Daniel Liu
9a7ffaa09f change msg.gasPrice in function AsMessage 2023-10-16 11:24:47 +08:00
Daniel Liu
845d3d49e5 change minGasPrice in function validateTx 2023-10-16 11:24:47 +08:00
Daniel Liu
02158d06d9 core: fix blockHash for eth_getLogs, eth_getFilterLogs, eth_getTransactionReceipt (#208) 2023-08-31 15:26:26 +08:00
Liam Lai
5623ce8de0 merge from master 2023-07-30 16:50:45 +10:00
Wanwiset Peerapatanapokin
a959bea092 add standbynodes in GetMasternodesByNumber similar way to subnet 2023-07-21 10:07:05 +04:00
wgr523
d578e092cd
stop reorg at committed blocks (#276)
This PR makes committed blocks non-reorg-able inside `Blockchain` struct. This ensures V2 consensus safety property in the aspect of blockchain head: committed blocks' state will not be reorg and users will always see committed blocks (or their child blocks) as current head of the blockchain.

* stop reorg at committed blocks

* fix tests

* fix tests
2023-06-08 01:16:13 +08:00
wgr523
3e0505a0c7
cherry-pick from d8ada03eac (#255) 2023-05-25 14:23:27 +10:00
wgr523
cd74061ac2
Extend masternode candidate (#261)
* V2 truncate MaxMasternodes from candidates after penalty,
V1 same as before

TestUpdateMultipleMasterNodes: test V2, in snapshot we have all candidates, but at epoch switch, we pick MaxMasternodes

* code looks better
2023-05-16 21:43:56 +08:00
Liam
153f8d296d
Fix API penalty bug and add more info in api (#262)
* fix api bug

* remove cmd
2023-05-16 21:23:02 +10:00
Daniel Liu
fd6cbd5df1 fix nonce error for debug trace api (#256) 2023-05-06 09:50:25 +08:00
Liam
7b657f0c4e
API: getMasternode and getPoolStatus (#258)
* API: getMasternode and getPoolStatus

* fix test
2023-05-01 23:01:39 +10:00
Jerome
1430b74a98
Add more log info during updateM1 and change log level on devnet to 3 (#223) 2023-01-22 22:53:22 +11:00
Jerome
2ca1d0461d
Fix issue when resync is not getting the right consensus config values (#221)
* Fix issue when resync is not getting the right consensus config values

* add test and fix log bug

* fix test

* delete temp file

Co-authored-by: Liam Lai <liam.icheng.lai@gmail.com>
2023-01-17 21:34:42 +08:00
Liam
c4f9a552e5
Multi config bug fix (#216)
* refactor multi config
remove pool cleaner
correct message and log level
2022-12-17 20:23:46 +08:00
Liam
6ffbd3e141
Xin 259 support multi v2 config (#210)
* update timeout period and waittime

* remove wrong comment

* update config for preparing test
2022-12-06 20:08:56 +08:00
Daniel Liu
42379f530f
internal/ethapi: EstimateGas and Call handle revert error(#173) (#200)
hot fix for EstimateGas and Call handle revert error https://github.com/XinFinOrg/XDPoSChain/issues/173
2022-10-27 17:25:25 +08:00
Liam
dad7eff036
Xin 231 sync issues - too far messages should omit and skip to process (#177)
* omit too far v2 messages

* update error msg

* improve log

* fix test

* remove useless file
2022-09-05 10:38:45 +08:00
Jianrong
dfa1e7c098 make vote equivocation content's signer key lower case 2022-08-23 17:33:37 +08:00
Jerome
c710bd98a5
Xin-200 Vote Equivocation (#111) (#172)
* Xin-200 Vote Equivocation (#111)

* add vote same round detection

add test for vote same round detect

finish process equivocate (not finish report)

* finish vote equivocation report, refactor code (vote -> forensics)

* finish process equivocate and report, and test

* add return err

Co-authored-by: wgr523 <wgr523@gmail.com>
2022-08-13 11:50:56 +05:30
Liam
833f70bdb7
xin-203 fix wrong config hash and update v2 params on mainnet (#109)
* fix wrong config hash and update v2 params on mainnet

* update config and all the test

* hard code binary into code

* add default config for testing

* update test timestamp
2022-07-12 16:56:55 +02:00
Jerome
cfb5c6ce39
pass the forensics Id at root level (#107) 2022-07-05 22:01:36 +10:00
Jerome
533fe250db
forensics shall send unique id (#106) 2022-07-05 00:31:09 +02:00
Jerome
3ebaea1945
update forensics proof data structure to accomedate vote type (#104)
* update forensics proof data structure to accomedate vote type

* refactor log

* change blocknum type to uint64

* fix test

Co-authored-by: Liam Lai <liam.icheng.lai@gmail.com>
2022-06-29 23:58:18 +02:00
Liam
0317e871d4
add initial function during load latest block from db (#96) 2022-05-29 11:28:08 +02:00
Jerome
7effc71547
allow forensics send msg to stats server (#95)
* allow forensics send msg to stats server

* add test for forensics reporting mechanism
2022-05-25 19:42:30 +10:00
Jerome
455cacc1b7
move XDC consensus types into core (#93) 2022-05-22 11:43:25 +10:00
wgr523
8fde52c512
Xin 145 (#82)
* add HandleProposedBlock() in procFutureBlocks()

* add proposedBlockHandler for downloader
2022-04-22 00:12:44 +08:00
Jerome
e493ddfd6d
add verifyTC and verifyTimeoutMessage (#63)
* add verifyTC and verifyTimeoutMessage

* remove v2 func from adaptor
2022-03-02 09:17:57 +11:00
Liam
ff0fcd3951
add test and fix issue on happy path (#46)
* add test and fix issue on happy path

* add prepare test

* update comment
2022-01-25 10:51:17 +03:00
Jerome
f8d3f9f8c6
Xin 113 is epoch switch (#37)
* add isEpochSwitch function and refactor utils

* fix broken first v2 epoch switch block

* use adaptor epoch switch function to determine v1 v2 epoch swtich block

* add test for the GetMasternodesByNumber and GetCurrentEpochSwitchBlock function

* add v2 test for isAuthroisedAddress

* Use GetCurrentEpochSwitchBlock in findNearestSignedBlock api
2022-01-14 21:38:38 +11:00
Gerui Wang
2969548f68 add warn for reorg 2021-12-21 16:06:16 +08:00
Liam Lai
5061dd9841 add few comments in code 2021-12-21 08:47:23 +03:00
Jianrong
d901d1df6e race condition caused by old eth bug where read before write. We fixing it by passing down header in the snapshot to avoid touching ETH code. This is just a precaution to avoid undiscovered bugs in XDC as a result of fundmental ETH implementation change 2021-12-21 10:32:55 +11:00
olumuyiwadad
afe58d79fc fix api trace block & Change option pending block. 2021-11-11 18:49:57 +05:30
olumuyiwadad
18bfb102b4 Update Test for blockchain.go
- TestBlocksHashCacheUpdate
- TestAreTwoBlocksSamePath

	Collection test for BlocksHashCache
	cases
		1. When init new chain
		2. when insertChain
		3. when insertFork
		4. When adding new block by mining
		5. When adding new block by syncing with other nodes
2021-11-08 15:41:13 +05:30
olumuyiwadad
70e0496138 fetch data from StateDB instead of Contract. 2021-11-08 14:59:32 +05:30
olumuyiwadad
cca2a7d213 missing ValidatorMapping added. 2021-11-08 14:54:41 +05:30
Gerui Wang
a1e6ae4152 make statedb_utils.go (XDCValidator reader) correct, add statedb utils test 2021-11-03 21:05:25 +08:00
Jianrong
acc2e411a6 fix or skip tests due to PR-136 change 2021-10-20 20:17:47 +11:00
Jianrong
ce106abffe fix tests related to consensus 2021-10-10 22:05:32 +11:00
Jianrong
e34311ff45 Remove unused consensus v1 methods 2021-10-10 16:04:34 +11:00
Jianrong
0aec2a1e9e Seperate hooks from XDPoS adaptor 2021-10-10 16:02:19 +11:00
Jianrong
fcbc5a28e1 refactor XDPoS to accommodate multiple consensus engine versions 2021-10-10 16:02:16 +11:00
olumuyiwadad
7d08fa95ba
Merge branch 'apothem' into new_EVM_Upgrade 2021-09-23 17:05:46 +05:30
olumuyiwadad
cf18ceba33 Merge branch 'forking-incident-fix' of https://github.com/hash-laboratories-au/XDPoSChain into hash-laboratories-au-forking-incident-fix 2021-09-23 17:01:19 +05:30
olumuyiwadad
22b1e3a2b5
Update trc21_reader.go 2021-09-21 18:13:01 +05:30
olumuyiwadad
b5abbfed79 new EVM Upgrade
- Solidity Upgraded up to v0.8.0
-  Fixed and Added eth_chainId
- Fix error in TransactionRecipet
- Reward halving issue fixed
2021-09-21 16:53:46 +05:30
olumuyiwadad
92ffe69ab4 Work around for the issue "return wrong list signers from snapshot"
Update signers in snapshot
Ignore signerCheck at checkpoint block 27307800
due to wrong snapshot at gap 27307799
2021-09-17 18:45:46 +05:30
olumuyiwadad
571c41f891 FIx Bad block error. 2021-09-17 17:59:06 +05:30
Liam
0a5c047600
remove duplicate update m1 call (#8) 2021-09-04 17:51:32 +10:00
Jianrong
9efb89dffb fix simulator functions to choose between XDC faker and eth faker 2021-08-30 14:56:14 +10:00
Jianrong
fa2b341c9a resolving broken eth tests 2021-08-29 17:14:10 +10:00
Jianrong
7b7e34ae00 Fix XDC forking incident with tests 2021-08-29 14:20:01 +10:00
Jianrong
0fdab2027c add linting as the first CI task 2021-08-07 14:27:08 +10:00
AnilChinchawale
916b16de71 fix masternode stop block production. 2021-01-18 10:57:22 +05:30
AnilChinchawale
a8fc240b29 remove logs & add list of authorized signers 2020-12-30 18:00:37 +05:30
dev-vadim
dbe8c9d984 upgrade XDC.Network with v1.8.27. 2020-12-23 16:32:06 +05:30
diglspacedavid
474cc37036 upgrade codebase with ethereum:v1.8.13 2020-11-23 13:40:30 +05:30
Sinh Vu
c52f31d2c4 update max masternodes 2019-07-23 17:45:29 +07:00
Sinh Vu
3180921a7f upgrade increase masternodes 2019-07-23 17:25:55 +07:00
Péter Szilágyi
0e63a70505
core: minor code polishes + rebase fixes 2019-04-08 12:04:31 +03:00
rjl493456442
f1b00cffc8
core: re-omit new log event when logs rebirth 2019-04-08 12:02:15 +03:00
Martin Holst Swende
af401d03a3
all: simplify timestamps to uint64 (#19372)
* 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
2019-04-08 12:00:42 +03:00
Anil Chinchawale
4adc9c0fdc
Update tx_pool.go 2019-04-01 14:33:59 +05:30
AnilChinchawale
ed6533e092 Added "xdc" prefix in address 2019-03-17 16:14:42 +05:30
AnilChinchawale
bf626ddc95 Core Updated 2019-03-16 16:00:19 +05:30
AnilChinchawale
153c8ef49d File Updated | transaction & constants 2019-03-14 15:58:42 +05:30
MestryOmkar
1861c13bcd fetcher-hotfix 2019-03-02 15:10:35 +05:30
MestryOmkar
10694b2c6f fixed bypass unittest 2019-02-27 15:02:33 +05:30
parmarrushabh
147e1f0baf create new func penalties for hard fork 2019-02-19 17:25:31 +05:30
Péter Szilágyi
2072c26a96
cmd, core, params: add support for Goerli
(cherry picked from commit b0ed083ead)
2019-02-19 10:53:47 +02:00
Péter Szilágyi
4da2092908
core: fix pruner panic when importing low-diff-large-sidechain 2019-02-09 17:45:23 +01:00
Martin Holst Swende
3ab9dcc3bd
core: repro #18977 2019-02-09 17:44:15 +01:00
Martin Holst Swende
3a95128b22
core: fix error in block iterator (#18986) 2019-02-09 17:36:20 +01:00
Martin Holst Swende
c7664b0636 core, cmd/puppeth: implement constantinople fix, disable EIP-1283 (#18486)
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!
2019-01-29 17:49:27 +01:00
AnilChinchawale
26cafb46ea Updated changes in genesis 2019-01-19 04:40:21 +05:30
AnilChinchawale
fd51ea9fc1 Updated Core 2019-01-17 04:38:43 +05:30
AnilChinchawale
ffd60b3685 FIxed issue in core 2019-01-17 04:38:29 +05:30
AnilChinchawale
d67d59a659 Genesis updated 2019-01-16 04:37:52 +05:30
gary rong
d5cad488be core, eth: fix database version (#18429)
* core, eth: fix database version

* eth: polish error message
2019-01-11 13:49:12 +02:00
Péter Szilágyi
c1c4301121
Merge pull request #18371 from jeremyschlatter/patch-1
core/types: update incorrect comment
2019-01-04 10:14:17 +02:00
Dave McGregor
33d233d3e1
vendor, crypto, swarm: switch over to upstream sha3 package 2019-01-04 09:26:07 +02:00
Jeremy Schlatter
6537ab5dd3
core/types: update incorrect comment 2018-12-28 17:58:03 -08:00
parmarrushabh
7833a10c16 remove run evm with signing tracsaction 2018-12-28 12:33:35 +05:30
parmarrushabh
973f9d1271 Fixed minor bug for get signers from penalties header. 2018-12-28 12:21:37 +05:30
Jordan Krage
27ce4eb78b core: sanitize more TxPoolConfig fields (#17210)
* core: sanitize more TxPoolConfig fields

* core: fix TestTransactionPendingMinimumAllowance
2018-12-20 14:00:58 +01:00
Shuai Qi
fe26b2f366 core/state: rename 'new' variable (#18301) 2018-12-14 14:55:03 +01:00
qd-ethan
9940d93a43 Comment error (#18303) 2018-12-14 11:15:31 +01:00
Martin Holst Swende
83a9a73b89 cmd/geth, core, eth: implement Constantinople override flag (#18273)
* 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
2018-12-11 14:19:03 +02:00
Martin Holst Swende
42a914a84f
cmd/evm, core/vm, eth: implement api methods to do stdjson dump to local filesystem 2018-12-10 12:33:50 +02:00
MestryOmkar
08843fa176 set min gas price for tx 2018-12-10 11:12:07 +05:30
parmarrushabh
052ac145b6 adding debug log 2018-12-07 11:01:22 +05:30
Paweł Bylica
de39513ced core, internal, eth, miner, les: Take VM config from BlockChain (#17955)
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.
2018-12-06 14:34:49 +01:00
AnilChinchawale
7ca3b22aa8 fix unittest 2018-12-04 10:03:49 +05:30
AnilChinchawale
0cb5dbc04d move cache to insert func 2018-12-04 09:59:50 +05:30
MestryOmkar
3227893d02 cache all after 1 epoch 2018-12-04 14:59:55 +05:30
parmarrushabh
88fa30a4ea move cache data to insert func 2018-12-04 14:57:51 +05:30
parmarrushabh
4a12d746ff tmp fix ethash unittests 2018-12-04 14:25:55 +05:30
parmarrushabh
2b7010d51f add state variable to verifyHeader(), verifyHeaders() in the consensus 2018-12-02 12:21:48 +05:30
Martin Holst Swende
7c657fc789 tests, core: update tests and make STATICCALL cause touch-delete (#18187) 2018-11-29 10:51:57 +02:00
Martin Holst Swende
bfed28a421 core: more detailed metrics for block processing (#18119) 2018-11-28 10:29:05 +02:00
Jaynti Kanani
38592a13a3 fix mixHash/nonce for parity compatible network (#18166) 2018-11-26 09:59:04 +01:00
MestryOmkar
8eb3182487 tx from 2018-11-24 17:57:32 +05:30
MestryOmkar
b0cfa3037f fixed error 2018-11-24 17:55:15 +05:30
parmarrushabh
c2414371ca fix error read reward 2018-11-24 17:40:36 +05:30
mr_franklin
2a113f6d72 core: return error if repair block failed (#18126)
* core: return error if repair block failed

* make error a bit shorter
2018-11-23 11:16:14 +02:00
Péter Szilágyi
3ba0418a9a
Merge pull request #17973 from holiman/splitter2
core: better side-chain importing
2018-11-22 15:01:10 +02:00
parmarrushabh
8d7572ef1c hot fix 2018-11-22 15:49:29 +05:30
parmarrushabh
2f4ae0f385 fixed error 2018-11-22 15:09:23 +05:30
Martin Holst Swende
e0d091e090 core: better printout of receipts in bad block reports (#18156)
* core/blockchain: better printout of receipts in bad block reports

* fix splleing
2018-11-22 11:00:16 +02:00
AnilChinchawale
428d3e2f9c fix duplicate hook rewards with --announceTxs 2018-11-22 12:43:16 +05:30
Péter Szilágyi
333b5fb123
core: polish side chain importer a bit 2018-11-21 13:19:56 +02:00
mr_franklin
3fd87f2193 core: fix comment typo (#18144) 2018-11-21 12:52:02 +02:00
Martin Holst Swende
493903eede
core: better side-chain importing 2018-11-20 12:28:43 +02:00
parmarrushabh
b6dc253064 Update blockchain.go 2018-11-19 12:23:33 +05:30
AnilChinchawale
1f2a1b34bd add runtime validator contract call 2018-11-19 11:43:40 +05:30
parmarrushabh
51c88fe8ce create new api get reward 2018-11-19 11:21:42 +05:30
parmarrushabh
4c4fd0a37a Fixed bug not validate zero gas price for tx deploy SMC. 2018-11-17 18:28:49 +05:30
Rahulraj04
6c67be797b update logging 2018-11-17 16:37:14 +05:30
AnilChinchawale
43ad80bc0f broadcast log when insert block 2018-11-17 16:21:52 +05:30
parmarrushabh
f5e8c999a2 set block difficulty belong to creator turn 2018-11-17 12:52:10 +05:30
Rahulraj04
bc027c4fc0 check nonce special transaction before promote 2018-11-17 12:34:24 +05:30
parmarrushabh
9f36d37558 Parallel process block from fetcher 2018-11-17 12:02:43 +05:30
Péter Szilágyi
accc0fab4f
core, eth/downloader: fix ancestor lookup for fast sync 2018-11-16 13:21:20 +02:00
Péter Szilágyi
434dd5bc00
cmd, core, eth, light, trie: add trie read caching layer 2018-11-15 12:22:13 +02:00
parmarrushabh
52ae30023a refactor RW & pairRW connect for block , transaction 2018-11-14 10:40:05 +05:30
gary rong
1212c7b844 core: fix default trie cache limit (#17860) 2018-11-12 18:06:34 +02:00
AnilChinchawale
6f4bb10efd sort by big.Int 2018-11-12 16:16:24 +05:30
MestryOmkar
bbadba469b change difficulty block in XDPoS 2018-11-12 15:52:55 +05:30
parmarrushabh
f586154a8e fix error transaction underpriced when add sign tx to pool(full) 2018-11-12 13:08:55 +05:30
AnilChinchawale
72bc872939 fix unit test: remove td test 2018-11-12 12:56:06 +05:30
AnilChinchawale
1eda4b653c stop node when updateM1 fails 2018-11-12 12:51:18 +05:30
MestryOmkar
54543deb8a fix reorg unit test 2018-11-12 12:44:22 +05:30
parmarrushabh
05ea5f10f7 fix unit test tx pool 2018-11-12 12:10:22 +05:30
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
parmarrushabh
3fc36efeb3 Fixed golint. 2018-11-09 10:49:11 +05:30
parmarrushabh
1396b1a10f Fixed unit test for new m2 block header. 2018-11-09 16:29:54 +05:30
MestryOmkar
07b4be1284 Add new block header validator for store m2 data. 2018-11-09 16:11:13 +05:30
AnilChinchwale
8b92c4176c move from SubscribeTx to Subscribe Special Tx in Double Validate 2018-11-09 15:00:22 +05:30
AnilChinchwale
360584a498 Revert adding double validation layer 2018-11-09 14:39:48 +05:30
parmarrushabh
161053b345 verify validators info at checkpoint block 2018-11-09 14:20:08 +05:30
parmarrushabh
7ebdbeed64 fix after reviewing 2018-11-09 13:07:34 +05:30
AnilChinchwale
9fc966c7db Broadcast special Tx through pairRW 2018-11-09 12:56:56 +05:30
MestryOmkar
8e1ffd7c72 Add penalty feature for prevent signer without sign in epoc make slow 2018-11-09 12:49:54 +05:30
parmarrushabh
9d6344fbb4 Broadcast special Tx through pairRW 2018-11-09 12:45:18 +05:30
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
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
Martin Holst Swende
eea3ae42a3 core, eth/downloader: fix validation flaw, fix downloader printout flaw (#17974) 2018-11-07 14:47:11 +02:00
AnilChinchwale
9414ae6f2a Add penalty feature for prevent signer without sign in epoc make slow 2018-11-07 12:05:58 +05:30
AnilChinchwale
551fd57271 Fixed unit test for penalty feature. 2018-11-07 10:46:09 +05:30
AnilChinchwale
f5152bf0cf Add penalty feature for prevent signer without sign in epoc make slow… 2018-11-07 10:26:28 +05:30
parmarrushabh
b8cb600964 Optimize insert new block 2018-11-07 10:09:52 +05:30
MestryOmkar
b955291388 init double validation layer 2018-11-06 18:00:21 +05:30
AnilChinchawale
deb79f4a23 push Randomization implementation 2018-11-06 17:27:13 +05:30
parmarrushabh
944494f6e4 Revert Randomization implementation 2018-11-06 16:16:29 +05:30
MestryOmkar
20c5123739 Fixed unit test for block randomize. 2018-11-05 11:45:14 +05:30
AnilChinchawale
d81dc08a50 Get randomize m2 offer from validators in smart contract. 2018-11-05 11:12:22 +05:30
AnilChinchawale
0c1fc6e0ae concurrence init messages from transactions when insert block 2018-11-05 17:41:45 +05:30
parmarrushabh
1857fe3991 remove delay when mine new block 2018-11-03 17:12:18 +05:30
parmarrushabh
4962300b5e adding sort to masternode list 2018-11-02 14:27:17 +05:30
AnilChinchawale
7e7bc37c20 convert update M1 method from async to sync 2018-11-02 12:14:43 +05:30
parmarrushabh
51ef74203a update return error when update M1 2018-10-31 18:58:34 +05:30
parmarrushabh
ce89b6b92d making XDPoS as a separate package 2018-10-28 11:58:50 +05:30
MestryOmkar
9a6c1c5382 Fixed prevent tx zero gas price add to tx pool. 2018-10-27 18:03:27 +05:30
parmmarrushabh
dccf2ca3e9 Add signers and finality to block status rpc api. 2018-10-27 16:28:04 +05:30
Martin Holst Swende
1b6fd032e3
core/vm: check empty in extcodehash 2018-10-26 08:56:37 +02:00
MestryOmkar
cd3f0e37b4 move gap into genesis config 2018-10-24 14:29:03 +05:30
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
MestryOmkar
a9e0b66e20 tiny adjustment: m1gap 2018-10-23 11:53:58 +05:30
MestryOmkar
ec421b98b1 masternode should also count to his turn in case some of his friends are down 2018-10-22 10:53:15 +05:30
MestryOmkar
7adecc32d3 node waits to his turn until there is a new block comes in 2018-10-22 10:37:12 +05:30
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
MestryOmkar
f814908442 get masternodes set from latest checkpoint block header instead of fr… … 2018-10-10 14:15:15 +05:30
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
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
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
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
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
parmarrushabh
9f5cba7dc7 update new set of masternodes at end of each epoch (distance = m1Gap) 2018-09-30 12:00:33 +05:30
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
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
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