1.0.1 • Published 4 years ago

@blockchangers/uniswap-testnet-deployer v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

DeFi-tools 🧩

Simple testnet deployer for Uniswap

Use it 🍩

const Deployer = require('@blockchangers/uniswap-testnet-deployer').Deployer;
const deployer = new Deployer(WALLET)
const tokenExchanges = await deployer.setup()

or

import { Deployer } from '@blockchangers/uniswap-testnet-deployer';
const deployer = new Deployer(WALLET)
const tokenExchanges = await deployer.setup()

Returns

async setup(tokens?: Token[]): Promise<TokenExchange[]>

export type TokenExchange = {
    tokenAddress: string,
    exchangeAddress: string
}

Example JS setup 🤞

const ethers = require('ethers');
const ganache = require('ganache-cli');
const UniswapTestnetDeployer = require('@blockchangers/uniswap-testnet-deployer');
const MNEMONIC = 'popular stock metal artefact nasty venture oblige horror face glory predict coach';

const provider = new ethers.providers.Web3Provider(
    ganache.provider({
        "mnemonic": MNEMONIC,
        "gasLimit": 8000000,
        "default_balance_ether": 100000000,
        "verbose": true,
        "vmErrorsOnRPCResponse": true
    })
);

(async () => {
    const WALLET = ethers.Wallet.fromMnemonic(MNEMONIC).connect(provider)
    const ADDRESS = await WALLET.getAddress()

    const deployer = new UniswapTestnetDeployer.Deployer(WALLET)
    const tokenExchanges = await deployer.setup()
    console.log("### First setup ###")
    console.log(tokenExchanges)

    // With custom tokens
    const TOKENS = [
        {
            name: "MyToken",
            symbol: "MYT",
            amount: 50000,
            depositAmount: 200,
            valueInEther: 516
        },
        {
            name: "Blockchanger TOKEN",
            symbol: "BCT",
            amount: 100000,
            depositAmount: 5000,
            valueInEther: 15
        },
    ];
    const tokenExchanges2 = await deployer.setup(TOKENS)
    console.log("### Second setup ###")
    console.log(tokenExchanges2)

    const anExchange = new ethers.Contract(tokenExchanges2[0].exchangeAddress, UniswapTestnetDeployer.exchangeAbi, WALLET);
    const anToken = new ethers.Contract(tokenExchanges2[0].tokenAddress, UniswapTestnetDeployer.tokenAbi, WALLET);
    const oneEthToTokenPrice = await anExchange.getEthToTokenInputPrice(ethers.utils.parseEther("1"))
    const symbol = await anToken.symbol()
    console.log("1 ETH of", symbol, "equals", ethers.utils.formatEther(oneEthToTokenPrice.toString()))
})().catch(err => {
    console.error(err);
})

Default tokens

export const DEFAULT_TOKENS: Token[] = [
    {
        name: "MakerDAO",
        symbol: "MKR",
        amount: 50000,
        depositAmount: 200,
        valueInEther: 516
    },
    {
        name: "Basic Attention Token",
        symbol: "BAT",
        amount: 200000,
        depositAmount: 5000,
        valueInEther: 15
    },
    {
        name: "Dai",
        symbol: "DAI",
        amount: 100000,
        depositAmount: 25000,
        valueInEther: 140
    },
    {
        name: "Binance",
        symbol: "BNB",
        amount: 700000,
        depositAmount: 14000,
        valueInEther: 50
    },
    {
        name: "ChainLink",
        symbol: "LINK",
        amount: 19000000,
        depositAmount: 120000,
        valueInEther: 100
    }
]
1.0.1

4 years ago

1.0.0

4 years ago

0.2.0

4 years ago

0.1.0

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago