Giter VIP home page Giter VIP logo

react-aave-sdk's Introduction

Aave SDK

banner

Collections of hooks and providers to make development on top of the aave contracts and pools a breeze.

Development

Install the packages

yarn

Run the example apps

yarn dev

Contribute to the sdk

The core hooks and logics of the sdk are located unders /packages/react-sdk.

While running yarn dev, any edit to the files should be reflected in real-time in the example apps.

Committing

This repo uses conventional commits via commitlint. commitlint is enforced via an husky pre-commit hook.

This means all the commits have to follow a specific structure like:

  • feat(sdk): add new feature;
  • fix(vite-app): avoid re-render;

react-aave-sdk's People

Contributors

akanoce avatar defispartan avatar gystemd avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

defispartan

react-aave-sdk's Issues

test(sdk): aim to 100% coverage

Aim to 100% coverage for every hook, provider or util exported by the sdk

The MVP should be unit tests with vitest + react-testing-library ensuring every hook behaves correctly in all possible scenarios.

  • For read-only hooks, we can avoid mocking the requests to the nodes and ensuring the data returned matched a specific object structure and types;
  • For write hooks, we could instead mock the methods to create and submit the tx, ensuring the state of the mutation hook updates corectly;

docs: gitbook

Add gitbook with proper documentation for every hook, and usage with every framework

feat(sdk): extract and publish aave-v3 sdk

Given the current setup, we can easily extract the getter and builder methods inside the hooks in a dedicated package to be published under the name of aave-v3 or aave-v3-js

It's gonna work something like this

const v3 = AaveV3(chainId, provider, signer);

const reserves = v3.getReserves()

const receipt = v3.supply(reserve, amount, waitForConfirmation?);

The benefit of this is increased DX when developing on pure JS (also node and similar environments)

The package, is gonna handle automatic address resolutions based on the chainId, and using provider/signer to get/send data.

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.