Code Monkey home page Code Monkey logo

boo's Introduction

Boo

Boo Project Visualization

Using Axiom Quickstart

Introduction

BOO.

This is an experimental implementation of novel reward mechanisms to attract users of competing platforms onto Aave using cutting edge zero knowledge technology by Axiom to enable the Boo contract to access historical blockchain data.

Boo is an extention of Aave v3's Pool contract.

It implements two mechanisms to attract liquidity to Aave:

A new method called boo() which withdraws collateral from a competing lending platform and deposits it into Aave. Currently, this method is specific to withdrawing USDC from Compound Comet.

A user can choose to lock this collateral for a period of time to guarantee incentives on the Aave platform. Incentives can include: - Rebates on fees paid on borrows - Discounts on borrow rates - Aave tokens - Clout - ???

A user is not forced to lock in their collateral. Boo enforces reward eligibility via Axiom which enables the ability to check historic state to ensure that a user attempting to collect rewards meets reward criteria. This is really cool since this gives flexibility to the user while still allowing Aave to properly reward their avid users in a completely trustless manner!

Further exploration

- Incentivize based on the user's fee paid on borrows.
- The current code is not validating the reward conditions and parameters. The current code is experimental.

This starter repo is a guide to get you started making your first Axiom query as quickly as possible using the Axiom SDK and Axiom smart contract client. To learn more about Axiom, check out the developer docs at docs.axiom.xyz or join our developer Telegram.

A guide on how to use this repository is available in the Axiom Docs: Quickstart.

Installation

This repo contains both Foundry and Javascript packages. To install, run:

forge install
pnpm install     # or `npm install` or `yarn install`
cp .env.example .env

For installation instructions for Foundry or a Javascript package manager (npm, yarn, or pnpm), see Package Manager Installation.

Copy .env.example to .env and fill in your JSON-RPC provider URL. If you'd like to send transactions from a local hot wallet on testnet also add a Sepolia private key.

โš ๏ธ WARNING: Never use your mainnet private key on a testnet! If you use this option, make sure you are not using the same account on mainnet.

Test

To run Foundry tests that simulate the Axiom integration flow, run

forge test -vvvv

Package Manager Installation

Install npm or yarn or pnpm:

# install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
source ~/.bashrc  # or `source ~/.zshrc` on newer macs

# Install latest LTS node
nvm install --lts

# Install pnpm
npm install -g pnpm
pnpm setup
source ~/.bashrc  # or `source ~/.zshrc` on newer macs

Install Foundry. The recommended way to do this is using Foundryup:

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

boo's People

Contributors

jonathanpwang avatar kevin-fruitful avatar ytham avatar yi-sun avatar rpalakkal avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.