docs: Polygon post-Bor reference coverage (eth_getProof note, bor_* + getProof pages, decom dead trace_* pages)#577
Conversation
…+ getProof pages, decom dead trace_* pages Post-cutover (Polygon Erigon->Bor migration completed 2026-07-23) follow-up to #515. Keeps callTracer as the trace_* migration target (flatCallTracer is still gated on Chainstack Polygon nodes — deferred to a separate PR once it's whitelisted). - polygon-methods.mdx: add the eth_getProof ~128-block note (prose + table annotation) - new reference pages (openapi + Try-it): eth_getProof, and bor_getAuthor / bor_getCurrentProposer / bor_getCurrentValidators / bor_getRootHash / bor_getSignersAtHash (were in the availability table with no pages); examples verified live against a Chainstack Polygon Bor node - decommission the dead trace_transaction / trace_block reference pages: delete the files, strip nav, remove their overview cards, 301 to the debug_ equivalents - new openapi group openapi/polygon_node_api/bor/ Rebuilt fresh on main (the older #542 branch was 43 commits behind); flatCallTracer switch dropped per the deployment reality.
|
📝 WalkthroughSummary by CodeRabbit
WalkthroughPolygon API documentation now includes five Bor RPC methods and ChangesPolygon API documentation
Estimated code review effort: 3 (Moderate) | ~20 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Checkov (3.3.8)docs.jsonTraceback (most recent call last): openapi/polygon_node_api/account_info/eth_getProof.jsonTraceback (most recent call last): openapi/polygon_node_api/bor/bor_getAuthor.jsonTraceback (most recent call last):
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
There was a problem hiding this comment.
Actionable comments posted: 6
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@openapi/polygon_node_api/account_info/eth_getProof.json`:
- Around line 15-20: Update the eth_getProof OpenAPI operation metadata near the
summary and operationId to add a description documenting Bor’s proof-retention
limit of approximately the latest 128 blocks, consistent with the existing
polygon-methods documentation.
- Around line 8-14: Remove the concrete server URL and opaque access path from
the OpenAPI document, revoke or rotate the exposed endpoint credential, and
replace both values with the repository’s endpoint injection mechanism or
appropriate placeholders such as YOUR_API_KEY. Preserve the documented API
structure while ensuring no secret or internal infrastructure detail remains
committed.
In `@openapi/polygon_node_api/bor/bor_getAuthor.json`:
- Around line 16-18: Replace the "Ethereum Operations" tag with a consistent
Bor-specific tag in bor_getAuthor.json, bor_getCurrentProposer.json,
bor_getCurrentValidators.json, bor_getRootHash.json, and
bor_getSignersAtHash.json so all Bor methods are grouped separately from
standard Ethereum RPC operations.
- Around line 46-54: Enforce exact params array lengths in bor_getAuthor.json
(lines 46-54) with one string, bor_getCurrentProposer.json (lines 46-49) with
zero items, bor_getCurrentValidators.json (lines 46-49) with zero items,
bor_getRootHash.json (lines 46-55) with exactly two integers, and
bor_getSignersAtHash.json (lines 46-54) with one string; add the appropriate
array length constraints while preserving each existing item type and default.
In `@reference/polygon-borgetauthor.mdx`:
- Around line 20-30: Convert the Bor reference pages from plain Markdown and raw
JSON to the required reference components. In reference/polygon-borgetauthor.mdx
lines 20-30, use ParamField, ResponseField, RequestExample, and ResponseExample;
apply the same request/response conversion plus error and authentication
examples in reference/polygon-borgetcurrentproposer.mdx lines 20-30,
reference/polygon-borgetcurrentvalidators.mdx lines 20-34,
reference/polygon-borgetroothash.mdx lines 20-31, and
reference/polygon-borgetsignersathash.mdx lines 20-30, using
ResponseField/Expandable for the nested validator response and documenting each
page’s parameters and response structure.
In `@reference/polygon-getproof.mdx`:
- Around line 28-47: Update the eth_getProof reference in the Parameters and
Response sections to use ParamField and ResponseField components for every
documented field, preserving the existing descriptions and nesting. Add
RequestExample and ResponseExample blocks covering a successful JSON-RPC
request/response and a JSON-RPC error response.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: a48ae0c6-0c75-40f4-a4a1-60963f6ce8df
📒 Files selected for processing (17)
docs.jsondocs/polygon-methods.mdxopenapi/polygon_node_api/account_info/eth_getProof.jsonopenapi/polygon_node_api/bor/bor_getAuthor.jsonopenapi/polygon_node_api/bor/bor_getCurrentProposer.jsonopenapi/polygon_node_api/bor/bor_getCurrentValidators.jsonopenapi/polygon_node_api/bor/bor_getRootHash.jsonopenapi/polygon_node_api/bor/bor_getSignersAtHash.jsonreference/polygon-borgetauthor.mdxreference/polygon-borgetcurrentproposer.mdxreference/polygon-borgetcurrentvalidators.mdxreference/polygon-borgetroothash.mdxreference/polygon-borgetsignersathash.mdxreference/polygon-debug-trace-rpc-methods.mdxreference/polygon-getproof.mdxreference/polygon-trace_block.mdxreference/polygon-trace_transaction.mdx
💤 Files with no reviewable changes (3)
- reference/polygon-trace_transaction.mdx
- reference/polygon-trace_block.mdx
- reference/polygon-debug-trace-rpc-methods.mdx
| "servers": [ | ||
| { | ||
| "url": "https://nd-828-700-214.p2pify.com" | ||
| } | ||
| ], | ||
| "paths": { | ||
| "/a9bca2f0f84b54086ceebe590316fff3": { |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
Remove and rotate the exposed endpoint credential.
This publishes a concrete node URL and opaque access path in a public OpenAPI document. Revoke/rotate it, then use the repository’s endpoint injection mechanism or placeholders such as YOUR_API_KEY.
As per coding guidelines, public content must “never include secrets, internal infrastructure details,” and must use placeholders for secrets.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@openapi/polygon_node_api/account_info/eth_getProof.json` around lines 8 - 14,
Remove the concrete server URL and opaque access path from the OpenAPI document,
revoke or rotate the exposed endpoint credential, and replace both values with
the repository’s endpoint injection mechanism or appropriate placeholders such
as YOUR_API_KEY. Preserve the documented API structure while ensuring no secret
or internal infrastructure detail remains committed.
Source: Coding guidelines
| "post": { | ||
| "tags": [ | ||
| "Ethereum Operations" | ||
| ], | ||
| "summary": "eth_getProof", | ||
| "operationId": "eth_getProof", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Document Bor’s proof-retention limit in the OpenAPI operation.
The standalone contract does not disclose that proofs are available only for roughly the latest 128 blocks, while docs/polygon-methods.mdx lines 21-22 do. Add this constraint to the operation description so generated API clients and Try-it users do not attempt unsupported historical queries.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@openapi/polygon_node_api/account_info/eth_getProof.json` around lines 15 -
20, Update the eth_getProof OpenAPI operation metadata near the summary and
operationId to add a description documenting Bor’s proof-retention limit of
approximately the latest 128 blocks, consistent with the existing
polygon-methods documentation.
| "tags": [ | ||
| "Ethereum Operations" | ||
| ], |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Files in openapi/polygon_node_api/bor:"
git ls-files 'openapi/polygon_node_api/bor/*.json' | sort
echo
echo "Tag lines for Bor operation files:"
python3 - <<'PY'
import json, pathlib
root = pathlib.Path('openapi/polygon_node_api/bor')
for p in sorted(root.glob('*.json')):
try:
data = json.loads(p.read_text())
except Exception as e:
print(f"{p}: parse error {e}")
continue
if "tags" in data:
for line_no in range(1, min(len(p.read_text().splitlines()), 40)+1):
if '"tags"' in p.read_text().splitlines()[line_no-1]:
pass
print(f"{p}: tags={data.get('tags')}")
PY
echo
echo "OpenAPI tag definitions across polygon_node_api / openapi (if present):"
rg -n '"tags":|^- name:|tags:' openapi -g '*.json' -g '*.yaml' -g '*.yml' | head -200Repository: chainstack/dev-portal
Length of output: 16534
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Search for specific current tag in Bor files and broader occurrences:"
rg -n '"Ethereum Operations"|tags|name:' openapi/polygon_node_api/bor openapi/polygon* eth ethereum -g '*.json' -g '*.yaml' -g '*.yml' 2>/dev/null | head -50 || true
echo
echo "One Bor file top block:"
cat -n openapi/polygon_node_api/bor/bor_getAuthor.json | sed -n '1,80p'
echo
echo "Count exact current tag in repo JSON:"
rg -n '"Ethereum Operations"' -g '*.json' . | wc -lRepository: chainstack/dev-portal
Length of output: 7249
Use a Bor-native tag for Polygon Bor operations.
These Bor methods are currently grouped under "Ethereum Operations" just like standard Eth RPC calls. Apply a Bor-specific tag consistently across the Bor files so they don’t get mixed into the Ethereum RPC section.
📍 Affects 5 files
openapi/polygon_node_api/bor/bor_getAuthor.json#L16-L18(this comment)openapi/polygon_node_api/bor/bor_getCurrentProposer.json#L16-L18openapi/polygon_node_api/bor/bor_getCurrentValidators.json#L16-L18openapi/polygon_node_api/bor/bor_getRootHash.json#L16-L18openapi/polygon_node_api/bor/bor_getSignersAtHash.json#L16-L18
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@openapi/polygon_node_api/bor/bor_getAuthor.json` around lines 16 - 18,
Replace the "Ethereum Operations" tag with a consistent Bor-specific tag in
bor_getAuthor.json, bor_getCurrentProposer.json, bor_getCurrentValidators.json,
bor_getRootHash.json, and bor_getSignersAtHash.json so all Bor methods are
grouped separately from standard Ethereum RPC operations.
Source: MCP tools
| "params": { | ||
| "type": "array", | ||
| "default": [ | ||
| "0x561294b" | ||
| ], | ||
| "items": { | ||
| "type": "string" | ||
| } | ||
| } |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'Files matching bor RPC OpenAPI params:\n'
git ls-files 'openapi/polygon_node_api/bor/*.json' | sort
printf '\nOpenAPI param snippets:\n'
for f in $(git ls-files 'openapi/polygon_node_api/bor/*.json' | sort); do
echo "--- $f"
rg -n -C 3 '"params"' "$f" || true
done
printf '\nReference docs matching bor rpc parameter sections:\n'
git ls-files 'reference/*bor*.mdx' 'reference/polygon-bor*.mdx' | sort | sed -n '1,80p'Repository: chainstack/dev-portal
Length of output: 3654
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
import json, pathlib, re
base = pathlib.Path("openapi/polygon_node_api/bor")
docs = {
"reference/polygon-borgetauthor.mdx": "GET_AUTHOR",
"reference/polygon-borgetcurrentproposer.mdx": "GET_CURRENT_PROPOSER",
"reference/polygon-borgetcurrentvalidators.mdx": "GET_CURRENT_VALIDATORS",
"reference/polygon-borgetroothash.mdx": "GET_ROOT_HASH",
"reference/polygon-borgetsignersathash.mdx": "GET_SIGNERS_AT_HASH",
}
patterns = {
"GET_AUTHOR": [re.compile(r"params:\s*.block.*\n\s*type:\s*string", re.S)],
"GET_CURRENT_PROPOSER": [re.compile(r"params:\s*—\n.*blocks\s*.*\n\s*type:\s*array", re.S), re.compile(r"params:\s*—\n", re.S)],
"GET_CURRENT_VALIDATORS": [re.compile(r"params:\s*—\n.*blocks\s*.*\n\s*type:\s*array", re.S), re.compile(r"params:\s*—\n", re.S)],
"GET_ROOT_HASH": [re.compile(r"params:\s*•.*fromIndex\s*\n.*integer", re.S), re.compile(r"params:\s*•.*toIndex\s*\n.*integer", re.S)],
"GET_SIGNERS_AT_HASH": [re.compile(r"params:\s*•.*block.*hash.*\n\s*type:\s*string", re.S)],
}
for json_path in sorted(base.glob("*.json")):
data = json.loads(json_path.read_text())
params = data["components"]["schemas"]["RequestBody"]["properties"]["params"]
# Extract constraints only present
constraints = {}
for k in ("type","minItems","maxItems","enum","items"):
if k in params:
constraints[k] = params[k]
name = json_path.stem
print(f"{json_path}: {constraints}")
print("\nReference doc param-count evidence:")
for doc_path, key in docs.items():
text = pathlib.Path(doc_path).read_text(errors="replace")
print(f"\n--- {doc_path}")
count = 0
# Show context around "params" heading for no-parameter docs
if "GET_CURRENT_PROPOSER" in key or "GET_CURRENT_VALIDATORS" in key:
# look for methods table params section by counting param rows if available
for m in re.finditer(r"(Get Current Proposer|Get Current Validators)", text):
start=max(0,m.start()-200); end=min(len(text), m.start()+1600)
sec=text[start:end]; print(sec[:2200])
rows=sec.count("- `blocks`")
print("blocks rows:", rows)
else:
for m in re.finditer(r"^\s*####\s*Params", text, re.M):
sec=text[m.start():]
# count explicit params starting with leading bullets/dashes/numbers
rows = re.findall(r"^[\s]*(?:•|-|\d+)\s", sec.splitlines(True)[1:12], re.M)
print(sec[:2200])
print("rows:", rows)
break
PYRepository: chainstack/dev-portal
Length of output: 256
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
import json, pathlib, re
for json_path in sorted(pathlib.Path("openapi/polygon_node_api/bor").glob("*.json")):
data = json.loads(json_path.read_text())
def walk(obj, path=""):
if isinstance(obj, dict):
if obj.get("type") == "array" and "params" in path:
print(f"{json_path}:{path}")
for k in ("type","minItems","maxItems","enum","items"):
if k in obj:
print(" ", k, ":", obj[k])
for k,v in obj.items():
walk(v, f"{path}.{k}")
elif isinstance(obj, list):
for i,v in enumerate(obj):
walk(v, f"{path}[{i}]")
walk(data)
PY
printf '\nDocument params sections for no-param methods:\n'
for f in reference/polygon-borgetcurrentproposer.mdx reference/polygon-borgetcurrentvalidators.mdx; do
echo "--- $f"
sed -n '1,220p' "$f" | rg -C 8 'Params|`params`|blocks|type:' || true
done
printf '\nDocument params sections for single/two-param methods:\n'
for f in reference/polygon-borgetauthor.mdx reference/polygon-borgetroothash.mdx reference/polygon-borgetsignersathash.mdx; do
echo "--- $f"
sed -n '1,240p' "$f" | rg -C 6 'Params|`params`|block hash|fromIndex|toIndex|type:' || true
done
echo 'json:'
python3 - <<'PY'
import json, pathlib, re
for json_path in sorted(pathlib.Path("openapi/polygon_node_api/bor").glob("*.json")):
data = json.loads(json_path.read_text())
print(json_path.name, json.dumps(data.get("params") or data.get("requestBody", {}).get("content", {}).get("application/json", {}).get("schema", {}), indent=2))
PYRepository: chainstack/dev-portal
Length of output: 2939
Enforce exact Bor RPC parameter counts.
These schemas currently only declare type: array and items, so the generated request contracts accept any-length params arrays even though the docs only document the exact Bor API signatures.
bor_getAuthor: require exactly one string.bor_getCurrentProposer: require zero parameters.bor_getCurrentValidators: require zero parameters.bor_getRootHash: require exactly two integers.bor_getSignersAtHash: require exactly one string.
📍 Affects 5 files
openapi/polygon_node_api/bor/bor_getAuthor.json#L46-L54(this comment)openapi/polygon_node_api/bor/bor_getCurrentProposer.json#L46-L49openapi/polygon_node_api/bor/bor_getCurrentValidators.json#L46-L49openapi/polygon_node_api/bor/bor_getRootHash.json#L46-L55openapi/polygon_node_api/bor/bor_getSignersAtHash.json#L46-L54
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@openapi/polygon_node_api/bor/bor_getAuthor.json` around lines 46 - 54,
Enforce exact params array lengths in bor_getAuthor.json (lines 46-54) with one
string, bor_getCurrentProposer.json (lines 46-49) with zero items,
bor_getCurrentValidators.json (lines 46-49) with zero items,
bor_getRootHash.json (lines 46-55) with exactly two integers, and
bor_getSignersAtHash.json (lines 46-54) with one string; add the appropriate
array length constraints while preserving each existing item type and default.
| ## Parameters | ||
|
|
||
| * `block` — the block number in hexadecimal (for example, `0x561294b`), or a block hash. | ||
|
|
||
| ## Response | ||
|
|
||
| * `result` — the address of the validator that authored the block. | ||
|
|
||
| ```json | ||
| { "jsonrpc": "2.0", "id": 1, "result": "0x0e94b9b3fabd95338b8b23c36caae1d640e1339f" } | ||
| ``` |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
Bring all Bor reference pages into the required reference format.
Each page uses plain Markdown bullets and raw JSON instead of the required reference components, and each omits error and authentication examples.
reference/polygon-borgetauthor.mdx#L20-L30: convert the block parameter and response to<ParamField>,<ResponseField>,<RequestExample>, and<ResponseExample>.reference/polygon-borgetcurrentproposer.mdx#L20-L30: represent the no-parameter request and response with the required components and add error/authentication examples.reference/polygon-borgetcurrentvalidators.mdx#L20-L34: represent the nested validator response with<ResponseField>/<Expandable>and add request, error, and authentication examples.reference/polygon-borgetroothash.mdx#L20-L31: convert the two parameters and response to the required components and add error/authentication examples.reference/polygon-borgetsignersathash.mdx#L20-L30: convert the hash parameter and signer-array response to the required components and add error/authentication examples.
As per coding guidelines, API reference pages must document all parameters with <ParamField>, describe response structures with <ResponseField>, include success and error examples, and include authentication examples; API examples must use <RequestExample> and <ResponseExample>.
📍 Affects 5 files
reference/polygon-borgetauthor.mdx#L20-L30(this comment)reference/polygon-borgetcurrentproposer.mdx#L20-L30reference/polygon-borgetcurrentvalidators.mdx#L20-L34reference/polygon-borgetroothash.mdx#L20-L31reference/polygon-borgetsignersathash.mdx#L20-L30
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@reference/polygon-borgetauthor.mdx` around lines 20 - 30, Convert the Bor
reference pages from plain Markdown and raw JSON to the required reference
components. In reference/polygon-borgetauthor.mdx lines 20-30, use ParamField,
ResponseField, RequestExample, and ResponseExample; apply the same
request/response conversion plus error and authentication examples in
reference/polygon-borgetcurrentproposer.mdx lines 20-30,
reference/polygon-borgetcurrentvalidators.mdx lines 20-34,
reference/polygon-borgetroothash.mdx lines 20-31, and
reference/polygon-borgetsignersathash.mdx lines 20-30, using
ResponseField/Expandable for the nested validator response and documenting each
page’s parameters and response structure.
Source: Coding guidelines
| ## Parameters | ||
|
|
||
| * `address` — the address of the account to prove. | ||
| * `storageKeys` — an array of 32-byte storage slot keys to prove. Pass an empty array to prove the account only. | ||
| * `block` — the block number in hexadecimal, or one of `earliest`, `latest`, or `pending`. Defaults to `latest`. | ||
|
|
||
| ## Response | ||
|
|
||
| * `result` — an object with the account proof and state values: | ||
| + `address` — the account address. | ||
| + `accountProof` — an array of RLP-encoded Merkle-trie nodes proving the account against the block state root. | ||
| + `balance` — the account balance, in hexadecimal wei. | ||
| + `codeHash` — the hash of the account's contract code; for a non-contract (EOA) account this is the Keccak-256 hash of empty code. | ||
| + `nonce` — the account nonce, in hexadecimal. | ||
| + `storageHash` — the root hash of the account storage trie. | ||
| + `storageProof` — an array of objects, one per requested `storageKeys` entry, each with the `key`, its `value`, and the `proof` (RLP-encoded trie nodes). | ||
|
|
||
| ## Use case | ||
|
|
||
| `eth_getProof` is used by light clients, cross-chain bridges, and auditing tools that need cryptographic proof of an account or storage value at a specific block without syncing the full Polygon state. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
Use the required API reference components and examples.
Replace the parameter and response lists with <ParamField> and <ResponseField>, and add <RequestExample> plus <ResponseExample> blocks for successful and JSON-RPC error responses.
As per coding guidelines, “API reference pages must document all parameters with <ParamField>, describe response structures with <ResponseField>, [and] include success and error examples.”
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@reference/polygon-getproof.mdx` around lines 28 - 47, Update the eth_getProof
reference in the Parameters and Response sections to use ParamField and
ResponseField components for every documented field, preserving the existing
descriptions and nesting. Add RequestExample and ResponseExample blocks covering
a successful JSON-RPC request/response and a JSON-RPC error response.
Source: Coding guidelines
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
Post-cutover follow-up to #515. The Polygon Erigon→Bor migration completed 2026-07-23 (all Polygon traffic now served by Bor archive), so the Bor end-state is live and
trace_transactionreturns-32601on Bor (verified).Supersedes the stale draft #542 (which was 43 commits behind main). Rebuilt fresh on
main, and — importantly — keepscallTraceras thetrace_*migration target rather thanflatCallTracer:flatCallTraceris still gated on Chainstack Polygon nodes (-32612 custom tracers disabled; the client migration didn't whitelist it). A separate PR will switch toflatCallTraceronce Infra enables it for Polygon.Changes
polygon-methods.mdx— add theeth_getProof~128-block note (Bor serves proofs only for ~the latest 128 blocks; no historical proofs), as prose + a method-table annotation. Migration table stays oncallTracer.eth_getProof(Polygon was the only major chain missing a getproof page)bor_getAuthor,bor_getCurrentProposer,bor_getCurrentValidators,bor_getRootHash,bor_getSignersAtHash(were in the availability table with no pages)trace_transaction/trace_blockreference pages: delete the files, strip nav, remove their overview cards, and 301 to thedebug_equivalents.openapi/polygon_node_api/bor/.Gates:
mint broken-links✅ ·mint validate✅