2.5.4 • Published 4 years ago

@badger-finance/money-legos v2.5.4

Weekly downloads
6
License
MIT
Repository
github
Last release
4 years ago

Badger Logo

Badger Legos

Badger legos extends upon the excellent work of @studydefi money-legos to provide you with the mainnet addresses, ABIs, Solidity interfaces, convenience wrappers, and utility functions for popular DeFi and DAO protocols.

legos autocomplete

Get ABIs, Addresses, and Solidity Interfaces to popular DeFi protocols

Now with Typescript-powered autocomplete!

Protocols supported:

  • AAVE
  • Aragon (new)
  • Badger DAO (new)
  • Badger Sett (new)
  • Compound
  • Curve Finance (expanded)
  • DappSys
  • DyDx
  • ERC20 (expanded)
  • Gnosis Safe (new)
  • Idle V3
  • Kyber.Network
  • MakerDAO
  • OneSplit
  • UMA Protocol
  • Uniswap v1
  • Uniswap v2 (new)
  • Synthetix
  • Balancer
  • mStable

Install

npm install @badger-finance/money-legos

Usage

JavaScript

import { legos } from "@badger-finance/money-legos";

// access ABIs and addresses
legos.erc20.abi;
legos.erc20.dai.address;

// of many popular DeFi protocols
legos.uniswap.factory.abi;
legos.uniswap.factory.address;

// import only the protocol you are interested in
import uniswap from "@badger-finance/money-legos/uniswap";

uniswap.factory.abi;
uniswap.factory.address;

Solidity

pragma solidity ^0.5.0;

import "@badger-finance/money-legos/onesplit/contracts/IOneSplit.sol";

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";


contract OneSplitSwapper {
    // Uniswap Mainnet factory address
    address constant OneSplitAddress = 0xC586BeF4a0992C495Cf22e1aeEE4E446CECDee0E;

    function _swap(address from, address to, uint256 amountWei) internal {
        IERC20 fromIERC20 = IERC20(from);
        IERC20 toIERC20 = IERC20(to);

        (uint256 returnAmount, uint256[] memory distribution) = IOneSplit(
            OneSplitAddress
        ).getExpectedReturn(
            fromIERC20,
            toIERC20,
            amountWei,
            10,
            0
        );

        IOneSplit(OneSplitAddress).swap(
            fromIERC20,
            toIERC20,
            amountWei,
            returnAmount,
            distribution,
            0
        );
    }
}
2.5.4

4 years ago

2.5.3

4 years ago

2.5.2

4 years ago

2.5.1

4 years ago

2.5.0

4 years ago

2.4.10

4 years ago

2.4.9

4 years ago

2.4.8

4 years ago

2.4.7

4 years ago

2.4.6

4 years ago

2.4.5

4 years ago

2.4.2

4 years ago

2.4.4

4 years ago

2.4.1

4 years ago