/contracts

Primary LanguageTypeScriptMIT LicenseMIT

deployed on mumbai testnet

Āut Labs - Smart Contracts

Āut is an expandable protocol for Role-based Membership in Web3 Communities & DAOs.

DAOs can be much more than Smart Treasuries, Āut introduces native Roles & Interactions directly at contract level, to power the 2nd generation of DAOs. The DAO 2.0s, or a Coordination Renaissance.

To read more about Āut, visit our Docs. Below, you'll find a simple walkthrough to get started using Āut's Smart Contracts.

Docker Setup

Create docker network (once)

docker network create mainnet

Run local blockchain node & deploy contracts. Now the local node is accessable at http://localhost:8545 (with chainId=31337) The deployer's PK is specified in dev.env

docker-compose up --build

Run local graph node

docker-compose -f docker-compose.graph.yml up

Deploy subgraphs

(
    cd subgraphs
    yarn create-local
    yarn deploy-local
)

Setup

Install Foundry

Using Foundryup

Foundryup is the Foundry toolchain installer. You can find more about it here.

Open your terminal and run the following command:

curl -L https://foundry.paradigm.xyz | bash

This will install Foundryup, then simply follow the instructions on-screen, which will make the foundryup command available in your CLI.

Running foundryup by itself will install the latest (nightly) precompiled binaries: forge, cast, anvil, and chisel. See foundryup --help for more options, like installing from a specific version or commit.

Deployments

Deploy Using Forge Script

forge script  ./script/DeployAll.s.sol --rpc-url $RPC_URL --etherscan-api-key $XSCAN_TOKEN --private-key $DEPLOYER_PRIVATE_KEY --verify --broadcast 

Simulate the deployment locally first by running the command without the --broadcast (and --verify) flag.

$RPC_URL replace with the desired EVM RPC. Private RPC recommended. (Alchemy, Infura etc.)
$XSCAN_TOKEN network specific blockchain explorer API key, use to upload ABIs and verify contracts
$DEPLOYER_PRIVATE_KEY The private key of the deploying account (needs to have sufficient gas token balance)

Get Artefacts Using Forge

forge build Now all artefacts are stored in the out/ folder (repository root)

Useful commands

Foundry

forge b #build
forge t #test
forge fmt #format
forge help