Commit 7d0a118
feat(rpc): implement Parity trace_ namespace (9 methods) (#121)
* docs: add Parity trace namespace implementation plan
12 tasks covering TraceError, param types, config, Parity tracer
functions, block replay helpers, 9 trace_ endpoints, and router wiring.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat(rpc): add TraceError for Parity trace namespace
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(rpc): add param types for Parity trace namespace
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(rpc): add max_trace_filter_blocks config
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(rpc): add Parity tracer functions (localized + replay)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(rpc): add Parity block replay helpers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(rpc): add trace_block and trace_transaction
Implements the trace_block and trace_transaction async RPC handlers,
calling the existing trace_block_localized helper for block-level and
per-transaction Parity trace output.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(rpc): add trace_call, trace_callMany, trace_rawTransaction, trace_get, and trace_filter
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(rpc): wire Parity trace namespace into router
Creates trace/mod.rs with the router constructor and wires it into
the combined router. Fixes HashSet type mismatch (std to alloy) and
removes erroneous accept_state() call on already-needs-tx state.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* style(rpc): apply nightly fmt to TraceError
* chore: remove accidentally committed planning docs
The docs/ directory is already in .gitignore — these were force-added.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(rpc): address trace namespace PR review feedback
- Add [default: 100] to trace_filter config description
- Move itertools import to top-level, remove inline imports
- Remove unused _block_hash param from trace_block_replay
- Remove unnecessary #[allow(clippy::too_many_arguments)]
- Fix off-by-one in trace_filter block range distance
- Add InvalidBlockRange error variant for fromBlock > toBlock
- Return specific block numbers in BlockNotFound errors
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 3ef2bcc commit 7d0a118
7 files changed
Lines changed: 965 additions & 7 deletions
File tree
- crates/rpc/src
- config
- debug
- trace
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
64 | 69 | | |
65 | 70 | | |
66 | 71 | | |
| |||
136 | 141 | | |
137 | 142 | | |
138 | 143 | | |
| 144 | + | |
139 | 145 | | |
140 | 146 | | |
141 | 147 | | |
| |||
188 | 194 | | |
189 | 195 | | |
190 | 196 | | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
191 | 203 | | |
192 | 204 | | |
193 | 205 | | |
| |||
298 | 310 | | |
299 | 311 | | |
300 | 312 | | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
301 | 320 | | |
302 | 321 | | |
303 | 322 | | |
| |||
385 | 404 | | |
386 | 405 | | |
387 | 406 | | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
388 | 410 | | |
389 | 411 | | |
390 | 412 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
11 | 17 | | |
12 | 18 | | |
13 | 19 | | |
| |||
197 | 203 | | |
198 | 204 | | |
199 | 205 | | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
200 | 267 | | |
201 | 268 | | |
202 | 269 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
28 | 31 | | |
29 | 32 | | |
30 | 33 | | |
| |||
34 | 37 | | |
35 | 38 | | |
36 | 39 | | |
37 | | - | |
38 | | - | |
| 40 | + | |
| 41 | + | |
39 | 42 | | |
40 | 43 | | |
41 | 44 | | |
| |||
44 | 47 | | |
45 | 48 | | |
46 | 49 | | |
| 50 | + | |
47 | 51 | | |
48 | 52 | | |
49 | 53 | | |
| |||
0 commit comments