GithubHelp home page GithubHelp logo

delvtech / elf-sdk Goto Github PK

View Code? Open in Web Editor NEW
32.0 5.0 16.0 409 KB

SDK for interacting with Element Core Contracts

Home Page: https://element.fi

License: Apache License 2.0

Shell 0.21% TypeScript 99.79%

elf-sdk's Introduction

ELF SDK

Build Status License

⚠️ This is a work in progress! ⚠️

This repo provides an SDK for developers to use when interacting with and building on Element smart contracts.

Install

npm install git+https://github.com/element-fi/elf-sdk.git
npm run generate-interfaces

Since this repo is not an npm package, it can be helpful to include this simple script to upgrade your project to the latest commit:

 "scripts": {
    "update-elf-sdk": "npm install git+https://github.com/element-fi/elf-sdk.git"
  },

Build

npm run build

Configure

To use the Element SDK you need to configure some env variables. For linux and mac run the following:

  1. Copy elf.default.env
cp elf.default.env elf.env
  1. Update elf.env with your private key and alchemy api key
export MAINNET_PROVIDER_URL=[MAINNET_PROVIDER_URL_HERE]
export GOERLI_PROVIDER_URL=[GOERLI_PROVIDER_URL_HERE]
export PRIVATE_KEY=[PRIVATE_KEY_HERE]
  1. Source the env file
source elf.env

Run Example Script:

npx hardhat run examples/poolDetails.ts --network goerli

elf-sdk's People

Contributors

dannydelott avatar dantop114 avatar jrhea avatar padraic-o-mhuiris avatar smmackey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

elf-sdk's Issues

calcTotalValueLockedForTerm param should be tokenInfo not lists

it might be better for this method to accept the tokenInfos need rather than passing the list and having it search.

export async function calcTotalValueLockedForTerm(
  trancheInfo: PrincipalTokenInfo,
  balancerVaultAddress: string,
  ptPoolInfo: PoolInfo,
  ytPoolInfo: PoolInfo,
  // etc etc
  assetProxyTokenInfo: AssetProxyTokenInfo,
  signerOrProvider: Signer | Provider
): Promise<Money> {

Originally posted by @jrhea in #37 (comment)

Optional GasPrice in swap/mint/etc

Goerli was slow to confirm txs without bumping the gas price for the swap example (PR #14). as a result, i added a quick hack to just pass a configurable gasPrice to the overrides. This should be optional and needs to be fixed properly.

filter by token symbol

create a helper method to filter addresses by token symbol

  • getTermByTokenSymbol (PR #14)
  • getPoolByTokenSymbol

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.