Autara Lending V1 is a decentralized lending protocol built on the Arch blockchain. It allows users to lend and borrow permissionlessly assets. The protocol is designed to be secure, efficient, and user-friendly, providing a seamless experience for both lenders and borrowers.
- Install Rust
- Install Solana (stable version, not latest)
- Install Docker
- Install nextest
- Install llvm-cov
This repository contains 7 crates:
autara-lib: Main library of the Autara protocol, defining the data structures and logicautara-client: A client to interact with the Autara protocolautara-program-lib: Library for Arch smart contractsautara-program: Autara smart contractautara-integration-tests: Standalone crate for the Autara smart contracts integration testsautara-pyth: A naive client to push Pyth price feeds to autara-oracle smart contractsautara-oracle: A naive oracle smart contract to store Pyth price feeds without any validation
To build smart contracts, run the following command:
cargo-build-sbf --features entrypointTo build workspace, run:
cargo buildSetup an arch local environment:
docker pull --platform linux/amd64 baptisteeb/arigato-node:latest
docker run -d --platform linux/amd64 --name arigato-node -p 18443:18443 -p 3030:3030 -p 9002:9002 baptisteeb/arigato-node:latestThen, deploy the smart contracts:
cargo run --bin deploycargo run --bin autara-pythcargo run --bin autara-clientcargo run --bin autara-servercargo nextest run --no-fail-fast -j 24If you dont have a local arch node running, you can run the tests with the following command:
cargo nextest run --exclude autara-integration-tests --workspaceRun tests with coverage:
cargo llvm-cov nextest --exclude autara-integration-tests --workspace