Commit graph

839 commits

Author SHA1 Message Date
Daniel Liu
cfd7e241c6
rpc: fix defer in test #24490 (#967) 2025-04-24 18:40:19 +08:00
Daniel Liu
716e58388f
rpc: fix godoc #24488 (#966)
Co-authored-by: s7v7nislands <s7v7nislands@gmail.com>
Co-authored-by: seven <seven@nodereal.io>
2025-04-24 18:38:38 +08:00
Daniel Liu
007314980f
rpc: set Request.GetBody for client requests #24292 (#965)
When talking to an HTTP2 server, there are situations where it needs to
"rewind" the Request.Body. To allow this, we have to set up the Request.GetBody
function to return a brand new instance of the body.

If not set, we can end up with the following error:

    http2: Transport: cannot retry err [http2: Transport received Server's graceful shutdown GOAWAY] after Request.Body was written; define Request.GetBody to avoid this error

See this commit for more information: cffdcf672a

Co-authored-by: Valentin Trinqué <ValentinTrinque@users.noreply.github.com>
2025-04-24 18:37:08 +08:00
Daniel Liu
d751e88fa5
internal/jsre, node, rpc: fix goroutine leaks in tests #24211 (#964) 2025-04-24 18:36:10 +08:00
Daniel Liu
e7ca47c280
rpc: fix time key collision for logger with json output #24112 (#963)
The "t" key overrides the log message time in JSON output.

Co-authored-by: Roman Mazalov <83914728+gopherxyz@users.noreply.github.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
2025-04-24 18:35:18 +08:00
Daniel Liu
3a618f0fd2
rpc: linear time batch response matching #23856 (#962)
This avoids quadratic time complexity in the lookup of the batch element
corresponding to an RPC response. Unfortunately, the new approach
requires additional memory for the mapping from ID to index.

Fixes #22805

Co-authored-by: Felix Lange <fjl@twurst.com>
2025-04-24 18:34:12 +08:00
Daniel Liu
de88f30b58
rpc/client: fix typo #23834 (#961)
Co-authored-by: chuwt <weitaochu@gmail.com>
2025-04-24 18:32:44 +08:00
Daniel Liu
a997425b03
all: fix warning of DeepEqual on error #23624 (#960) 2025-04-24 18:31:47 +08:00
Daniel Liu
fae15a51b5
rpc: set pong read deadline #23556 (#959) 2025-04-24 18:22:33 +08:00
Daniel Liu
c789f86542
rpc: implement JSON marshaling of BlockNumber #23324 (#958) 2025-04-24 18:20:03 +08:00
Daniel Liu
9f504a6243
rpc: tighter shutdown synchronization in client subscription #22597 (#955)
This fixes a rare issue where the client subscription forwarding loop
would attempt send on the subscription's channel after Unsubscribe has
returned, leading to a panic if the subscription channel was already
closed by the user. Example:

    sub, _ := client.Subscribe(..., channel, ...)
    sub.Unsubscribe()
    close(channel)

The race occurred because Unsubscribe called quitWithServer to tell the
forwarding loop to stop sending on sub.channel, but did not wait for the
loop to actually come down. This is fixed by adding an additional channel
to track the shutdown, on which Unsubscribe now waits.

Fixes #22322

Co-authored-by: Felix Lange <fjl@twurst.com>
2025-04-24 18:17:45 +08:00
Daniel Liu
1f430bcbb1
console: handle eth.coinbase throws #19374 (#953)
* rpc: implement full bi-directional communication #18471

* console: handle eth.coinbase throws #19374

* rpc: remove extra debug log message

* rpc: add go:build lines #23468
2025-04-24 18:11:48 +08:00
Daniel Liu
69323a2dbf
rpc: add HTTPError type for HTTP error responses #22677 (#956)
The new error type is returned by client operations contains details of
the response error code and response body.

Co-authored-by: ryanc414 <ryan@tokencard.io>
Co-authored-by: Felix Lange <fjl@twurst.com>
2025-04-22 15:16:48 +08:00
Ryan Tinianov
76a5008ec7 all: add build tags for wasip1 (#31090) 2025-03-19 18:02:46 +08:00
Daniel Liu
3e4a13d038 rpc: accept finalized as block number 2025-03-19 17:47:52 +08:00
Daniel Liu
4e951ed8fe all: use github.com/deckarep/golang-set/v2 (generic set) (#26159) 2025-01-24 16:54:11 +08:00
Daniel Liu
6ec35b9644 all: get rid of custom MaxUint64 and MaxUint64 (#30636) 2024-12-28 09:06:31 +08:00
Daniel Liu
49b5886150 rpc: fix ns/µs mismatch in metrics (#28649)
The rpc/duration/all meter was in nanoseconds, the individual meter in microseconds.
This PR changes it so both of them use nanoseconds.
2024-12-13 14:00:13 +08:00
Daniel Liu
54570300cc all: ensure resp.body closed (#26969) 2024-12-13 14:00:13 +08:00
Daniel Liu
2e34afe400 rpc: swap out timer metrics to histograms (#25044) 2024-12-13 14:00:12 +08:00
Daniel Liu
d55dca04b5 all: use http package to replace http method names (26535) 2024-12-05 10:59:42 +08:00
Daniel Liu
b76438aafe node: allow WebSocket and HTTP work on same port (#20810) 2024-11-13 09:35:41 +08:00
Daniel Liu
57e5f5ec58 rpc: not log error if user configures --rpcapi=rpc (#20776) 2024-11-13 09:35:41 +08:00
Daniel Liu
fd2b21702c rpc: remove startup error for invalid modules, log it instead (#20684) 2024-11-13 09:35:41 +08:00
Daniel Liu
3f1b7d3a7b rpc: check module availability at startup (#20597) 2024-11-13 09:35:41 +08:00
Daniel Liu
97a5ff616b rpc: Make HTTP server timeout values configurable (#17240) 2024-11-04 12:31:15 +08:00
Daniel Liu
56bce3983d rpc: clean up IPC handler (#16524) 2024-11-04 12:31:15 +08:00
Daniel Liu
6b653a22ad node: fix staticcheck warning SA1019: NewHTTPServer and NewWSServer are deprecated (#16154) 2024-11-04 12:31:15 +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
2844dbc5a9 rpc: fix staticcheck warning SA1029 by add PeerInfo (#24255) 2024-10-25 12:32:13 +08:00
JukLee0ira
2d89951e5b all: use errrors.New instead of empty fmt.Errorf 2024-06-14 19:19:21 +08:00
JukLee0ira
d6737b69e6 rpc:remove package ethereum/go-ethereum 2024-05-13 19:51:50 +08:00
Daniel Liu
7bd39e6bf9 rpc: add http.TimeoutHandler for http server 2024-03-04 16:33:56 +08:00
Jianrong
7f0215195b fix: update rpc module to include eth fix from #26064 and #26723 2024-01-20 12:21:48 +11: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
Daniel Liu
6f06a5638b add flag rpcwritetimeout for rpc http server (#358) 2023-11-27 22:48:56 +08:00
Banana-J
39f6e6ee56
upgrade the websocket in xdpos (#349) 2023-11-06 15:37:14 +11:00
Liam
9552500335
xdpos API getV2Block (#227) 2023-03-05 02:17:46 +08:00
span14
c637c7b915 fix switch case issue 2023-01-30 22:22:57 -05:00
span14
abb0dcc48b add confirmed loopup 2023-01-30 22:22:57 -05:00
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
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
d3963c816b Enable RPC Endpoint. 2020-03-27 22:24:51 +05:30
parmarrushabh
3e5f4d54a8 Hot_Fix Bad block Error 2019-04-25 12:11:30 +05:30
AnilChinchawale
951ca28d08 fixed params/config.go 2019-03-25 12:47:22 +05:30
AnilChinchawale
22732d57fb Minor Changes added 2019-03-12 15:57:12 +05:30
AnilChinchawale
aa6b2e0323 Enable SendTransaction over RPC. 2019-03-10 15:54:37 +05:30
parmarrushabh
1b13b3a305 hot fix 2019-02-24 17:40:26 +05:30