@ribbon-finance/grappa-contracts v1.2.0
Introduction
This is the repository of the core component of Grappa, which is a decentralized settlement layer for options and spreads.
In our design, a option (derivative) token can be created by different margin engine. Users with different risk tolerance can choose among different engines based on gas cost, capital efficiency and risk of liquidation.
We also natively support call spread and put spread that can increase capital efficiency by a lot while being fully collateralized.
Documentation
For detailed documentation about how the system architecture is designed, please visit docs
Get Started
forge build
forge testFor auto linting and running gas snapshot, you will also need to setup npm environment, and install husky hooks
# install yarn dependencies
yarn
# install hooks
npx husky installTest locally
forge testRun Coverage
forge coverageLinting
forge fmtDeployment
Simulate deployment for launch
forge script script/deploy-launch.sol --private-key <your PK> --fork-url <RPC-endpoint> Run Slither
installation
pip3 install slither-analyzer
pip3 install solc-select
solc-select install 0.8.13
solc-select use 0.8.13Run analysis
slither .Install Grappa into your project
With hardhat
yarn add @grappafinance/grappa-contracts
# or
npm install @grappafinance/grappa-contractsWith Foundry
forge install grappafinance/coreThen you will be able to import the libraries or contract interface
pragma solidity ^0.8.0;
import "@grappafinance/grappa-contracts/src/libraries/ActionUtil.sol";2 years ago