Skip to content

💰One stop shop for Ethereum ABIs, addresses, and Solidity interfaces!

License

Notifications You must be signed in to change notification settings

studydefi/money-legos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Money-legos

CircleCI

money-legos help you quickly build your next Defi dapp in no time:

  • Typescript-powered auto-complete
  • ABIs and addresses to the following protocols and standards
    • AAVE
    • Compound
    • Curve Finance
    • DappSys
    • DyDx
    • ERC20
    • MakerDAO
    • OneSplit
    • Uniswap v1

Install

npm install @studydefi/money-legos

or

yarn add @studydefi/money-legos

Usage

JavaScript

import { legos } from "@studydefi/money-legos";

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

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

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

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

Solidity

pragma solidity ^0.5.0;

import "@studydefi/money-legos/src/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
        );
    }
}

Documentation

Documentation and integration examples at https://money-legos.studydefi.com/