5 releases
0.1.3 | Jun 27, 2024 |
---|---|
0.1.2 | Jun 26, 2024 |
0.1.0 | Jun 13, 2024 |
0.0.2 | May 29, 2024 |
0.0.1 | May 25, 2024 |
#18 in #delegation
77KB
519 lines
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
Delegate
- Delegate an accountCommitState
– Commit a new stateFinalize
– Finalize a new stateUndelegate
– Undelegate an account
State
CommitState
– Commit state account state.Delegator
– Delegator account 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
Dependencies
~16–24MB
~415K SLoC