⚙️ Integrate with MonoX

The MonoX smart contracts will exist on the Ethereum blockchain. Until that time, there are a bunch of test networks are available for you to integrate and complete your tests. These networks are:

  • Ethereum Mainnet,

  • Polygon Mainnet,

  • Kovan Testnet,

  • Mumbai Test (Polygon)

Contracts

In order to complete an integration with the below contracts, you will need to have ABI (Application Binary Interface).

How to get ABI of a contract?

Contracts on Ethereum Mainnet

VCASH address: 0x532D7ebE4556216490c9d03460214b58e4933454

MonoXPool address: 0x59653E37F8c491C3Be36e5DD4D503Ca32B5ab2f4

Monoswap address: 0xC36a7887786389405EA8DA0B87602Ae3902B88A1

MONO address: 0x2920f7d6134f4669343e70122cA9b8f19Ef8fa5D

Contracts on Polygon Mainnet

VCASH address: 0x7621eE0CE0F686b88dD70551B05F90dd3C04d6e9

MonoXPool address: 0x3826367A5563eCE9C164eFf9701146d96cC70AD9

Monoswap address: 0xBD5ca837C759B429398dc55b643f1Dd8d0D72CbD

Contract on Kovan Test Network

VCASH address: 0x35363a7aceFc54e85FB21B0B4a89e336eB7C065A

MonoXPool address: 0xA22710AA406f9302e68bF5d1d0859dA6d7A6A93c

Monoswap address: 0xE8141055b060BA9f7C75c6D5c904D4A7Fc97A66b

MonoToken address: 0xC963bf29405884e3C0c52C16793Ead51Ccb88761

MonoswapStaking address: 0x6549f8aE5dfee52B5da9127B8Dda7504798ec347

Contract on Mumbai Test Network

VCASH address: 0xeB3333178D85F4792fE3201C9247B0c3eA44Ae10

MonoXPool address: 0x94B0eAf72E4CC307Bf2B0Dd8834694F295305f89

Monoswap address: 0xf0086a7bF26E4be27D6bF2d9f9f108F321cc72E7

MonoToken address: 0x63EE03B10E92849A1f61f2f462c66CdB09a3982C

MonoswapStaking address: 0xF269e315f8c72B8a1Beb2223632bbC046c6635D4

Integration

Our Monoswap contract (kovan or mumbai) has some core features available for the developers who are interested in using them externally.

What type of functions is available for a contract?

MonoX Core Functionalities

Some of the key functionalities we offer are:

  • listNewToken,

  • addLiquidity,

  • addLiquidityETH,

  • removeLiquidity,

  • swapExactTokenForToken and swapTokenForExactToken,

  • swapExactETHForToken, swapExactTokenForETH, swapETHForExactToken and swapTokenForExactETH

listNewToken, addLiquidity, swapExactTokenForToken and swapTokenForExactToken requires that the token has been approved in advance.

listNewToken

This function list tokens and adds liquidity with vcashAmount and tokenAmount then sends LP tokens to to address. So, the user can list a new token.

function listNewToken (
        address _token,        // Token address to list
        uint _price,           // Token price
        uint256 vcashAmount,   // VCASH amount to add initially
        uint256 tokenAmount,   // Token amount to add initially
        address to             // Address that gets liquidity
        )           

addLiquidity

This function adds liquidity to an ERC-20⇄ERC-20 pool. So, users can contribute into the pool.

function addLiquidity (
        address _token,        // Token address
        uint256 _amount,       // Token amount to add
        address to             // Address to send LP token 
        )

addLiquidityETH

This function adds liquidity to an ERC-20⇄WETH pool with ETH. So, users can add liquidity to the ETH pool.

function addLiquidityETH (
        address to             // Address to send LP token  
        )

removeLiquidity

This function removes liquidity to an ERC-20⇄ERC-20 pool.

function removeLiquidity (
        address _token,        // Token address
        uint256 liquidity,     // Liquidity
        address to,            // Token amount to add
        uint256 minVcashOut,   // The minimum amount of VCash that must be received
        uint256 minTokenOut    // The minimum amount of Token that must be received
        )

For removing ETH liquidity, use removeLiquidityETH function. It removes liquidity to an ERC-20⇄WETH pool with ETH.

swapExactTokenForToken

Users can swap tokens using swapExactTokenForToken. So, user's input token is known and the output token is calculated swapTokenForExactToken.

function swapExactTokenForToken(
        address tokenIn,       // Input token address
        address tokenOut,      // Output token address
        uint amountIn,         // The amount of input tokens to send
        uint amountOutMin,     // The minimum amount of output tokens that must be received for the transaction not to revert
        address to,            // Recipient of the output tokens
        uint deadline          // Unix timestamp after which the transaction will revert
        )

swapTokenForExactToken

Users can swap tokens using swapTokenForExactToken. So, user's output token is known and the input token is calculated.

 function swapTokenForExactToken(
        address tokenIn,       // Input token address
        address tokenOut,      // Output token address
        uint amountInMax,      // The maximum amount of input tokens that can be required before the transaction reverts
        uint amountOut,        // The amount of output tokens to receive
        address to,            // Recipient of the output tokens
        uint deadline          // Unix timestamp after which the transaction will revert
        )

For swapping ETH, please use one of below functions:

function swapExactETHForToken(
        address tokenOut,      // Output token address
        uint amountOutMin,     // The minimum amount of output tokens that must be received for the transaction not to revert
        address to,            // Recipient of the output tokens
        uint deadline          // Unix timestamp after which the transaction will revert
        )

Last updated