3 releases

new 0.0.0 Dec 11, 2024

#27 in #delegation

Download history 427/week @ 2024-12-09

427 downloads per month

MIT license

89KB
1.5K SLoC

Contains (ELF lib, 270KB) tests/buffers/test_delegation.so

Delegation program

Delegation module for https://arxiv.org/pdf/2311.02650.pdf

Program

  • Consts – Program constants.
  • Entrypoint – The program entrypoint.
  • Errors – Custom program errors.
  • Idl – Interface for clients, explorers, and programs.
  • Instruction – Declared instructions and arguments.
  • Loaders – Validation logic for loading Solana accounts.

Instructions

State

Tests

To run the test suite, use the Solana toolchain:

cargo test-sbf

For line coverage, use llvm-cov:

cargo llvm-cov --test test_commit_state

(llvm-cov currently does not work with instructions with CPIs e.g.: delegate, undelegate)

Integration Tests

The integration tests are located in the tests/integration directory. The tests consist of a Bolt/Anchor program that uses the delegation program to delegate, commit, and undelegate accounts. This can be also used a reference for how to interact with the program.

To run the integration test, use Bolt or Anchor:

cd tests/integration && bolt test

or:

cd tests/integration && anchor test

Build for Mainnet

RUSTFLAGS="--cfg mainnet" cargo build-sbf

Dependencies

~17–25MB
~439K SLoC