For the complete documentation index, see llms.txt. This page is also available as Markdown.

KyberNetwork

KyberNetwork

is WithdrawableNoModifiers, Utils5, IKyberNetwork, ReentrancyGuard\ imports WithdrawableNoModifiers, Utils5, ReentrancyGuard, SafeERC20, IKyberNetwork, IKyberReserve, IKyberFeeHandler, IKyberDao, IKyberMatchingEngine, IKyberStorage, IGasHelper

Source: KyberNetwork.sol


INDEX

<AUTOGENERATED_TABLE_OF_CONTENTS>

REFERENCE

Events

EtherReceival

Event logging the receival of ETH in the network contract.


event EtherReceival(address sender, uint256 amount) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | sender | address | sender's address | | amount | uint256 | amount of ETH received in wei | Signature: 0x75f33ed68675112c77094e7c5b073890598be1d23e27cd7f6907b4a7d98ac619

\

KyberFeeHandlerUpdated

Event logging the setting of the new KyberFeeHandler contract.


event KyberFeeHandlerUpdated(IKyberFeeHandler newKyberFeeHandler) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | newKyberFeeHandler | IKyberFeeHandler | new KyberFeeHandler contract | Signature: 0x5128fc9be01065f3cabe4c8b72796eb6b8a00284f39a2390cd71e91b509f90b6

\

KyberMatchingEngineUpdated

Event logging the setting of the new KyberMatchingEngine contract.


event KyberMatchingEngineUpdated(IKyberMatchingEngine newKyberMatchingEngine) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | newKyberMatchingEngine | IKyberMatchingEngine | //TODO: description |

Signature: KyberMatchingEngineUpdated(IKyberMatchingEngine)

\

GasHelperUpdated

Event logging the setting of the new GasHelper contract.


event GasHelperUpdated(IGasHelper newGasHelper) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | newGasHelper | IGasHelper | new GasHelper contract | Signature: 0x95ba6becebde78de944071b522d81414292f67e3d95db7d9df46bb8e8b3da8b8

\

KyberDaoUpdated

Event logging the setting of the new KyberDao contract.


event KyberDaoUpdated(IKyberDao newKyberDao) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | newKyberDao | IKyberDao | new KyberDao contract | Signature: 0x16a2e1af8449067f38aa765b54d479785c94d8ebdfbba7b410e3488b0877c1e4

\

KyberNetworkParamsSet

Event logging the setting of the maxGasPrice and negligibleRateDiffBps params in the network.


event KyberNetworkParamsSet(uint256 maxGasPrice, uint256 negligibleRateDiffBps) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | maxGasPrice | uint256 | maximum gas price limit to prevent front running | | negligibleRateDiffBps | uint256 | negligible rate difference in BPS | Signature: 0xc1e6729d7fd9a615adc03ebe7d8ff15649d8eed7516bf6c30538a1e722bb1975

\

KyberNetworkSetEnable

Event logging the enabling or disabling of trading in the network


event KyberNetworkSetEnable(bool isEnabled) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | isEnabled | bool | true if network is enabled, otherwise false | Signature: 0x8a846a525e22497042ee2f99423a8ff8bbb831d3ae5384692bf6040f591c1eba

\

KyberProxyAdded

Event logging the adding of a new proxy contract.


event KyberProxyAdded(address kyberProxy) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | kyberProxy | address | added KyberNetworkProxy contract | Signature: 0x0b008ff10c7e378a96d6566635e1aa748886d16fb87659faee2aa20608fec815

\

KyberProxyRemoved

Event logging the removal of a proxy contract.


event KyberProxyRemoved(address kyberProxy) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | kyberProxy | address | removed KyberNetworkProxy contract | Signature: 0xbb9ee888852ae070b75270fa50ea2845ba32102d3a96842c7c416d12aad2f487

\

ListedReservesForToken

Event logging the listing of a list of reserves for a token.


event ListedReservesForToken(IERC20 token, address[] reserves, bool add) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | token | IERC20 | ERC20 token address | | reserves | address[] | list of reserve addresses | | add | bool | true if to list, false otherwise | Signature: 0xd4b0877e3beef91cd767680ac04114217ec7c9cb3a4705c03fc8061de81168fc

\

Functions

### `tradeWithHint` Makes a trade between src and dest token and send dest tokens to destAddress, with an additional `hint` parameter for reserve routing. Function is backwards compatible to pre-Katalyst.


