GitHub repo

All code for audit is located in the develop branch of our private repo: https://github.com/avantgardefinance/protocol

Contracts

All contracts used for both production and testing are located in contracts/

mocks/ - (Not for audit) Contains mock contracts used by tests and for our own testing environment

persistent/ - Production contracts that will not be changed after this release. These are contracts for scaffolding the overarching structure that facilitates fund migration from an old release to the current release.

release/ - Production contracts that will be deployed for this release, and will likely change (and be re-deployed) for subsequent releases.

Tests

All tests are in the tests/ directory.

Rather than rigidly segregating traditional "unit", "integration", and "end-to-end" tests, we blend "unit" and "integration" to test our own internal state transitions, inputs, and outputs, and only use "end-to-end" tests for testing that our interactions with external protocols and contracts works as expected.

End-to-end tests are found in release/e2e/

All other tests are located in directories and files corresponding to their contract name and roughly corresponding with the file path of the primary contract being tested.