Skip to content

Badger-Finance/badger-sdk

Repository files navigation

Badger SDK

BadgerDAO is a decentralized autonomous organization focused on bringing Bitcoin to DeFi. The Badger SDK provides easy access to the Badger Protocol on any chain, as well as fast access to the Badger API for JavaScript applcations.

Version License Service Tests semantic-release: angular

Documentation

Installation

Install the package:

yarn add @badger-dao/sdk

Getting Started

Utilizing the SDK requires an RPC provider:

import BadgerSDK, { Network } from '@badger-dao/sdk';

const sdk = new BadgerSDK({
  network: Network.Ethereum,
  provider: 'https://eth-archival.gateway.pokt.network/v1/lb/<APP_ID>',
  graphURL: '<Graph API URl>', // optional
});

Or, utilizing the API requires only a network input:

import { BadgerAPI, Network } from '@badger-dao/sdk';

const api = new BadgerAPI({ network: Network.Ethereum });

await api.loadPrices();

Badger subgraph is also available for use:

import { BadgerGraph, Network } from '@badger-dao/sdk';

const subgraph = new BadgerGraph({
  network: Network.Ethereum,
  baseURL: '<Graph API URl>', // optional
});

await subgraph.loadSetts({
  orderBy: 'id',
  orderDirection: 'asc',
});

Development

Consider to use package lock file, while installing node dependencies:

yarn install --frozen-lockfile
# This will auto-generete contracts and the graph code
# for further development
yarn init:sdk

General knowledge for contributing to the repository is kept in Documentation.

Some topics covered include:

Releasing new version

Releases are determined by the commit messages. Commits beginning with fix: will release a new patch version, commits beginning with feat: will release a new minor version, and commits beginning with BREAKING CHANGE: will release a new major version. The action will run on a push to main.