Skip to content

Six things Arc mainnet did that the docs don't yet say (measured, with reproductions) #454

Description

@edycutjong

Building a permissionless standing-order contract on Arc mainnet (USDC-as-gas is what makes an exact gas refund possible),
I logged every place the chain or the public RPC behaved differently from what I expected from the docs. Repro commands and
block numbers are in the linked log; the short list:

  1. eth_getLogs span cap is 10,000 blocks inclusive. toBlock − fromBlock = 9,999 answers; 10,001 → -32012 requested range too large. Worth a sentence on the RPC-endpoints page — at ~2 blocks/s that is ~85 minutes of chain per
    call, which changes how a log-driven front end has to be written.
  2. The public endpoint is load-balanced across backends with different heads. A toBlock one backend just reported as
    head can get -32014 requested data not available from another. Clients need to tolerate this rather than treat it as an
    error; docs could say so.
  3. Explorer /api sits behind a Cloudflare managed challenge, so forge verify-contract --verifier blockscout cannot
    submit from a script. HTML pages render fine logged-out. Is there a supported path for source verification?
  4. tx.gasprice == effectiveGasPrice on every run at the 20 Gwei floor. My refund arithmetic depends on this identity.
    Is it a commitment of the stable-fee design, or an artefact of today's sequencer? (Documenting either answer would help
    anyone metering gas on-chain.)
  5. Docs call early-mainnet RPC "permissioned" — but rpc.mainnet.arc.io answers anonymously with CORS for a foreign
    origin (OPTIONS 204, POST 200, access-control-allow-origin echoing the origin). If anonymous access is intended,
    the page could say so; if it is temporary, that matters to anyone shipping a backend-less app.
  6. Foundry ergonomics: forge create … --constructor-args N must come last (it swallows following flags and then dials
    localhost:8545).

Everything above reproduces with cast against block numbers in the log:
https://github.com/edycutjong/legwork/blob/main/docs/FRICTION-LOG.md

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions