Skip to content

Latest commit

 

History

History
68 lines (42 loc) · 2.07 KB

README.md

File metadata and controls

68 lines (42 loc) · 2.07 KB

Tinyman Governance

This repo contains the contracts that form the Tinyman Governance system.

Docs

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.

Contracts

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.

Audits

Audit reports from independent reviewers can be found in the audits directory.

Security

Reporting a Vulnerability

Reports of potential flaws must be responsibly disclosed to security@tinyman.org. Do not share details with anyone else until notified to do so by the team.

Installing Dependencies

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

Running Tests

# 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.

Compiling the Contract Sources

# 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

Licensing

The contents of this repository are licensed under the Business Source License 1.1 (BUSL-1.1), see LICENSE.