weigh.json
target/tare/weigh.json is the weighing as a document. Its schema is published with the API contract.
The document
{
"schemaVersion": "1",
"program": {
"name": "squads_multisig_program",
"address": "SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf"
},
"toolchainVersion": "0.7.0",
"anchorVersion": "0.32.1",
"source": {
"repository": "https://github.com/Squads-Protocol/v4.git",
"commit": "3a39735d0c56249bf2ce4b16b3229d7be87ad55f"
},
"builds": {
"stock": {
"hash": "f228b6dfcc6eaf5d3cb0a52bce0ee11fc32c7a25af8d802cdc05eea0597b2b00",
"sizeBytes": 791768,
"rentLamports": 4023060280
},
"tare": {
"hash": "14f7ff1817c5896be925ab472bf999aaef082e5c26a98ac36a2ec4254fa36493",
"sizeBytes": 777488,
"rentLamports": 3950517880
}
},
"instructions": [
{
"name": "batch_accounts_close",
"discriminator": "dac407af82660bff",
"inputs": 2,
"gross": 6508,
"net": 6177,
"tare": 331
},
{
"name": "batch_add_transaction",
"discriminator": "5964e0124546364c",
"inputs": 3,
"gross": 20847,
"net": 18336,
"tare": 2511
}
],
"totals": {
"gross": 307612,
"net": 278716,
"tare": 28896,
"inputs": 129
}
}squads_multisig_program from the benchmark, with its instruction list cut to two.
Fields
| Field | What it holds |
|---|---|
schemaVersion | The version of this document format. |
program | The program's name and, when it is known, its address. |
toolchainVersion | What tare --version prints. |
anchorVersion | The Anchor version the workspace pins. |
source | The repository and the commit that was built. |
builds.stock, builds.tare | Each binary: its SHA-256, its size in bytes, the lamports it locks. |
instructions[] | Name, discriminator, gross, net, tare, inputs. Weights are null when inputs is 0. |
totals | The sums over measured instructions. |
proof | Null in a weighing made before a proof; the proof once one has run. |
Numbers
Compute units, lamports, byte sizes and counts are JSON integers. Tare is signed, since an instruction can in principle weigh more after a build than before it.