BlossomLabs / osmotic-funding

Superfluid + Conviction Voting

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Osmotic Funding

A protocol built on top of Superfluid Finance and Conviction Voting to create and regulate project funding streams based on the amount of interest a community has on them.

In Osmotic Funding, the funds allocation is based on community signaling via token staking so the community can determined the rate each proposal or project that is being funded by staking more or less tokens on it. Everytime a new staking or unstaking happens the rate varies over time until it reachs the new target rate or "equilibrium".

image

🏄‍♂️ Quick Start

Prerequisites: Node plus Yarn and Git

clone/fork:

git clone https://github.com/BlossomLabs/osmotic-funding.git

install and start 👷‍ Hardhat chain from a fork of mumbai network. We do this to reause all Superfluid deployed contracts:

cd osmotic-funding
yarn install
yarn fork

in a second terminal window, start 📱 frontend:

cd osmotic-funding
yarn start

in a third terminal window, 🛰 deploy contracts:

cd osmotic-funding
yarn deploy

📱 Open http://localhost:3000 to see the app.

Superfluid integration: Adaptive Flow Agreement V1

In order to have changing flow rates over time for our funding streams we have implemented a Superfluid agreement (a first version at least) called Adaptive Flow. This advanced feature integrates with the protocol and allows us to create more sophisticated payment flows following exponential decay/growth formulas to calculate the flows and balance at any given point of time.

checkout the superfluid-osmotic-funding branch to play with it:

git checkout superfluid-osmotic-funding

Contract Architecture

Below you can find an overview of the Osmotic Funding Contract Architecture that uses Superfluid underneath:

contract-architecture

About

Superfluid + Conviction Voting

License:MIT License


Languages

Language:CSS 83.7%Language:JavaScript 11.2%Language:TypeScript 2.8%Language:Solidity 1.3%Language:Shell 0.7%Language:Dockerfile 0.2%Language:HTML 0.1%Language:Less 0.1%