This repo contains the contracts that form the Tinyman Governance system.
The governance system is described in detail in the following document: Tinyman Governance Specification
User docs for Tinyman Governance can be found at docs.tinyman.org.
The contracts are written in Tealish. The specific version of Tealish is https://github.com/tinymanorg/tealish/tree/df4b0130e0c23a3498dda2b2f1a21b3249530813.
The annotated TEAL outputs and compiled bytecode are available in the build subfolders.
Audit reports from independent reviewers can be found in the audits directory.
Reports of potential flaws must be responsibly disclosed to [email protected]. Do not share details with anyone else until notified to do so by the team.
Note: Mac OS & Linux Only
% python3 -m venv ~/envs/gov
% source ~/envs/gov/bin/activate
(gov) % pip install -r requirements.txt
(gov) % python -m algojig.check
We recommend using VS Code with this Tealish extension when reviewing contracts written in Tealish: https://github.com/thencc/TealishVSCLangServer/blob/main/tealish-language-server-1.0.0.vsix
# Run all tests (this can take a while)
(gov) % python -m unittest -v
# Run a specific test
(gov) % python -m unittest -vk "VaultTestCase.test_create_app"
Note: The tests read the .tl
Tealish source files from the contracts directories, not the .teal
build files.
# Compile each set of contracts to generate the `.teal` files in the `build` subdirectories:
(gov) % tealish compile contracts/vault
(gov) % tealish compile contracts/proposal_voting
(gov) % tealish compile contracts/staking_voting
(gov) % tealish compile contracts/rewards
The contents of this repository are licensed under the Business Source License 1.1 (BUSL-1.1), see LICENSE.