OrderbookReserveLister

You are referring to the Legacy version of KyberSwap docs.

For the most updated information, please refer to:

contract PermissionlessOrderbookReserveLister

imports OrderbookReserve, FeeBurnerInterface

Source: PermissionlessOrderbookReserveLister.sol

The Permissionless Orderbook Reserve Lister is used for creating, initialising and listing new Permissionless Orderbook Reserves.


INDEX

<AUTOGENERATED_TABLE_OF_CONTENTS>

REFERENCE

Events

TokenOrderbookListingStage

Event for logging of the listing stage of an orderbook reserve for a particular ERC20 token.


event TokenOrderbookListingStage(ERC20 token, ListingStage stage) | Parameter | Type | Description | | --------- |:-----:|:----------------------------:| | token | ERC20 | ERC20 token contract address | | stage | enum ListingStage | Takes 1 of the following values: {NO_RESERVE, RESERVE_ADDED, RESERVE_INIT, RESERVE_LISTED} |

Functions

PermissionlessOrderbookReserveLister

Contract constructor. Note that constructor methods are called exactly once during contract instantiation and cannot be called again.


function PermissionlessOrderbookReserveLister(InternalNetworkInterface kyber, OrderListFactoryInterface factory, MedianizerInterface medianizer, ERC20 knc, uint maxOrders, uint minOrderValueUsd) public | Parameter | Type | Description | | -----------------|:------------------------:|:--------------------------------:| | kyber | InternalNetworkInterface | KyberNetwork contract address | | factory | OrderListFactoryInterface | OrderListFactory contract address | | medianizer | MedianizerInterface | Medianizer contract address | | knc | ERC20 | KNC token contract address | | maxOrders | uint | Maximum number of orders to traverse for 1 trade | | minOrderValueUsd | uint | Minimum USD amount needed to create a new order on a permissionless orderbook reserve |


addOrderbookContract

The first step for creating an orderbook reserve for a specified ERC20 token.


function addOrderbookContract(ERC20 token) public returns (bool) | Parameter | Type | Description | | ----------|:-----:|:------------------------------------------:| | token | ERC20 | ERC20 token contract address | Returns:\ True if the function was executed successfully.


Web3 Example:

// DISCLAIMER: Code snippets in this guide are just examples and you
// should always do your own testing. If you have questions, visit our
// https://t.me/KyberDeveloper.

transactionData = PermissionlessOrderbookReserveLister.methods
  .addOrderbookContract(token)
  .encodeABI();

txReceipt = await web3.eth.sendTransaction({
  from: ADMIN_ADDRESS,
  to: PERMISSIONLESS_ORDERBOOK_RESERVE_LISTER_ADDRESS,
  data: transactionData,
});

getOrderbookListingStage

Get the current listing stage for a specified ERC20 token.


function getOrderbookListingStage(ERC20 token) public view returns (address, ListingStage) | Parameter | Type | Description | | ----------|:-----:|:------------------------------------------:| | token | ERC20 | ERC20 token contract address |

Returns:\ | Parameter | Type | Description | | ----------|:-----:|:------------------------------------------:| | address | address | Orderbook reserve contract address for specified ERC20 token | | ListingStage | ListingStage | Latest successful stage |


Web3 Example:

// DISCLAIMER: Code snippets in this guide are just examples and you
// should always do your own testing. If you have questions, visit our
// https://t.me/KyberDeveloper.

const token = '0xe41d2489571d322189246dafa5ebde1f4699f498'; // ZRX
result = await OrderbookReserve.methods.getOrderbookListingStage(token).call();

initOrderbookContract

The second step for creating an orderbook reserve for a specified ERC20 token.


function initOrderbookContract(ERC20 token) public returns (bool) | Parameter | Type | Description | | ----------|:-----:|:------------------------------------------:| | token | ERC20 | ERC20 token contract address | Returns:\ True if the function was executed successfully.


Web3 Example:

// DISCLAIMER: Code snippets in this guide are just examples and you
// should always do your own testing. If you have questions, visit our
// https://t.me/KyberDeveloper.

transactionData = PermissionlessOrderbookReserveLister.methods
  .initOrderbookContract(token)
  .encodeABI();

txReceipt = await web3.eth.sendTransaction({
  from: ADMIN_ADDRESS,
  to: PERMISSIONLESS_ORDERBOOK_RESERVE_LISTER_ADDRESS,
  data: transactionData,
});

listOrderbookContract

The third and final step for creating an orderbook reserve for a specified ERC20 token.


function listOrderbookContract(ERC20 token) public returns (bool) | Parameter | Type | Description | | ----------|:-----:|:------------------------------------------:| | token | ERC20 | ERC20 token contract address | Returns:\ True if the function was executed successfully.


Web3 Example:

// DISCLAIMER: Code snippets in this guide are just examples and you
// should always do your own testing. If you have questions, visit our
// https://t.me/KyberDeveloper.

transactionData = PermissionlessOrderbookReserveLister.methods
  .listOrderbookContract(token)
  .encodeABI();

txReceipt = await web3.eth.sendTransaction({
  from: ADMIN_ADDRESS,
  to: PERMISSIONLESS_ORDERBOOK_RESERVE_LISTER_ADDRESS,
  data: transactionData,
});

unlistOrderbookContract

Unlist an orderbook reserve for a specified ERC20 token.


function unlistOrderbookContract(ERC20 token, uint hintReserveIndex) public returns (bool) | Parameter | Type | Description | | ----------|:-----:|:------------------------------------------:| | token | ERC20 | ERC20 token contract address | | hintReserveIndex | uint | index in Kyber Network reserve array | Returns:\ True if the reserve was successfully removed.


Web3 Example:

// DISCLAIMER: Code snippets in this guide are just examples and you
// should always do your own testing. If you have questions, visit our
// https://t.me/KyberDeveloper.

transactionData = PermissionlessOrderbookReserveLister.methods
  .unlistOrderbookContract(token, hintReserveIndex)
  .encodeABI();

txReceipt = await web3.eth.sendTransaction({
  from: ADMIN_ADDRESS,
  to: PERMISSIONLESS_ORDERBOOK_RESERVE_LISTER_ADDRESS,
  data: transactionData,
});

Last updated