docs: fix Arc Testnet version table and document v0.7.x breaking changes for DApp developers#199
Conversation
|
Correct fix — One addition worth considering: the table currently covers only node operators. Three of the v0.7.2 changes are breaking for DApp developers (not just node operators) and aren't flagged anywhere in the docs aimed at that audience: 1. Any call or simulation that previously relied on the higher cap will now fail with 2. Precompile gas cost change: "Charge gas before performing storage I/O in precompile helpers" The CallFrom precompile (used by 3. JSON-RPC batch cap: 100 entries viem's default transport sends batched JSON-RPC calls. A page load that fires many simultaneous import { createPublicClient, http } from 'viem'
const client = createPublicClient({
transport: http(ARC_RPC_URL, {
batch: { batchSize: 99 }, // stay under the 100-entry cap
}),
})All three are observable by DApp teams upgrading their target testnet node version — none are in the current installation or developer docs. Might be worth a short "Breaking changes for DApp developers" callout in |
|
Thanks, good catch on the audience gap. I verified all three against CHANGELOG.md and BREAKING_CHANGES.md:
Pushed a "Breaking changes for DApp developers" callout under the version table, linking to BREAKING_CHANGES.md#v072. Kept it short and left client-specific workarounds (like viem batch config) out of installation.md since that feels like BREAKING_CHANGES territory. |
|
Good call on the dangling Two small things on the callout text worth checking: 1. The
Node operators can raise the cap; DApp developers cannot. For a developer reading 2. The viem batch workaround belongs in Agree with keeping it out of One real-world data point: CCTP v2 |
|
Thanks for the careful read, all three points landed. Status:
Also appreciate the CCTP gas data point, confirms the risk there is stale pre-v0.7.2 estimates rather than the cap itself. |
|
Good correction on the viem/ethers batching behavior — that's the reverse of what we assumed and matters for the BREAKING_CHANGES entry. Confirming from direct ethers v6 usage on Arc: import { JsonRpcProvider } from "ethers";
const provider = new JsonRpcProvider(ARC_RPC_URL, undefined, {
batchMaxCount: 50, // stay safely under the 100-entry cap
});One distinction worth flagging for the BREAKING_CHANGES entry: On point 3: supporting the follow-up PR approach — keeping the EIP-2929 entry out of this PR is cleaner since this one is scoped to the version table. The gas-estimation impact is real enough (we saw warm/cold repricing affect precompile-adjacent calls after moving to a v0.7.2 node) that the entry in |
|
Agreed on all three. Will fold the ethers batchMaxCount mitigation and the BrowserProvider vs JsonRpcProvider distinction into the follow-up PR, with the EIP-2929 entry standalone under v070. Thanks for confirming the ethers behavior against a live Arc node. |
e22e7fc to
661955e
Compare
|
Rebased onto main and bumped the documented version to v0.7.3, following the release on 20 July. For context on why this matters: the Versions table on main still points to v0.6.0, which is two network upgrades behind. Per BREAKING_CHANGES.md, testnet operators must run at least v0.7.2 since the Zero7 activation on 18 June, so anyone following the install docs today would end up on an unsupported version and desync. The DApp-facing callout is unchanged, since v0.7.3 introduced no new breaking changes. It now reads "from v0.6.0 to v0.7.3" so the listed v0.7.x changes line up with the upgrade path a reader is actually taking. |
|
The v0.7.3 bump and rationale make sense — good to have the install docs match the actual minimum for a syncing node before this lands. The diff looks correct end-to-end:
One data point for the follow-up BREAKING_CHANGES PR on the precompile re-estimation risk: running our keeper against a v0.7.2 node, the For the BREAKING_CHANGES follow-up: the agreed scope was (a) EIP-2929 standalone entry under |
docs/installation.md still lists v0.6.0 as the Arc Testnet version (table and the arcup --install example). Per CHANGELOG.md, testnet node operators must use v0.7.2 since the Zero7 activation on 2026-06-18 ('Earlier versions are not supported'), and v0.7.2 is the latest published release. A new operator following the current table would install an unsupported version. Updated both references to v0.7.2.