Commit graph

470 commits

Author SHA1 Message Date
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
Guillaume Ballet
6743853dca console, internal/jsre: use github.com/dop251/goja (#20470)
This replaces the JavaScript interpreter used by the console with goja,
which is actively maintained and a lot faster than otto. Clef still uses otto
and eth/tracers still uses duktape, so we are currently dependent on three
different JS interpreters. We're looking to replace the remaining uses of otto
soon though.
2023-11-02 00:43:55 +08:00
Daniel Liu
f32c66ebc1 check slashed status in GetCandidateStatus 2023-10-24 12:27:06 +08:00
Daniel Liu
e17a0869e5 check masternode before candidate in GetCandidateStatus 2023-10-24 12:27:06 +08:00
Daniel Liu
745e097040 sort candidates in function GetCandidateStatus 2023-10-24 12:27:06 +08:00
Daniel Liu
8ed9a754b2 return more slashed nodes in GetCandidates 2023-10-24 12:27:06 +08:00
Daniel Liu
6e7d7f5002 return non-candidate masternode in GetCandidates 2023-10-24 12:27:06 +08:00
Daniel Liu
5d24dfdf7e not sort candidates in getCandidatesFromSmartContract 2023-10-24 12:27:06 +08:00
Daniel Liu
7dc5ffe45a fix topCandidates in function GetCandidates 2023-10-24 12:27:06 +08:00
Daniel Liu
3214bbeeba sort candidates in function GetCandidates 2023-10-24 12:27:06 +08:00
Daniel Liu
ebf1002c67 fix function GetPreviousCheckpointFromEpoch 2023-10-24 12:27:06 +08:00
Daniel Liu
fbb8c54d86 remove 0x0000000000000000000000000000000000000000 2023-10-24 12:24:34 +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
148e2f1699 add parameter number for function NewMessage 2023-10-16 11:24:47 +08:00
Liam
938db0afcc
Bug Fix: V2 getSigner API (#313) 2023-08-20 10:56:08 +10:00
Liam Lai
5623ce8de0 merge from master 2023-07-30 16:50:45 +10:00
Liam
7b657f0c4e
API: getMasternode and getPoolStatus (#258)
* API: getMasternode and getPoolStatus

* fix test
2023-05-01 23:01:39 +10:00
Jerome
63a5dc4ce6
Add periodic profiling function (#235)
* Add periodic profiling function

* add flag for periodic flag

* use right filepath join lib

* use 75 percent and log memory usage

---------

Co-authored-by: Liam Lai <liam.icheng.lai@gmail.com>
2023-03-16 16:41:52 +04:00
Daniel Liu
3c21125da5 fix EmptyAddress 2023-03-16 11:47:39 +08:00
Liam
9552500335
xdpos API getV2Block (#227) 2023-03-05 02:17:46 +08:00
Liam
f57e2c3577
Bug Fix on memory leak when doing send tx, block etc to peers (#212)
* resolve conflict

* update version number
2022-12-09 14:54:27 +08:00
Jerome
ff6ee67462
Fix memory leak when doing send tx, vote, block etc to peers (#211) 2022-11-28 21:52:36 +11: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
Jerome
4eea723717
Add API to get latest committed blockInfo, also send it via 'block' message type to stats server (#113) 2022-07-16 16:14:36 +10:00
Jerome
bcffe1ec16
Give the XDC option to use emit metrics (#89) 2022-06-19 13:42:48 +02:00
Jerome
38c3582841
Add v2 yourturn (#38)
* Add v2 yourturn

* add isEpochSwitchByRound into YourTurn

Co-authored-by: Gerui Wang <wgr523@gmail.com>
2022-01-16 19:18:01 +11: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
Anil Chinchawale
079e4e16d5
Fix Invalid address in XDC Console. 2021-12-05 11:47:31 +05:30
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
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
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
571c41f891 FIx Bad block error. 2021-09-17 17:59:06 +05:30
Jianrong
7b7e34ae00 Fix XDC forking incident with tests 2021-08-29 14:20:01 +10:00
Jianrong
2d92ccb59b fix all XDC&ETH tests and enable it in CI 2021-08-25 23:51:42 +10:00
Jianrong
0fdab2027c add linting as the first CI task 2021-08-07 14:27:08 +10:00
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
AnilChinchawale
80cd2d3871 added eth_client func. 2020-08-31 17:52:03 +05:30
Sinh Vu
3180921a7f upgrade increase masternodes 2019-07-23 17:25:55 +07:00
parmarrushabh
3e5f4d54a8 Hot_Fix Bad block Error 2019-04-25 12:11:30 +05:30
Martin Holst Swende
e872ba7a9e
eth, les, geth: implement cli-configurable global gas cap for RPC calls (#19401)
* eth, les, geth: implement cli-configurable global gas cap for RPC calls

* graphql, ethapi: place gas cap in DoCall

* ethapi: reformat log message
2019-04-08 15:15:13 +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
parmarrushabh
2fa93cdbf2 Fixed randomize for mi and m2 2019-03-25 12:31:54 +05:30
parmarrushabh
85db85cc20 fix eth.getCandidateStatus api 2019-03-25 11:18:54 +05:30
AnilChinchawale
ed6533e092 Added "xdc" prefix in address 2019-03-17 16:14:42 +05:30
AnilChinchawale
22732d57fb Minor Changes added 2019-03-12 15:57:12 +05:30
AnilChinchawale
85302180ec web3 updated 2019-03-12 15:55:18 +05:30
parmarrushabh
1b13b3a305 hot fix 2019-02-24 17:40:26 +05:30
parmarrushabh
147e1f0baf create new func penalties for hard fork 2019-02-19 17:25:31 +05:30
Felix Lange
b247052a64
build: avoid dput and upload with sftp directly (#19067)
(cherry picked from commit a8ddf7ad83)
2019-02-19 10:58:45 +02:00
parmarrushabh
a479343cc7 Implement api eth.getCandidateStatus 2019-02-14 14:59:37 +05:30
AnilChinchawale
d5101dc3ed Condition added self.config.XDPoS != nil 2019-01-31 04:51:28 +05:30
AnilChinchawale
7f18c84ea5 changes added in web3,bignumber 2019-01-27 04:49:00 +05:30
AnilChinchawale
efb378f204 jsre updated with latest changes 2019-01-27 04:48:22 +05:30
AnilChinchawale
c6bbf5a712 api updated 2019-01-24 04:43:45 +05:30
Yondon Fu
e05d468075 internal/ethapi: ask transaction pool for pending nonce (#15794) 2019-01-07 10:47:11 +02: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
parmarrushabh
9250beba44 getBlockSigners-getBlockFinality: refactoring after code review 2018-12-24 11:47:18 +05:30
MestryOmkar
981f22d779 updated eth.getBlockFinality 2018-12-24 11:36:46 +05:30
Jerzy Lasyk
880de230b4 p2p/protocols: accounting metrics rpc (#18336)
* p2p/protocols: accounting metrics rpc added (#847)

* p2p/protocols: accounting api documentation added (#847)

* p2p/protocols: accounting api doc updated (#847)

* p2p/protocols: accounting api doc update (#847)

* p2p/protocols: accounting api doc update (#847)

* p2p/protocols: fix file is not gofmted

* fix lint error

* updated comments after review

* add account balance to rpc

* naming changed after review
2018-12-22 06:04:03 +01:00
parmarrushabh
ef99b540a4 adding 2 new apis: eth.getBlockSigners and eth.getBlockFinality 2018-12-21 11:30:33 +05:30
Péter Szilágyi
0983d02aa9
eth, internal/web3ext: tiny polishes in tracers 2018-12-10 12:33:50 +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
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
parmarrushabh
95041650e8 reduce number sign transaction 2018-12-04 10:24:07 +05:30
AnilChinchawale
1ff0fd2cff refactor cache BlockSigners 2018-12-02 14:52:54 +05:30
AnilChinchawale
da52e3163e get blocksigner from cached 2018-11-27 18:20:25 +05:30
parmarrushabh
c2414371ca fix error read reward 2018-11-24 17:40:36 +05:30
parmarrushabh
8d7572ef1c hot fix 2018-11-22 15:49:29 +05:30
Javier Peletier
7bf7bd2f50 internal/cmdtest: Expose process exit status and errors (#18046) 2018-11-20 08:23:43 +01:00
parmarrushabh
51c88fe8ce create new api get reward 2018-11-19 11:21:42 +05:30
AnilChinchawale
f0cf0a9f15 Add annouce-txs, maxpeers 25 2018-11-17 14:18:01 +05:30
Kenso Trabing
14346e4ef9 internal: fix typo in comments (#18106)
Changed "signTransactions" to "signTransaction"
2018-11-15 11:11:14 +02:00
parmarrushabh
4ab15c94d3 fix maximum 100 % finality 2018-11-09 18:10:38 +05:30
MestryOmkar
07b4be1284 Add new block header validator for store m2 data. 2018-11-09 16:11:13 +05:30
parmarrushabh
9d6344fbb4 Broadcast special Tx through pairRW 2018-11-09 12:45:18 +05:30
Ryan Schneider
bd519ab8ae internal/web3ext: add eth.getProof (#18052) 2018-11-08 13:18:38 +01:00
parmarrushabh
15c5f76c39 change EstimateGas from pending block to latest block 2018-11-07 11:27:55 +05:30
AnilChinchwale
f5152bf0cf Add penalty feature for prevent signer without sign in epoc make slow… 2018-11-07 10:26:28 +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
AnilChinchawale
d81dc08a50 Get randomize m2 offer from validators in smart contract. 2018-11-05 11:12:22 +05:30
parmarrushabh
1857fe3991 remove delay when mine new block 2018-11-03 17:12:18 +05:30
parmarrushabh
5afb844e0a fix option Verbosity in toml file 2018-11-02 12:51:24 +05:30
parmarrushabh
b969dc7790 add some config to toml file 2018-11-02 12:28:39 +05:30
MestryOmkar
c8c71dc500 remove 2 commands XDPoS.propose & XDPoS.discard 2018-10-29 12:30:02 +05:30
AnilChinchwale
e5ca34b737 remove call api from rpc to consensus posv and add again with clique 2018-10-28 12:20:43 +05:30
parmarrushabh
ce89b6b92d making XDPoS as a separate package 2018-10-28 11:58:50 +05:30
AnilChinchwale
7a7abd4f75 directly set mns to snapshot 2018-10-28 10:40:26 +05:30
parmarrushabh
b172dd6d45 change some log , return error to user 2018-10-27 10:23:56 +05:30
parmarrushabh
e610298b57 Reject all transactions to blocksigners with rpc ipc 2018-10-27 10:20:08 +05:30
AnilChinchawale
5ec2a20aa4 Fixed finality using percent instead of boolean value for block staus… 2018-10-26 17:09:30 +05:30
parmmarrushabh
dccf2ca3e9 Add signers and finality to block status rpc api. 2018-10-27 16:28:04 +05:30
AnilChinchawale
9e38d0f6b6 clean up Makefile 2018-10-24 14:55:32 +05:30
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
Péter Szilágyi
aff421e78c
internal/ethapi: warn on failed account accesses 2018-10-10 12:29:05 +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
HackyMiner
107f556b2d internal/ethapi: add eth_chainId method (#17617)
This implements EIP-695.
2018-09-29 22:07:02 +02:00
HackyMiner
44eb69561a internal/debug: support color terminal for cygwin/msys2 (#17740)
- update go-colorable, go-isatty, go-runewidth packages
- use go-isatty instead of log/term and remove log/term package
2018-09-29 16:15:39 +02:00
Liang ZOU
6663e5da10 all: fix various comment typos (#17748) 2018-09-25 12:26:35 +02:00
Samuel Marks
67c332e9b5
travis, Dockerfile, appveyor, build: bump to Go 1.11 2018-09-19 11:29:29 +03:00
Péter Szilágyi
e8f229b82e
cmd, core, eth, miner, params: configurable gas floor and ceil 2018-08-29 12:40:12 +03:00
gary rong
b2c644ffb5 cmd, eth, miner: make recommit configurable (#17444)
* cmd, eth, miner: make recommit configurable

* cmd, eth, les, miner: polish a bit

* miner: filter duplicate sealing work

* cmd: remove uncessary conversion

* miner: avoid microptimization in favor of cleaner code
2018-08-21 22:56:54 +03:00