Union is a member-owned trust backed credit network built on the EVM where members can underwrite lines of credit to other member addresses.
The contracts operates as a DAO and enables any address to accumulate a credit line on-chain in a permission-less, crypto-native way.
The protocol itself is not an underwriter of risk, but rather a mechanism to lower the cost of coordinating trust into available credit.
Built using foundry and hardhat
-
Optimism
-
Goerli
-
Optimism Goerli
To install dependencies:
git clone [email protected]:unioncredit/union-v2-contracts.git && cd union-v2-contracts
yarn install
To compile with hardhat:
yarn hh:compile
Union V1.5 Contracts also includes a suit of tests (fuzzing tests) writte in solidity with foundry
To install Foundry (assuming a Linux or macOS System):
curl -L https://foundry.paradigm.xyz | bash
This will download foundryup. To start Foundry, run:
foundryup
To install dependencies:
forge install
To run tests:
forge test
The following modifiers are also available:
- Level 2 (-vv): Logs emitted during tests are also displayed.
- Level 3 (-vvv): Stack traces for failing tests are also displayed.
- Level 4 (-vvvv): Stack traces for all tests are displayed, and setup traces for failing tests are displayed.
- Level 5 (-vvvvv): Stack traces and setup traces are always displayed.
forge -vv
To profile gas usage:
forge test --gas-report
forge snapshot
Integration tests can be run using hardhat.
yarn hh:test
They can also be run in fork mode. (Some tests can be excluded from running in fork mode and other tests can only run in fork mode)
FORK_NODE_URL=<URL> FORK_BLOCK=<NUMBER> yarn hh:test
You can also define which config should be used for the fork mode.
CONFIG=arbitrum FORK_NODE_URL=<URL> FORK_BLOCK=<NUMBER> yarn hh:test
yarn format