KyberSwap Docs
  • Introduction to KyberSwap
  • Getting Started
    • Quickstart
      • FAQ
    • Supported Exchanges And Networks
    • Foundational Topics
      • Decentralized Finance
        • Tokens
        • Stablecoins
        • DEX/DeFi Aggregator
        • Slippage
        • Price Impact
        • Zap
        • Maximal Extractable Value (MEV)
      • Decentralized Technologies
        • Wallets
        • Dapps
        • RPC
        • Oracles
        • On-Chain vs Off-Chain Data
      • Other Valuable Resources
  • KyberSwap Solutions
    • KyberSwap Interface
      • User Guides
        • Connect Your Wallet
        • Switching Networks
        • Instantly Swap At Superior Rates
        • Swap At Your Preferred Rates
        • Cross-chain Swap
        • Add Your Favourite Tokens
        • Get Crypto With Fiat
        • Bridge Your Assets Across Multiple Chains
      • Profiles
        • Profile Creation
        • Profile Customization
        • Sync Profile Across Devices
      • Notifications
        • Notification Center
    • KyberSwap Aggregator
      • Concepts
        • Dynamic Trade Routing
      • User Guides
        • Instantly Swap At Superior Rates
      • Developer Guides
        • Execute A Swap With The Aggregator API
        • Upgrading To APIv1
      • Aggregator API Specification
        • EVM Swaps
        • Permit
      • Contracts
        • Aggregator Contract Addresses
      • DEX IDs
      • Subgraphs
      • FAQ
    • KyberSwap Zap as a Service
      • KyberSwap Zap as a Service (ZaaS) API
        • ZaaS HTTP API
        • ZaaS GRPC API
      • KyberSwap Zap Liquidity Widget
      • Zap Fee Model
      • Zap's Supported Chains/Dexes
      • Zap's Deployed Contract Addresses
      • Zap's DEX IDs
    • KyberSwap Widget
      • Developer Guides
        • Integrating The KyberSwap Widget
        • Customizing The KyberSwap Widget
      • iFrame Alternative
      • Widget/iFrame Fee
    • KyberSwap Liquidity Widget
      • Integrating The KyberSwap Liquidity Widget
    • Limit Order
      • Concepts
        • Off-Chain Relay, On-Chain Settlement
        • Gasless Cancellation
      • User Guides
        • Swap At Your Preferred Rates
        • Update Limit Orders
        • Cancel Limit Orders
      • Developer Guides
        • Create Limit Order
        • Gasless Cancel
        • Hard Cancel
        • Fill Limit Order
      • Contracts
        • Limit Order Contract Addresses
      • Limit Order API Specification
        • General APIs
        • Maker APIs
        • Taker APIs
      • FAQ
    • KyberSwap OnChain Price Service
    • Fee Schedule
  • Governance
    • KyberDAO
      • User Guides
        • Participating in KyberDAO
        • Staking
        • Voting
        • Stake KNC And Enjoy Gas Savings
      • Fees to KyberDAO
      • KyberDAO Operator MultiSig
      • Contracts
        • KyberDAO Contract Repo
        • KyberDAO Contract Addresses
      • FAQ - Others
    • KNC Token
      • KNC Tokenomics & Utility
      • Gas Refund Program
      • KNC Contract Addresses
  • Security
    • Audits
  • Reference
    • Legacy
      • KyberSwap Classic
        • Concepts
          • Programmable Pricing Curves
          • Dynamic Auto-Adjusting Fees
          • Virtual Balances
          • Protocol Fees
        • Contracts
          • Classic Contract Repo
          • Classic Contract Addresses
          • Classic Contract Farming Addresses
      • KyberSwap Elastic
        • Concepts
          • Concentrated Liquidity
          • Reinvestment Curve
          • Tick-Range Mechanism
          • Pool Process Flows
          • Anti-Sniping Mechanism
          • Tick-Based Farming
          • Elastic Zap
          • TWAP Oracle
          • Elastic APR Calculations
        • Contracts
          • Elastic Contract Repo
          • Elastic Contract Addresses
          • Elastic Farming Contract Addresses
          • Elastic Zap Contract Addresses
          • Elastic Core Contracts
          • Elastic Core Libraries
          • Elastic Periphery Core Contracts
          • Elastic Peripheral Library Contracts
          • Elastic Peripheral Base Contracts
        • Subgraphs
      • Whitepapers
      • Audits
      • KyberAI
        • KyberScore
        • Concepts
        • On-Chain Indicators
          • Number Of Trades
          • Trading Volume
          • Netflow To Whale Wallets
          • Netflow To CEX
          • Number Of Transfers
          • Volume Of Transfers
          • Number Of Holders
          • Top Holders
        • Technical Indicators
          • Live Charts
          • Support & Resistance Levels
          • Live Trades
          • Funding Rate On CEX
          • Liquidations On CEX
        • Liquidity Analysis
      • Elastic Legacy
        • Elastic Legacy Contract Repo
        • Elastic Legacy Contract Addresses
        • Elastic Legacy Farming Contract Addresses
        • Remove Elastic Legacy Liquidity
      • Protocol
        • Overview
        • Smart Contract Architecture
        • Trust and Security Model
      • Integrations
        • Getting Started
        • Use Cases
        • Integration Types
        • Smart Contracts
        • Ethers JS
        • RESTful API
        • Slippage Rate Protection
        • Price Feed Security
        • Contract Events
        • Platform Fees
      • Reserves
        • Getting Started
          • Overview
          • Why Develop On Kyber
          • Create New Reserve
          • Existing Reserves
          • Customising Existing Reserves
        • Development Guides
          • Fed Price Reserve
          • Automated Price Reserve
          • Reserves with Ganache
          • Orderbook Reserve
        • Operations
          • Listing Policies
          • Reserve IDs
          • Reserve Rebates
          • Sanity Rates
      • Addresses
        • Introduction
        • Mainnet
        • Kovan
        • Rinkeby
        • Ropsten
      • API/ABI
        • Introduction
        • RESTful API
          • RESTful API Overview
          • RESTful API
        • Core Smart Contracts
          • IKyberNetworkProxy
          • KyberNetworkProxy
          • IKyberNetwork
          • ISimpleKyberProxy
          • IKyberMatchingEngine
          • KyberMatchingEngine
          • IKyberHint
          • KyberHintHandler
          • IKyberHintHandler
          • IKyberFeeHandler
          • IKyberStaking
          • KyberStaking
          • IKyberDao
          • KyberDao
          • IKyberStorage
          • KyberStorage
          • IKyberHistory
          • KyberHistory
          • IKyberReserve
          • KyberReserve
          • ConversionRates
          • LiquidityConversionRates
          • EpochUtils
          • IEpochUtils
          • KyberFeeHandler
        • Contract ABIs
          • ABIs
        • Code Snippets
          • Token Quantity Conversion
        • Misc Contracts
          • KyberNetwork
          • ConversionRatesInterface
          • PermissionGroups
          • SanityRates
          • Withdrawable
          • OrderbookReserveInterface
          • OrderbookReserveLister
    • KyberSwap Operator MultiSig
    • Permitable Tokens
    • Third-Party Integrations
    • KyberSwap Analytics
    • KyberSwap App
    • GitHub
    • KyberSwap Analytics
    • KyberSwap Blog
    • Kyber Network Press Kit
  • Socials
    • X
    • Discord
    • Telegram
    • LinkedIn
    • Reddit
    • Instagram
    • Tik Tok
  • Support
    • KyberSwap Help Center
    • Complaints Handling Process
