Loader buffers authority can close, and the rent they are holding.
Listed by buffer authority rather than by deploy payer. The deploy payer the handoff calls for does not exist yet, and the buffers stranded today were written by the local deploy path, which signs with the upgrade authority — so passing a row's on-chain authority is what finds them. Once a dedicated payer exists, that is the address to pass instead.
Paginated, and not optionally: the owner here is the upgradeable loader,
which owns a loader account for every program on the cluster. The memcmp
filters narrow what comes back but not what the node scans, so the
single-shot V1 call ran the account index out of budget and Helius
answered -32603 instead of a list.
Every release for a pair, newest first, each with its executable's hash.
The hash comes from the .so asset rather than from a manifest. The
handoff's <program>-<network>.manifest.json (§ 7) has not shipped — the
.json asset attached to these releases today is the Anchor IDL — so a
register that waited for it would have no State column at all. Hashing
the binary is the same measurement one step earlier in the chain of
custody; the manifest's value when it lands is that it is signed at build
time, which matters for the deploy gate and not for this read.
Optionallimit?: numberNewest N releases to hash and return. See DEFAULT_RELEASE_LIMIT.
What is deployed for a pair, or null when the program account does not
exist on that network.
Two round trips, and the second one is unavoidable: a Program account
holds only a pointer, so the executable and the authority both live in a
ProgramData account whose address it names.
Who pays for a deploy, what they can spend, and whether the platform holds the authority the upgrade will be signed by.
A separate read from readChainFacts rather than more fields on it, for the reason § 4.5 separates chain from GitHub: this one also depends on the database, so folding it in would let a wallet row nobody seeded blank the program id and the deployed hash — facts that resolved fine.
get rather than search: a missing wallet row is a deployment that was
never seeded, and the throw names which key is absent. search would hand
back an undefined address and send it to the node as a balance query.
What readChainFacts read, or null when it read none.
A cluster's rent line, in two probes.
The confirmation dialog states the buffer rent for every deployable
release it offers, which is up to 25 sizes on one render. Asking the node
for each would be 25 round trips to answer a question that has two
unknowns: rent exemption is affine in the data length, so rent(0) and
rent(1) pin the line and every size after that is arithmetic. See
RentParameters for why two points are exact rather than fitted.
Reads the deployed state of the mintfx and escrow programs, and the releases they could be running.
Read-only by construction. It holds no signer and starts no workflow — the dashboard's entire write capability against these programs is a workflow start, and that workflow does not exist yet (PROGRAM_DEPLOYS.md § 2.4).
Chain reads and GitHub reads are separate methods rather than one combined call, because § 4.5 requires them to fail independently: GitHub being down must not blank the program ids and hashes that resolved fine.