Skip to content

Commit 24f82dd

Browse files
authored
Merge pull request #565 from KyberNetwork/ilan/deployEnhancedStepFunctionsRate
Add script to deploy enhanced step functions contract.
2 parents b688b26 + 70a4b3c commit 24f82dd

File tree

3 files changed

+372
-22
lines changed

3 files changed

+372
-22
lines changed

contracts/wrappers/SetStepFunctionWrapper.sol

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,18 @@ pragma solidity ^0.4.18;
33
import "../ERC20Interface.sol";
44
import "../Withdrawable.sol";
55

6+
67
interface SetStepFunctionInterface {
7-
function setImbalanceStepFunction(
8-
ERC20 token,
9-
int[] xBuy,
10-
int[] yBuy,
11-
int[] xSell,
12-
int[] ySell
13-
) public;
8+
function setImbalanceStepFunction(
9+
ERC20 token,
10+
int[] xBuy,
11+
int[] yBuy,
12+
int[] xSell,
13+
int[] ySell
14+
) public;
1415
}
1516

16-
contract SetStepFunctionWrapper is Withdrawable {
17+
contract SetStepFunctionWrapper2 is Withdrawable {
1718
SetStepFunctionInterface public rateContract;
1819
function SetStepFunctionWrapper(address admin, address operator) public {
1920
addOperator(operator);
@@ -24,23 +25,34 @@ contract SetStepFunctionWrapper is Withdrawable {
2425
rateContract = _contract;
2526
}
2627

27-
function setImbalanceStepFunction(ERC20 token,
28-
int[] xBuy,
29-
int[] yBuy,
30-
int[] xSell,
31-
int[] ySell) public onlyOperator {
28+
function setImbalanceStepFunction(
29+
ERC20 token,
30+
int[] xBuy,
31+
int[] yBuy,
32+
int[] xSell,
33+
int[] ySell)
34+
public onlyOperator
35+
{
3236
uint i;
3337

34-
// check all x for buy are positive and y are negative
38+
// check all x for buy are positive
3539
for( i = 0 ; i < xBuy.length ; i++ ) {
36-
require(xBuy[i] >= 0 );
37-
require(yBuy[i] <= 0 );
40+
require(xBuy[i] >= 0 );
41+
}
42+
43+
// check all y for buy are negative
44+
for( i = 0 ; i < yBuy.length ; i++ ) {
45+
require(yBuy[i] <= 0 );
3846
}
3947

40-
// check all x for sell are negative and y are negative
48+
// check all x for sell are negative
4149
for( i = 0 ; i < xSell.length ; i++ ) {
42-
require(xSell[i] <= 0 );
43-
require(ySell[i] <= 0 );
50+
require(xSell[i] <= 0 );
51+
}
52+
53+
// check all y for sell are negative
54+
for( i = 0 ; i < ySell.length ; i++ ) {
55+
require(ySell[i] <= 0 );
4456
}
4557

4658
rateContract.setImbalanceStepFunction(token,xBuy,yBuy,xSell,ySell);

web3deployment/compileContracts.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@ const solc = require('solc');
44
const contractPath = path.join(__dirname, "../contracts/");
55
const input = {
66
"ConversionRates.sol" : fs.readFileSync(contractPath + 'reserves/fprConversionRate/ConversionRates.sol','utf8'),
7-
"VolumeImbalanceRecorder.sol" : fs.readFileSync(contractPath + 'reserves/VolumeImbalanceRecorder.sol', 'utf8'),
7+
"EnhancedStepFunctions.sol" : fs.readFileSync(contractPath + 'reserves/fprConversionRate/EnhancedStepFunctions.sol', 'utf8'),
88
"ConversionRatesInterface.sol" : fs.readFileSync(contractPath + 'ConversionRatesInterface.sol', 'utf8'),
9+
"reserves/fprConversionRate/ConversionRates.sol" : fs.readFileSync(contractPath + 'reserves/fprConversionRate/ConversionRates.sol','utf8'),
10+
"reserves/VolumeImbalanceRecorder.sol" : fs.readFileSync(contractPath + 'reserves/VolumeImbalanceRecorder.sol', 'utf8'),
11+
"VolumeImbalanceRecorder.sol" : fs.readFileSync(contractPath + 'reserves/VolumeImbalanceRecorder.sol', 'utf8'),
912
"PermissionGroups.sol" : fs.readFileSync(contractPath + 'PermissionGroups.sol', 'utf8'),
1013
"ERC20Interface.sol" : fs.readFileSync(contractPath + 'ERC20Interface.sol', 'utf8'),
1114
"ExpectedRate.sol" : fs.readFileSync(contractPath + 'ExpectedRate.sol', 'utf8'),
@@ -36,14 +39,13 @@ const input = {
3639
"Utils.sol" : fs.readFileSync(contractPath + 'Utils.sol', 'utf8'),
3740
"Utils2.sol" : fs.readFileSync(contractPath + 'Utils2.sol', 'utf8'),
3841
"Utils3.sol" : fs.readFileSync(contractPath + 'Utils3.sol', 'utf8'),
39-
"reserves/fprConversionRate/ConversionRates.sol" : fs.readFileSync(contractPath + 'reserves/fprConversionRate/ConversionRates.sol','utf8'),
40-
"reserves/VolumeImbalanceRecorder.sol" : fs.readFileSync(contractPath + 'reserves/VolumeImbalanceRecorder.sol', 'utf8'),
4142
"Withdrawable.sol" : fs.readFileSync(contractPath + 'Withdrawable.sol', 'utf8'),
4243
"WhiteList.sol" : fs.readFileSync(contractPath + 'WhiteList.sol', 'utf8'),
4344
"WhiteListInterface.sol" : fs.readFileSync(contractPath + 'WhiteListInterface.sol', 'utf8'),
4445
"WrapFeeBurner.sol" : fs.readFileSync(contractPath + 'wrappers/WrapFeeBurner.sol', 'utf8'),
4546
"KyberUniswapReserve.sol" : fs.readFileSync(contractPath + 'reserves/bridgeReserves/uniswap/KyberUniswapReserve.sol', 'utf8'),
4647
"WrapperBase.sol" : fs.readFileSync(contractPath + 'wrappers/WrapperBase.sol', 'utf8'),
48+
"SetStepFunctionWrapper.sol" : fs.readFileSync(contractPath + 'wrappers/SetStepFunctionWrapper.sol', 'utf8'),
4749
"WrapConversionRate.sol" : fs.readFileSync(contractPath + 'wrappers/WrapConversionRate.sol', 'utf8'),
4850
"WrapReadTokenData.sol" : fs.readFileSync(contractPath + 'wrappers/WrapReadTokenData.sol', 'utf8')
4951
};

0 commit comments

Comments
 (0)