KyberNetwork
You are referring to the Legacy
version of KyberSwap docs.
For the most updated information, please refer to:
Classic
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
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
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
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
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
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
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
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
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
KyberProxyRemoved
Event logging the removal of a proxy contract.
event KyberProxyRemoved(address kyberProxy) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | kyberProxy
| address | removed KyberNetworkProxy contract | Signature: 0xbb9ee888852ae070b75270fa50ea2845ba32102d3a96842c7c416d12aad2f487
ListedReservesForToken
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