Skip to content

Commit ff4bb27

Browse files
committedJul 16, 2017
real feeds
1 parent 728f79a commit ff4bb27

File tree

1 file changed

+110
-21
lines changed

1 file changed

+110
-21
lines changed
 

‎priceChangerScript.js

+110-21
Original file line numberDiff line numberDiff line change
@@ -71,51 +71,137 @@ var tokens = ["0xdee50257770afe2a63d1d1e8f0506b1cabbd17c4",
7171

7272
var baseRate = [2,4,8];
7373

74+
var tokenNames = ["gnt", "dgd", "gno" ];
75+
// GNT, DGD and GNO
76+
7477
var ether = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
7578

79+
var getHttpString = function( source, dest ) {
80+
return "http://kynetapp.azurewebsites.net/api/RatesCrosser/GetNormalizedPrice?token1=" +
81+
source +
82+
"&token2=" +
83+
dest;
84+
};
85+
86+
87+
var getRealPrice = function( client, src, dest, callback ) {
88+
var string = getHttpString(src,dest);
89+
client.get(string, function (data, response) {
90+
console.log( string);
91+
console.log(data.ask);
92+
// parsed response body as js object
93+
callback(null, new BigNumber( (Number.parseFloat(data.ask) * Math.pow(10,18)).toString() ) );
94+
//console.log(data.ask);
95+
// raw response
96+
//console.log(response);
97+
});
98+
};
99+
100+
var getAllEthPrices = function( client, callback ) {
101+
var array = [];
102+
getRealPrice( client, "eth",tokenNames[0],function(err,result){
103+
if( err ) return callback(err,null);
104+
array.push(result);
105+
106+
getRealPrice( client, "eth", tokenNames[1], function(err,result){
107+
if( err ) return callback(err,null);
108+
array.push(result);
109+
110+
getRealPrice(client, "eth", tokenNames[2], function(err,result){
111+
if( err ) return callback(err,null);
112+
array.push(result);
113+
callback(null, array);
114+
});
115+
});
116+
});
117+
};
118+
119+
var getAllTokenPrices = function( client, callback ) {
120+
var array = [];
121+
getRealPrice( client, tokenNames[0], "eth", function(err,result){
122+
if( err ) return callback(err,null);
123+
array.push(result);
124+
125+
getRealPrice( client, tokenNames[1], "eth", function(err,result){
126+
if( err ) return callback(err,null);
127+
array.push(result);
128+
129+
getRealPrice(client, tokenNames[2], "eth", function(err,result){
130+
if( err ) return callback(err,null);
131+
array.push(result);
132+
callback(null, array);
133+
});
134+
});
135+
});
136+
};
137+
138+
76139

77140
var counter = 0;
78141

79-
var update = function(callback) {
80-
var period = counter++ % 20;
81-
var expFactor = 1;
82-
if( period >= 10 ) {
83-
expFactor = 20 - period;
84-
}
85-
else {
86-
expFactor = period;
87-
}
88-
89-
var priceChange = Math.pow( 1.005, expFactor );
90-
142+
var update = function(client, callback) {
91143
var rates = [];
92144
var sources = [];
93145
var dests = [];
94146
var i;
95147
for ( i = 0 ; i < tokens.length ; i++ ) {
96148
sources.push(tokens[i]);
97149
dests.push(ether);
98-
rates.push( new BigNumber( parseInt(priceChange * baseRate[i] * (Math.pow(10,18))).toString() ) );
99150
}
100151

101152
for ( i = 0 ; i < tokens.length ; i++ ) {
102153
sources.push(ether);
103154
dests.push(tokens[i]);
104-
rates.push( new BigNumber(parseInt((Math.pow(10,18))/(priceChange * baseRate[i])).toString()) );
105155
}
156+
157+
getAllTokenPrices( client, function(err,result){
158+
if( err ) return callback(err,null);
159+
for( i = 0 ; i < result.length ; i++ ) {
160+
rates.push(result[i]);
161+
}
162+
163+
getAllEthPrices( client, function(err, result){
164+
if( err ) return callback(err,null);
165+
for( i = 0 ; i < result.length ; i++ ) {
166+
rates.push(result[i]);
167+
}
168+
169+
for( var i = 0 ; i < tokens.length ; i++ ){
170+
//console.log(reserve.getPairInfo( tokens[i], ether ) );
171+
//console.log(reserve.getPairInfo( ether, tokens[i] ) );
172+
173+
console.log( rates[i].toString(10));
174+
console.log( rates[i+tokens.length].toString(10));
175+
}
176+
177+
console.log(counter);
178+
179+
updatePrices( privateKey, sources, dests, rates, callback );
180+
});
181+
182+
});
183+
};
106184

185+
var printRates = function() {
107186
for( var i = 0 ; i < tokens.length ; i++ ){
108-
console.log(reserve.getPairInfo( tokens[i], ether ) );
109-
console.log(reserve.getPairInfo( ether, tokens[i] ) );
187+
console.log(reserve.getPairInfo( tokens[i], ether )[0].toString(10) );
188+
console.log(reserve.getPairInfo( ether, tokens[i] )[0].toString(10) );
110189
}
111190

112-
console.log(counter);
113-
114-
updatePrices( privateKey, sources, dests, rates, callback );
115191
};
116192

117-
setInterval(update,1000 * 60 * 5, function(err,result){
118-
console.log(err,result);
193+
var Client = require('node-rest-client').Client;
194+
var client = new Client();
195+
console.log("open");
196+
/*
197+
update(client,function(err,result){
198+
console.log(err,result);
199+
});*/
200+
printRates();
201+
202+
203+
setInterval(update,1000 * 60 * 1, client, function(err,result){
204+
console.log(err,result);
119205
});
120206

121207

@@ -139,3 +225,6 @@ updatePrices( privateKey, [tokens[0]], [tokens[3]], [3], function(err,result){
139225
140226
});
141227
*/
228+
229+
230+

0 commit comments

Comments
 (0)