This is not a tunable, and it is coupled to WRITE_CU in the activities.
Both values were measured against a real validator rather than reasoned
about, because the ceiling lives in the validator and no amount of mocking
reaches it. test/programDeployBuffer.surfnet.test.ts is that measurement:
the conventional 1012 with the service's default compute budget encoded
to 1716 bytes against a 1644 ceiling — two compute-budget instructions
plus the ComputeBudget program key;
dropping those (see WRITE_CU) brought it to 1648, still 4 bytes over;
1000 leaves ~32 bytes of headroom, which is the margin this keeps.
Both failures would have hit on the first chunk of a real deploy, after
the buffer's ~6.3 SOL of rent had already been spent. The margin is
deliberate: the exact fit is 1008, and a constant sitting precisely on a
limit fails the day anything in the message grows by a byte.
Payload bytes per
Write.This is not a tunable, and it is coupled to
WRITE_CUin the activities. Both values were measured against a real validator rather than reasoned about, because the ceiling lives in the validator and no amount of mocking reaches it.test/programDeployBuffer.surfnet.test.tsis that measurement:WRITE_CU) brought it to 1648, still 4 bytes over;Both failures would have hit on the first chunk of a real deploy, after the buffer's ~6.3 SOL of rent had already been spent. The margin is deliberate: the exact fit is 1008, and a constant sitting precisely on a limit fails the day anything in the message grows by a byte.