smart-contracts
smart-contracts copied to clipboard
Main smart contracts for Kyber Network, including the main platform contract, reserve contracts etc.
Introduction
This repository contains kyber network smart contracts. For more details, please visit our developer portal
API
Public facing interfaces for kyber network (folder: contracts/sol6):
- IKyberNetworkProxy.sol - Get rate and trade APIs. Hint handler address.
- ISimpleKyberProxy.sol - Simple trade functions.
- IKyberHintHandler.sol - Build hints for advanced trade functionality.
- IKyberDao - Interact with KyberDao.
- Dao/IKyberStaking - interact with KyberStaking.
Setup
- Clone this repo
-
npm ci
Compilation with Buidler
-
./cmp.sh
to compile contracts for all solidity versions. -
./cmpSol6.sh
to compile only sol6 contracts
Testing with Buidler
- If contracts have not been compiled, run
./cmp.sh
. This step can be skipped subsequently. - Run
./tst.sh
- Use
-f
for running a specific test file. - Use
-a
to run tests for all solidity versions. Runs only sol6 tests by default.
Example Commands
./tst.sh
(Run only sol6 tests)
./tst.sh -f ./test/sol4/kyberReserve.js
(Test only kyberReserve.js)
./tst.sh -a
(Run sol4, sol5, sol6 tests)
Example
npx buidler test --no-compile ./test/sol6/kyberNetwork.js
Coverage with buidler-coverage
- Run
./coverage.sh
- Use
-f
for running a specific test file.
Example Commands
./coverage.sh -f ./test/sol6/kyberNetwork.js
(Coverage for only kyberNetwork.js)