function tradeWithHint(address payable trader, ERC20 src, uint256 srcAmount, ERC20 dest, address payable destAddress, uint256 maxDestAmount, uint256 minConversionRate, address payable walletId, bytes hint) external payable returns (uint256 destAmount) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | trader | address | trader's address | | src | ERC20 | source ERC20 token contract address | | srcAmount | uint256 | source ERC20 token amount in its token decimals | | dest | ERC20 | destination ERC20 token contract address | | destAddress | address | recipient address for destination ERC20 token | | maxDestAmount | uint256 | limit on the amount of destination tokens | | minConversionRate | uint | minimum conversion rate; trade is canceled if actual rate is lower | | walletId | address | wallet address to send part of the fees to | | hint | bytes | for filtering permissionless reserves | Returns:\ destAmount - Amount of actual destination tokens

### `tradeWithHintAndFee` Executes a trade between src and dest token and send dest tokens to destAddress; includes the platform fee. ___ function __tradeWithHintAndFee__(address payable trader, IERC20 src, uint256 srcAmount, IERC20 dest, address payable destAddress, uint256 maxDestAmount, uint256 minConversionRate, address payable platformWallet, uint256 platformFeeBps, bytes hint) external payable override returns (uint256 destAmount) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | `trader` | address | trader's address | | `src` | IERC20 | source ERC20 token contract address | | `srcAmount` | uint256 | source ERC20 token amount in its token decimals | | `dest` | IERC20 | destination ERC20 token contract address | | `destAddress` | address | recipient address for destination ERC20 token | | `maxDestAmount` | uint256 | limit on the amount of destination tokens | | `minConversionRate` | uint256 | minimum conversion rate; trade is canceled if actual rate is lower | | `platformWallet` | address | address receiving the platform fee | | `platformFeeBps` | uint256 | platform fee in BPS to be used in this trade | | `hint` | bytes | hint in bytes for reserve routing | **Returns:**\ destAmount - Amount of actual destination tokens in twei ### `getExpectedRateWithHintAndFee` Get the token conversion rate after processing the hint and includes the platform fee. ___ function __getExpectedRateWithHintAndFee__(IERC20 src, IERC20 dest, uint256 srcQty, uint256 platformFeeBps, bytes hint) external view override returns (uint256 rateWithNetworkFee, uint256 rateWithAllFees) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | `src` | IERC20 | source ERC20 token contract address | | `dest` | IERC20 | destination ERC20 token contract address | | `srcQty` | uint256 | source ERC20 token amount in its token decimals | | `platformFeeBps` | uint256 | platform fee in BPS | | `hint` | bytes | hint in bytes for reserve routing | **Returns:**\ rateWithNetworkFee - conversion rate of the src and dest tokens after deducting the network fee. rateWithAllFees - conversion rate of the src and dest tokens after deducting the network and platform fee. ### `getExpectedRate` Get the token expected and worst rates. worstRate is hardcoded as 3% lower of expectedRate. Function is backwards compatible to pre-Katalyst. ___ function __getExpectedRate__(ERC20 src, ERC20 dest, uint256 srcQty) external view returns (uint256 expectedRate, uint256 worstRate) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | `src` | ERC20 | source ERC20 token contract address | | `dest` | ERC20 | destination ERC20 token contract address | | `srcQty` | uint256 | source ERC20 token amount in its token decimals | **Returns:**\ expectedRate - rate for a trade after deducting network fee worstRate - rate for a trade, calculated to be expectedRate * 97 / 100 ### `getNetworkData` Returns basic network data. ___ function __getNetworkData__() external view override returns (uint256 negligibleDiffBps, uint256 networkFeeBps, uint256 expiryTimestamp)\ **Returns:**\ negligibleDiffBps - neglibigle difference in BPS networkFeeBps - network fees in BPS expiryTimestamp - expiry timestamp in epoch time when the network fees will expire and need to be updated ### `getContracts` Returns the Kyber contracts used by the network. ___ function __getContracts__() external returns (IKyberFeeHandler kyberFeeHandlerAddress, IKyberDao kyberDaoAddress, IKyberMatchingEngine kyberMatchingEngineAddress, IKyberStorage kyberStorageAddress, IGasHelper gasHelperAddress, IKyberNetworkProxy[] kyberProxyAddresses)\ **Returns:**\ kyberFeeHandlerAddress - KyberFeeHandler contract address kyberDaoAddress - KyberDao contract address kyberMatchingEngineAddress - KyberMatchingEngine contract address kyberStorageAddress - KyberStorage contract address gasHelperAddress - GasHelper contract address kyberProxyAddresses - array of KyberNetworkProxy contract addresses ### `maxGasPrice` Returns the maximum gas price limit to prevent front running. ___ function __maxGasPrice__() external view override returns (uint256)\ **Returns:**\ The maximum gas price limit ### `enabled` Returns a boolean determining if trading is enabled on the network. ___ function __enabled__() external view override returns (bool)\ **Returns:**\ Returns `true` if the network is enabled for trading, otherwise `false`.

Last updated

Was this helpful?