iToken
setup
// Can only be called by factory contract during createExchange()
setup(token_addr: address):// Can only be called by factory contract during createExchange()
exchangeContract.methods.setup((token: String)).send();Parameter
Description
token_addr
Ethereum address of an ERC20 Token
addLiquidity
@payable
addLiquidity(
min_liquidity: uint256,
max_tokens: uint256,
deadline: uint256
): uint256exchangeContract.methods
.addLiquidity(min_liquidity, max_tokens, deadline)
.send({ value: ethValue });Parameter
Type
Description
msg.value
uint256
Amount of ETH added
min_liquidity
uint256
Minimum minted liquidity
max_tokens
uint256
Maximum ERC20 tokens added
deadline
uint256
Transaction deadline
Returns
uint256
Amount of liquidity tokens minted
removeLiquidity
removeLiquidity(
amount: uint256;
min_eth: uint256,
min_tokens: uint256,
deadline: uint256
): (uint256, uint256)exchangeContract.methods
.removeLiquidity(amount, min_eth, min_tokens, deadline)
.send();Parameter
Type
Description
amount
uint256
Amount of liquidity burned
min_eth
uint256
Minimum ETH removed
min_tokens
uint256
Minimum ERC20 tokens removed
deadline
uint256
Transaction deadline
Returns
uint256
Amount of ETH removed
uint256
Amount of ERC20 tokens removed.
default
// Default function in Vyper replaces the "fallback" function in Solidity
@payable
__default__():web3.eth.sendTransaction({ value: ethAmount });Parameter
Type
Description
msg.value
uint256
Amount of ETH sold
ethToTokenSwapInput
@payable
ethToTokenSwapInput(
min_tokens: uint256,
deadline: uint256
): uint256exchangeContract.methods
.ethToTokenSwapInput(min_liquidity, max_tokens, deadline)
.send({ value: ethValue });Parameter
Type
Description
msg.value
uint256
Amount of ETH sold
min_tokens
uint256
Minimum ERC20 tokens bought
deadline
uint256
Transaction deadline
Returns
uint256
Amount of ERC20 tokens bought
ethToTokenTransferInput
@payable
ethToTokenTransferInput(
min_tokens: uint256,
deadline: uint256,
recipient: address
): uint256exchangeContract.methods
.ethToTokenTransferInput(min_liquidity, max_tokens, deadline, recipient)
.send({ value: ethValue });Parameter
Type
Description
msg.value
uint256
Amount of ETH sold
min_tokens
uint256
Minimum ERC20 tokens bought
deadline
uint256
Transaction deadline
recipient
address
Address that receives ERC20 tokens
Returns
uint256
Amount of ERC20 tokens bought
ethToTokenSwapOutput
@payable
ethToTokenSwapOutput(
tokens_bought: uint256,
deadline: uint256
): uint256exchangeContract.methods
.ethToTokenSwapOutput(tokens_bought, deadline)
.send({ value: ethValue });Parameter
Type
Description
msg.value
uint256
Maximum ETH sold
tokens_bought
uint256
Amount of ERC20 tokens bought
deadline
uint256
Transaction deadline
Returns
uint256
Amount of ETH sold
ethToTokenTransferOutput
@payable
ethToTokenTransferOutput(
tokens_bought: uint256,
deadline: uint256,
recipient: address
): uint256exchangeContract.methods
.ethToTokenTransferOutput(tokens_bought, deadline, (recipient: String))
.send({ value: ethValue });Parameter
Type
Description
msg.value
uint256
Maximum ETH sold
tokens_bought
uint256
Amount of ERC20 tokens bought
deadline
uint256
Transaction deadline
recipient
address
Address that receives ERC20 tokens
Returns
uint256
Amount of ETH sold
tokenToEthSwapInput
tokenToEthSwapInput(
tokens_sold: uint256,
min_eth: uint256,
deadline: uint256
): uint256exchangeContract.methods
.tokenToEthSwapInput(tokens_sold, min_eth, deadline)
.send();Parameter
Type
Description
tokens_sold
uint256
Amount of ERC20 tokens sold
min_eth
uint256
Minimum ETH bought
deadline
uint256
Transaction deadline
Returns
uint256
Amount of ETH bought
tokenToEthTransferInput
tokenToEthTransferInput(
tokens_sold: uint256,
min_eth: uint256,
deadline: uint256,
recipient: address
): uint256exchangeContract.methods
.tokenToEthTransferInput(tokens_sold, min_eth, deadline, recipient)
.send();Parameter
Type
Description
tokens_sold
uint256
Amount of ERC20 tokens sold
min_eth
uint256
Minimum ETH bought
deadline
uint256
Transaction deadline
recipient
address
Address that receives ETH
Returns
uint256
Amount of ETH bought
tokenToEthSwapOutput
tokenToEthSwapOutput(
eth_bought: uint256,
max_tokens: uint256,
deadline: uint256
): uint256exchangeContract.methods
.tokenToEthSwapOutput(eth_bought, max_tokens, (deadline: Integer))
.send();Parameter
Type
Description
eth_bought
uint256
Amount of ETH bought
max_tokens
uint256
Maximum ERC20 tokens sold
deadline
uint256
Transaction deadline
Returns
uint256
Amount of ERC20 tokens sold
tokenToEthTransferOutput
tokenToEthTransferOutput(
eth_bought: uint256,
max_tokens: uint256,
deadline: uint256,
recipient: address
): uint256exchangeContract.methods
.tokenToEthTransferOutput(
eth_bought,
max_tokens,
(deadline: Integer),
(recipient: String)
)
.send();Parameter
Type
Description
eth_bought
uint256
Amount of ETH bought
max_tokens
uint256
Maximum ERC20 tokens sold
deadline
uint256
Transaction deadline
recipient
address
Address that receives ETH
Returns
uint256
Amount of ERC20 tokens sold
tokenToTokenSwapInput
tokenToTokenSwapInput(
tokens_sold: uint256,
min_tokens_bought: uint256,
min_eth_bought: uint256,
deadline: uint256,
token_addr: address
): uint256exchangeContract.methods
.tokenToTokenSwapInput(
tokens_sold,
min_tokens_bought,
min_eth_bought,
deadline,
token_addr
)
.send();Parameter
Type
Description
tokens_sold
uint256
Amount of input ERC20 tokens sold
min_tokens_bought
uint256
Minimum output ERC20 tokens bought
min_eth_bought
uint256
Minimum ETH bought as intermediary
deadline
uint256
Transaction deadline
token_addr
address
Address of output ERC20 token
Returns
uint256
Amount of output ERC20 tokens bought
tokenToTokenTransferInput
tokenToTokenTransferInput(
tokens_sold: uint256,
min_tokens_bought: uint256,
min_eth_bought: uint256,
deadline: uint256,
recipient: address
token_addr: address
): uint256exchangeContract.methods
.tokenToTokenTransferInput(
tokens_sold,
min_tokens_bought,
min_eth_bought,
deadline,
recipient,
token_addr
)
.send();Parameter
Type
Description
tokens_sold
uint256
Amount of input ERC20 tokens sold
min_tokens_bought
uint256
Minimum output ERC20 tokens bought
min_eth_bought
uint256
Minimum ETH bought as intermediary
deadline
uint256
Transaction deadline
recipient
address
Address that receives output ERC20 tokens
token_addr
address
Address of output ERC20 token
Returns
uint256
Amount of output ERC20 tokens bought
tokenToTokenSwapOutput
tokenToTokenSwapOutput(
tokens_bought: uint256,
max_tokens_sold: uint256,
max_eth_sold: uint256,
deadline: uint256,
token_addr: address
): uint256exchangeContract.methods
.tokenToTokenSwapOutput(
tokens_bought,
max_tokens_sold,
max_eth_sold,
deadline,
token_addr
)
.send();Parameter
Type
Description
tokens_bought
uint256
Amount of output ERC20 tokens bought
max_tokens_sold
uint256
Maximum input ERC20 tokens bought
max_eth_sold
uint256
Maximum ETH bought as intermediary
deadline
uint256
Transaction deadline
token_addr
address
Address of output ERC20 token
Returns
uint256
Amount of input ERC20 tokens sold
tokenToTokenTransferOutput
tokenToTokenTransferOutput(
tokens_bought: uint256,
max_tokens_sold: uint256,
max_eth_sold: uint256,
deadline: uint256,
recipient: address,
token_addr: address
): uint256exchangeContract.methods
.tokenToTokenTransferOutput(
tokens_bought,
max_tokens_sold,
max_eth_sold,
deadline,
recipient,
token_addr
)
.send();Parameter
Type
Description
tokens_bought
uint256
Amount of output ERC20 tokens bought
max_tokens_sold
uint256
Maximum input ERC20 tokens bought
max_eth_sold
uint256
Maximum ETH bought as intermediary
deadline
uint256
Transaction deadline
recipient
address
Address that receives output ERC20 tokens
token_addr
address
Address of output ERC20 token
Returns
uint256
Amount of input ERC20 tokens sold
tokenToExchangeSwapInput
tokenToTokenSwapInput(
tokens_sold: uint256,
min_tokens_bought: uint256,
min_eth_bought: uint256,
deadline: uint256,
exchange_addr: address
): uint256exchangeContract.methods
.tokenToTokenSwapInput(
tokens_sold,
min_tokens_bought,
min_eth_bought,
deadline,
exchange_addr
)
.send();Parameter
Type
Description
tokens_sold
uint256
Amount of input ERC20 tokens sold
min_tokens_bought
uint256
Minimum output ERC20 tokens bought
min_eth_bought
uint256
Minimum ETH bought as intermediary
deadline
uint256
Transaction deadline
exchange_addr
address
Address of output ERC20 token exchange
Returns
uint256
Amount of output ERC20 tokens bought
tokenToExchangeTransferInput
tokenToExchangeTransferInput(
tokens_sold: uint256,
min_tokens_bought: uint256,
min_eth_bought: uint256,
deadline: uint256,
recipient: address
exchange_addr: address
): uint256exchangeContract.methods
.tokenToExchangeTransferInput(
tokens_sold,
min_tokens_bought,
min_eth_bought,
deadline,
recipient,
exchange_addr
)
.send();Parameter
Type
Description
tokens_sold
uint256
Amount of input ERC20 tokens sold
min_tokens_bought
uint256
Minimum output ERC20 tokens bought
min_eth_bought
uint256
Minimum ETH bought as intermediary
deadline
uint256
Transaction deadline
recipient
address
Address that receives output ERC20 tokens
exchange_addr
address
Address of output ERC20 token exchange
Returns
uint256
Amount of output ERC20 tokens bought
tokenToExchangeSwapOutput
tokenToExchangeSwapOutput(
tokens_bought: uint256,
max_tokens_sold: uint256,
max_eth_sold: uint256,
deadline: uint256,
exchange_addr: address
): uint256exchangeContract.methods
.tokenToExchangeSwapOutput(
tokens_bought,
max_tokens_sold,
max_eth_sold,
deadline,
exchange_addr
)
.send();Parameter
Type
Description
tokens_bought
uint256
Amount of output ERC20 tokens bought
max_tokens_sold
uint256
Maximum input ERC20 tokens bought
max_eth_sold
uint256
Maximum ETH bought as intermediary
deadline
uint256
Transaction deadline
exchange_addr
address
Address of output ERC20 token exchange
Returns
uint256
Amount of input ERC20 tokens sold
tokenToExchangeTransferOutput
tokenToExchangeTransferOutput(
tokens_bought: uint256,
max_tokens_sold: uint256,
max_eth_sold: uint256,
deadline: uint256,
recipient: address,
exchange_addr: address
): uint256exchangeContract.methods
.tokenToExchangeTransferOutput(
tokens_bought,
max_tokens_sold,
max_eth_sold,
deadline,
recipient,
exchange_addr
)
.send();Parameter
Type
Description
tokens_bought
uint256
Amount of output ERC20 tokens bought
max_tokens_sold
uint256
Maximum input ERC20 tokens bought
max_eth_sold
uint256
Maximum ETH bought as intermediary
deadline
uint256
Transaction deadline
recipient
address
Address that receives output ERC20 tokens
exchange_addr
address
Address of output ERC20 token exchange
Returns
uint256
Amount of input ERC20 tokens sold
getEthToTokenInputPrice
@constant
getEthToTokenInputPrice(eth_sold: uint256): uint256exchangeContract.methods.getEthToTokenInputPrice(eth_sold).call();Parameter
Type
Description
eth_sold
uint256
Amount of ETH sold
Returns
uint256
Amount of ERC20 tokens that can be bought
getEthToTokenOutputPrice
@constant
getEthToTokenOutputPrice(tokens_bought: uint256): uint256exchangeContract.methods.getEthToTokenOutputPrice(tokens_bought).call();Parameter
Type
Description
tokens_bought
uint256
Amount of ERC20 tokens bought
Returns
uint256
Amount of ETH that must be sold
getTokenToEthInputPrice
@constant
getTokenToEthInputPrice(tokens_sold: uint256): uint256exchangeContract.methods.getTokenToEthInputPrice(tokens_sold).call();Parameter
Type
Description
tokens_sold
uint256
Amount of ERC20 tokens sold
Returns
uint256
Amount of ETH that can be bought
getTokenToEthOutputPrice
@constant
getTokenToEthOutputPrice(eth_bought: uint256): uint256exchangeContract.methods.getTokenToEthOutputPrice(eth_bought).call();Parameter
Type
Description
eth_bought
uint256
Amount of ETH bought
Returns
uint256
Amount of ERC20 tokens that must be sold
tokenAddress
@constant
tokenAddress(): addressexchangeContract.methods.tokenAddress().call();Returns
address
Address of ERC20 token sold on exchange
factoryAddress
@constant
factoryAddress(): addressexchangeContract.methods.factoryAddress().call();Returns
address
Address of factory that created exchange
name
// all exchange contracts have the same name
@constant
name(): bytes32 // Uniswap V1exchangeContract.methods.tokenAddress().call();Returns
bytes32
Name of liquidity token
symbol
// all exchange contracts have the same symbol
@constant
symbol(): bytes32 // UNI-V1exchangeContract.methods.tokenAddress().call();Returns
bytes32
Symbol of liquidity token
decimals
// all exchange contracts have the same decimals
@constant
decimals(): uint256 // 18exchangeContract.methods.decimals().call();Returns
uint256
Decimals of liquidity token
balanceOf
@constant
balanceOf(_owner: address): uint256exchangeContract.methods.balanceOf(_owner).call();Parameter
Type
Description
_owner
address
Ethereum address
Returns
uint256
Liquidity token balance of address
transfer
transfer(
_to: address,
_value : uint256
): boolexchangeContract.methods.transfer(_to, _value).send();Parameter
Type
Description
_to
address
Recipient address
_value
uint256
Amount transferred
Returns
bool
True if successful. Reverts or false on failure
transferFrom
transferFrom(
_from: address,
_to: address,
_value : uint256
): boolexchangeContract.methods.transferFrom(_from, _to, _value).send();Parameter
Type
Description
_from
address
Sender address
_to
address
Recipient address
_value
uint256
Amount transferred
Returns
bool
True if successful. Reverts or false on failure
approve
approve(
_spender: address,
_value: uint256
): boolexchangeContract.methods.approve(_spender, _value).send();Parameter
Type
Description
_spender
address
Address of approved spender
_value
uint256
Spender allowance
Returns
bool
True if successful. Reverts or false on failure
allowance
allowance(
_owner: address,
_spender: address
): uint256exchangeContract.methods.allowance(_owner, _spender).call();Parameter
Type
Description
_owner
address
Address of liquidity token owner
_spender
uint256
Address of approved spender
Returns
uint256
Spender allowance
Last updated