Powered by GitBook
On this page
  • KyberNetwork
  • INDEX​
  • REFERENCE​

Was this helpful?

  1. Reference
  2. Legacy
  3. API/ABI
  4. Misc Contracts

KyberNetwork

PreviousMisc ContractsNextConversionRatesInterface

Last updated 2 years ago

Was this helpful?

You are referring to the Legacy version of KyberSwap docs.

For the most updated information, please refer to:

KyberNetwork

is WithdrawableNoModifiers, Utils5, , ReentrancyGuard\ imports WithdrawableNoModifiers, Utils5, ReentrancyGuard, SafeERC20, , , , , , , IGasHelper

Source:


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

\

Event logging the setting of the new KyberFeeHandler contract.


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

\

Event logging the setting of the new KyberMatchingEngine contract.


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

Signature: KyberMatchingEngineUpdated(IKyberMatchingEngine)

\

Event logging the setting of the new GasHelper contract.


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

\

Event logging the setting of the new KyberDao contract.


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

\

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

\

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

\

Event logging the adding of a new proxy contract.


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

\

Event logging the removal of a proxy contract.


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

\

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

\

### `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`.

KyberFeeHandlerUpdated

KyberMatchingEngineUpdated

GasHelperUpdated

KyberDaoUpdated

KyberNetworkParamsSet

KyberNetworkSetEnable

KyberProxyAdded

KyberProxyRemoved

ListedReservesForToken

Functions

Classic
Elastic
Limit Order
Aggregator
IKyberNetwork
IKyberNetwork
IKyberReserve
IKyberFeeHandler
IKyberDao
IKyberMatchingEngine
IKyberStorage
KyberNetwork.sol
​
​
​
​
​
​
​
​
​
​
​
​
​
​