@floatprotocol/float-contracts

1.0.3 • Public • Published

float_thumbprint

Float Protocol

Production CI Monitor TWAP

Website | Documentation | Research | Discord

What is Float Protocol?

Float Protocol is building the decentralised monetary system of the future. At the heart of the protocol is the FLOAT token. It is designed to be the first truly native internet currency.

Unlike most stablecoins, whilst FLOAT is designed to be stable and has significantly lower volatility than most cryptocurrencies, it is not designed to hold its price at $1.00. Instead, it focuses on maintaining your buying power:

$1,000 from May 2020 has the same buying power as $952 in May 2021 (source bls.gov).

In real terms, you are down -4.7% in your "stablecoin", even though you still see $1,000.

Float Protocol originates from novel research while applying the best techniques of prior work:

  • Dutch Auction Stabilisation - Float Protocol uniquely applies Dutch Auctions to price stabilisation providing arbitrage opportunities to contract and expand supply.
    • Single Block Composability - Dutch Auctions are instant settlement which allows for flash loans, DEX aggregation opportunities; all with zero speculation.
    • User benefiting slippage - As prices start high and decrease deterministically, any slippage only results in more profit.
  • Decentralised & Democratic - DAO owned and community controlled with >50% of governance token distributed according to our Democratic Launch.
  • Algorithmically controlled - The price movement is clearly defined, autonomous and algorithmic with no active management.
  • Basket Tracking - FLOAT tracks the contents of a basket of "crypto goods" without sudden spikes.
  • 2 Token System - FLOAT is the stablecoin targeting a band around the target price. BANK is the governance token that accrues seigniorage revenue and excess collateral value.

Responsible Disclosure

See SECURITY.md

Contributing

The contracts are compiled with Hardhat and tested using Waffle and TypeScript.

Installation

# Clone repository from github
git clone https://github.com/FloatProtocol/float-contracts.git
cd float-contracts
# Install dependencies
yarn

Update the .env file with your API Keys for deploying to an Ethereum Public Testnet.

Build

yarn build

Test

yarn test

Coverage

yarn coverage

Deploy to Hardhat EVM

yarn dev
yarn local:dev

Will deploy the contracts to localhost:8545.

Running Slither

Slither is a Solidity static analysis framework. To run it locally:

pip3 install slither-analyzer
slither .

In-Depth security testing

Use the eth-security-toolbox docker image.

docker pull trailofbits/eth-security-toolbox
docker run -it -v $(pwd):/share trailofbits/eth-security-toolbox

Readme

Keywords

none

Package Sidebar

Install

npm i @floatprotocol/float-contracts

Weekly Downloads

1

Version

1.0.3

License

MIT

Unpacked Size

8.22 MB

Total Files

188

Last publish

Collaborators

  • 0x9bf6