Install

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

FieldWhat it holds
schemaVersionThe version of this document format.
programThe program's name and, when it is known, its address.
toolchainVersionWhat tare --version prints.
anchorVersionThe Anchor version the workspace pins.
sourceThe repository and the commit that was built.
builds.stock, builds.tareEach 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.
totalsThe sums over measured instructions.
proofNull 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.