Delegation module for https://arxiv.org/pdf/2311.02650.pdf
-
Instruction Builders
– utilities to generate Instructions. -
Args
– Instructions arguments structures. -
Consts
– Program constants. -
Errors
– Custom program errors.
-
Entrypoint
– The program entrypoint. -
Processors
– Instruction implementations.
-
Delegate
- Delegate an account -
CommitState
– Commit a new state -
Finalize
– Finalize a new state -
Undelegate
– Undelegate an account
To run the test suite, use the Solana toolchain:
cargo test-sbf --features unit_test_config
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)
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