Important: Swig is a work in progress and is not yet ready for production use. The workflows are provided for reference and testing purposes only.
Swig is currently undergoing audit and should not be used in any production environment until audits are complete.
- You must have the Agave toolchain of at least version 2.2.1 and its requirements installed. See https://docs.anza.xyz/cli/install for more info.
- To build, run
cargo build-sbf
. This will output the program binary file totarget/deploy/swig.so
.
- Install cargo-nextest, it's the better way to run tests. See https://nexte.st/docs/installation/from-source/ for more info.
- Run the general test suite with
cargo build-sbf && cargo nextest run --config-file nextest.toml --profile ci --all --workspace --no-fail-fast
- Run the tests covering
ProgramScope
withcargo build-sbf --features=program_scope_test && cargo nextest run --config-file nextest.toml --profile ci --all --workspace --no-fail-fast --features=program_scope_test
- Run the tests covering Stake actions by running
cargo build-sbf --features=stake_tests && cargo nextest run --config-file nextest.toml --profile ci --all --workspace --no-fail-fast --features=stake_tests
Copyright (C) 2025 Anagram Ltd.
This software, Swig, is licensed under the GNU Affero General Public License v3.0.
You may obtain a copy of the License at: https://www.gnu.org/licenses/agpl-3.0.txt
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.