Daniel Liu
9e034475c8
log: default JSON log handler should log all verbosity levels ( #29471 )
...
Co-authored-by: lightclient <lightclient@protonmail.com>
2024-11-15 10:02:42 +08:00
Daniel Liu
946c085f9f
log: use native log/slog instead of golang/exp ( #29302 )
2024-11-15 10:02:42 +08:00
Daniel Liu
20a62e4743
log: add Handler getter to Logger interface ( #28793 )
...
log: Add Handler getter to Logger interface
2024-11-15 10:02:42 +08:00
Daniel Liu
14acdf2dd1
log: remove lazy, remove unused interfaces, unexport methods ( #28622 )
...
This change
- Removes interface `log.Format`,
- Removes method `log.FormatFunc`,
- unexports `TerminalHandler.TerminalFormat` formatting methods (renamed to `TerminalHandler.format`)
- removes the notion of `log.Lazy` values
The lazy handler was useful in the old log package, since it
could defer the evaluation of costly attributes until later in the
log pipeline: thus, if the logging was done at 'Trace', we could
skip evaluation if logging only was set to 'Info'.
With the move to slog, this way of deferring evaluation is no longer
needed, since slog introduced 'Enabled': the caller can thus do
the evaluate-or-not decision at the callsite, which is much more
straight-forward than dealing with lazy reflect-based evaluation.
Also, lazy evaluation would not work with 'native' slog, as in, these
two statements would be evaluated differently:
```golang
log.Info("foo", "my lazy", lazyObj)
slog.Info("foo", "my lazy", lazyObj)
```
2024-11-15 10:02:42 +08:00
Daniel Liu
9ae7402e35
slog: faster and less memory-consumption ( #28621 )
...
These changes improves the performance of the non-coloured terminal formatting, _quite a lot_.
```
name old time/op new time/op delta
TerminalHandler-8 10.2µs ±15% 5.4µs ± 9% -47.02% (p=0.008 n=5+5)
name old alloc/op new alloc/op delta
TerminalHandler-8 2.17kB ± 0% 0.40kB ± 0% -81.46% (p=0.008 n=5+5)
name old allocs/op new allocs/op delta
TerminalHandler-8 33.0 ± 0% 5.0 ± 0% -84.85% (p=0.008 n=5+5)
```
I tried to _somewhat_ organize the commits, but the it might still be a bit chaotic. Some core insights:
- The function `terminalHandler.Handl` uses a mutex, and writes all output immediately to 'upstream'. Thus, it can reuse a scratch-buffer every time.
- This buffer can be propagated internally, making all the internal formatters either write directly to it,
- OR, make use of the `tmp := buf.AvailableBuffer()` in some cases, where a byte buffer "extra capacity" can be temporarily used.
- The `slog` package uses `Attr` by value. It makes sense to minimize operating on them, since iterating / collecting into a new slice, iterating again etc causes copy-on-heap. Better to operate on them only once.
- If we want to do padding, it's better to copy from a constant `space`-buffer than to invoke `bytes.Repeat` every single time.
2024-11-15 10:02:42 +08:00
Daniel Liu
ec4ca1ed6a
all: replace log15 with slog ( #28187 )
2024-11-15 10:02:42 +08:00
Daniel Liu
f9cae3b9aa
internal, log: remove code for old unsupported go-versions ( #28090 )
2024-11-15 10:02:42 +08:00
Daniel Liu
7865057840
internal/debug: support color terminal for cygwin/msys2 ( #17740 )
2024-11-15 10:02:41 +08:00
Daniel Liu
d3c023ed37
cmd/XDC, internal, node: nuke XDC monitor ( #19399 )
2024-11-13 09:35:41 +08:00
Daniel Liu
f9f172af76
rpc: Add admin_addTrustedPeer and admin_removeTrustedPeer. ( #16333 )
2024-11-13 09:33:18 +08:00
Daniel Liu
416e5ac00f
eth/tracers,internal/ethapi: use correct baseFee when BlockOverrides is provided in call/traceCall ( #29051 )
2024-11-01 11:36:53 +08:00
Daniel Liu
bc14c672f2
internal/ethapi: support unlimited rpc gas cap in eth_createAccessList ( #28846 )
2024-11-01 11:36:53 +08:00
Daniel Liu
0237985f58
internal/ethapi: ethSendTransaction check baseFee ( #27834 )
2024-11-01 11:36:53 +08:00
Daniel Liu
f23e1a648c
internal/ethapi: implement eth_getBlockReceipts ( #27702 )
2024-11-01 11:36:53 +08:00
Daniel Liu
419f81f022
eth/gasprice: change feehistory input type from int to uint64 ( #26922 )
2024-11-01 11:36:53 +08:00
Daniel Liu
b8236888d4
internal/ethapi: avoid int overflow in GetTransactionReceipt ( #26911 )
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
ucwong
e4153f756d
internal/ethapi: fix comment typo ( #25548 )
2024-11-01 11:36:53 +08:00
Daniel Liu
49b54aaede
internal/ethapi: rework setDefaults for tx args so fee logic is separate ( #25197 )
2024-11-01 11:36:53 +08:00
Daniel Liu
c668279c48
internal/ethapi: don't estimate gas if no limit provided in eth_createAccessList ( #25467 )
2024-11-01 11:36:53 +08:00
Daniel Liu
9535b3ade5
ethclient: add FeeHistory support ( #25403 )
2024-11-01 11:36:53 +08:00
Daniel Liu
fa83f32e5c
internal/ethapi: error if tx args includes ChainId not match local ( #25157 )
2024-11-01 11:36:53 +08:00
Daniel Liu
77e2ad90cf
internal/ethapi: add comment explaining return of nil instead of error ( #25097 )
2024-11-01 11:36:53 +08:00
Daniel Liu
588847ccea
internal/ethapi: use same receiver names ( #24252 )
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
e4895bf5c5
internal/ethapi: add back missing check for maxfee < maxPriorityFee ( #23384 )
2024-11-01 11:36:53 +08:00
Daniel Liu
48616d5d4b
internal/ethapi/api: return maxFeePerGas for gasPrice for EIP-1559 txs ( #23345 )
2024-11-01 11:36:53 +08:00
Daniel Liu
655fb584b3
internal/ethapi: make ext signer sign legacy ( #23274 )
2024-11-01 11:36:53 +08:00
Daniel Liu
62a70f0cde
internal/ethapi: fix panic in accesslist creation ( #23225 )
2024-11-01 11:36:52 +08:00
Daniel Liu
7500b0ac95
Use hexutil.Uint for blockCount parameter and oldestBlock result value in feeHistory method ( #23239 )
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
93dd33b607
internal/ethapi: fix transaction APIs ( #23179 )
2024-11-01 11:36:52 +08:00
Daniel Liu
5766ca4520
eth/gasprice, internal/ethapi: minor feehistory fixes ( #23178 )
2024-11-01 11:36:52 +08:00
Daniel Liu
5d4ad88364
internal/ethapi: fix panic in access list creation ( #23133 )
2024-11-01 11:36:52 +08:00
Daniel Liu
26fe46c008
eth/gasprice: implement feeHistory API ( #23033 )
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
18bc355e89
core, internal: support various eth_call invocations post 1559 ( #23027 )
2024-11-01 11:36:52 +08:00
Daniel Liu
ef1dbd0772
internal/ethapi: support for eip-1559 txs in clef ( #22966 )
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
bfd1c0c9e0
core, eth, internal, les: RPC methods and fields for EIP 1559 ( #22964 )
2024-11-01 11:36:52 +08:00
Daniel Liu
e18553b855
all: implement eip-1559 ( #22837 )
2024-11-01 11:36:52 +08:00
liam.icheng.lai
59a7eb1f9f
resolve conflict from master
2024-10-30 16:47:26 -07:00
wgr523
71b9005f34
feat: add api xdpos_getBlockInfoByEpochNum ( #674 )
...
* feat: add api xdpos_getBlockInfoByEpochNum
* feat: add cache round2epochBlockInfo
* fix: round2epochBlockInfo contains round now
* feat: binary search in GetBlockByEpochNumber
* fix: change some code back, refine style
2024-10-28 00:14:30 -07:00
Daniel Liu
dd6822bc3c
internal/ethapi, contracts/trc21issuer: fix staticcheck warning SA1012: pass nil Context
2024-10-25 18:29:08 +08:00
Daniel Liu
a79411fa06
all: fix staticcheck warning ST1005: incorrectly formatted error string
2024-10-24 09:48:20 +08:00
Liam Lai
22fc7d0710
fix conflict
2024-10-16 22:42:53 -07:00
Liam Lai
b43bb5ed1f
api epoch
2024-10-15 19:20:13 -07:00
benjamin202410
eb6d53adf6
Fix getCandidateStatus API ( #663 )
...
* Fix getCandidateStatus API
* sync vote message and fix test
* update function name
---------
Co-authored-by: Liam Lai <liam@home>
2024-10-09 22:05:14 -07:00
Liam
9751e41dd5
Mainnet debug ( #655 )
...
* intro new timeout (#651 )
* intro new timeout
* correct comment
* disable ProcessForensics
* disable ProcessForensics
* change version
* enable periodicProfilingFlag
* fix: ignore old timeout msg
* fix: ignore old timeout msg including equal to the current round
* udpate version file
2024-09-30 20:05:14 -07:00
Daniel Liu
edace6ac6c
all: change format 0x%x to %#x ( #25221 )
2024-09-27 15:24:31 +08:00
wgr523
3593abe815
feat: GetEpochNumbersBetween API ( #606 )
...
* feat: GetEpochNumbersBetween API
* style: refine GetEpochNumbersBetween API
2024-09-02 00:11:12 -07:00
wanwiset25
cb792ef34f
Revert EIP-2464
2024-08-24 02:31:27 +07:00
JukLee0ira
925c20061d
internal/ethapi: support both input and data for personal_sendTransaction ( #23476 )
2024-08-21 15:15:53 +08:00
JukLee0ira
138ac7c967
internal/ethapi: merge CallArgs and SendTxArgs ( #22718 )
2024-08-21 15:15:53 +08:00
Daniel Liu
45e57e41b4
internal/ethapi: refactor func ToMessage for CallArgs
2024-08-21 15:15:53 +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
bea4431f6f
eth/filters: avoid block body retrieval when no matching logs ( #25199 )
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
0c9f2fcceb
eth/filters: fix pending for getLogs ( #24949 )
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
824c531324
make MasternodeVotingSMC tx never timeout ( #598 )
2024-08-02 16:20:24 -07:00
Daniel Liu
a0081d998b
make MasternodeVotingSMC tx never timeout ( #595 )
2024-08-02 16:19:22 -07:00
Liam
4b35f33559
Fix crash during reorg for v2.0.0 ( #590 ) ( #593 )
...
* params: fix usage of IsXDCxDisable
* internal/ethapi: fix nil block in function DoCall during reorg
Co-authored-by: Daniel Liu <139250065@qq.com>
2024-07-29 07:19:19 -07:00
Daniel Liu
438341c2ea
Fix crash during reorg for v2.0.0 ( #590 )
...
* params: fix usage of IsXDCxDisable
* internal/ethapi: fix nil block in function DoCall during reorg
2024-07-27 07:16:26 -07:00
Felföldi Zsolt
e65b81aad9
rpc: Add admin_addTrustedPeer and admin_removeTrustedPeer. ( #16333 )
2024-06-28 11:30:16 +04:00
Daniel Liu
341ca00b16
internal/ethapi: cap txfee for SignTransaction and Resend ( #21231 )
2024-06-20 15:52:32 +08:00
Daniel Liu
0063c14ed3
cmd, eth, internal, les: add gasprice cap ( #21212 )
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
0aab4ced98
common: add binary variables for system contract
2024-06-06 19:33:59 +08:00
wgr523
65d7e6a060
Merge pull request #548 from XinFinOrg/trie-proof
...
GetTransactionAndReceiptProof API
2024-05-22 15:17:35 +08:00
Gerui Wang
2d70c0c3a1
GetTransactionAndReceiptProof API
...
web3ext.go
2024-05-21 23:06:25 +08:00
JukLee0ira
c928c79d95
ethapi: implement eth_getBlockReceipts ( #27702 )
2024-05-21 18:03:15 +08:00
Wang Gerui
b2605e6ab0
add traceCall in web3ext.go
2024-05-18 21:33:15 +08:00
Gary
0245344338
add TraceCall, backend.StateAtBlock(), RPCGasCap
...
update gen_config.go by tool `gencodec`
2024-05-17 21:34:34 +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
01e1728a94
all: add support for EIP-2718, EIP-2930 transactions ( #21502 )
2024-05-14 23:15:35 +08:00
Daniel Liu
48f9bbed50
core: types: less allocations when hashing and tx handling ( #21265 )
2024-05-13 22:07:03 +08:00
Gerui Wang
0f96fc89aa
feat: extend eth_estimateGas api with state override
2024-05-01 16:27:11 +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
9de40946cf
rename function doCall and doEstimateGas
2024-04-07 11:07:40 +08:00
Daniel Liu
1c9f1d8279
all: change TxPreEvent to TxsPreEvent ( #16720 )
2024-03-28 11:16:21 +08: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
Daniel Liu
ece58f00b5
ethapi: add method eth_getAccountInfo
2024-03-06 14:11:15 +08:00
Liam
5ac87bbde6
disable profile flag ( #432 )
2024-02-20 01:37:58 +11:00
Daniel Liu
fa36b1ce66
internal/ethapi: early exit for plain transfer
2024-02-18 11:59:40 +08:00
Daniel Liu
d84e0b5ad2
internal/ethapi: estimate tx gas for EOA and arbitrary data ( #340 )
2024-02-18 11:59:40 +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
Jianrong
8e1f71e86e
Fix the typo missied to missed
2023-12-28 23:03:53 +11:00
Jianrong
14f6b267c4
Make getMissiedRoundsInEpochByBlockNum API method lower case
2023-12-28 15:13:05 +11:00
Jianrong
6740545358
change the API to be block num based
2023-12-28 15:13:05 +11:00
Jianrong
e28b550a24
Add a new API to help debug when there are missed rounds
2023-12-28 15:13:05 +11:00
Liam
47bfdf7635
Move masternode in v2 config ( #372 )
...
* move masternode in v2 config
* update number to meet 7 vote for current setup
* add test
* update all failed test
* fix test
* remove comment
* remove comment
* fix test
2023-11-29 11:11:58 +11: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 Lai
824d7b232f
resolve conflict
2023-11-20 23:53:49 +11:00
Daniel Liu
ce091e7b9c
internal/ethapi: EstimateGas support parameter blockTag ( #326 )
2023-11-16 10:24:42 +08: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
Banana-J
39f6e6ee56
upgrade the websocket in xdpos ( #349 )
2023-11-06 15:37:14 +11:00
Wang Gerui
5cfa0ea8bf
fix error during cherry-picking
2023-11-02 00:59:16 +08:00