6 releases

0.2.0 Jun 25, 2024
0.1.3 Jul 11, 2024
0.1.1 Feb 9, 2024
0.1.0 Oct 19, 2022
0.0.1 Sep 21, 2022

#735 in Magic Beans

Download history 6492/week @ 2024-03-14 7980/week @ 2024-03-21 7647/week @ 2024-03-28 9342/week @ 2024-04-04 8923/week @ 2024-04-11 9773/week @ 2024-04-18 7973/week @ 2024-04-25 8137/week @ 2024-05-02 7979/week @ 2024-05-09 5634/week @ 2024-05-16 5135/week @ 2024-05-23 7562/week @ 2024-05-30 8358/week @ 2024-06-06 8392/week @ 2024-06-13 6430/week @ 2024-06-20 5975/week @ 2024-06-27

30,829 downloads per month

Apache-2.0

11KB
185 lines

Instruction Pad Program

A program for padding instructions with additional data or accounts, to be used for testing larger transactions, either more instruction data, or more accounts.

The main use-case is with solana-bench-tps, where we can see the impact of larger transactions through TPS numbers. With that data, we can develop a fair fee model for large transactions.

It operates with two instructions: no-op and wrap.

  • No-op: simply an instruction with as much data and as many accounts as desired, of which none will be used for processing.
  • Wrap: before the padding data and accounts, accepts a real instruction and required accounts, and performs a CPI into the program specified by the instruction

Both of these modes add the general overhead of calling a BPF program, and the wrap mode adds the CPI overhead.

Because of the overhead, it's best to use the instruction padding program with all large transaction tests, and comparing TPS numbers between:

  • using the program with no padding
  • using the program with data and account padding

Audit

The repository README contains information about program audits.

Dependencies

~12–19MB
~281K SLoC