@@ -71,51 +71,137 @@ var tokens = ["0xdee50257770afe2a63d1d1e8f0506b1cabbd17c4",
71
71
72
72
var baseRate = [ 2 , 4 , 8 ] ;
73
73
74
+ var tokenNames = [ "gnt" , "dgd" , "gno" ] ;
75
+ // GNT, DGD and GNO
76
+
74
77
var ether = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" ;
75
78
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
+
76
139
77
140
var counter = 0 ;
78
141
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 ) {
91
143
var rates = [ ] ;
92
144
var sources = [ ] ;
93
145
var dests = [ ] ;
94
146
var i ;
95
147
for ( i = 0 ; i < tokens . length ; i ++ ) {
96
148
sources . push ( tokens [ i ] ) ;
97
149
dests . push ( ether ) ;
98
- rates . push ( new BigNumber ( parseInt ( priceChange * baseRate [ i ] * ( Math . pow ( 10 , 18 ) ) ) . toString ( ) ) ) ;
99
150
}
100
151
101
152
for ( i = 0 ; i < tokens . length ; i ++ ) {
102
153
sources . push ( ether ) ;
103
154
dests . push ( tokens [ i ] ) ;
104
- rates . push ( new BigNumber ( parseInt ( ( Math . pow ( 10 , 18 ) ) / ( priceChange * baseRate [ i ] ) ) . toString ( ) ) ) ;
105
155
}
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
+ } ;
106
184
185
+ var printRates = function ( ) {
107
186
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 ) ) ;
110
189
}
111
190
112
- console . log ( counter ) ;
113
-
114
- updatePrices ( privateKey , sources , dests , rates , callback ) ;
115
191
} ;
116
192
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 ) ;
119
205
} ) ;
120
206
121
207
@@ -139,3 +225,6 @@ updatePrices( privateKey, [tokens[0]], [tokens[3]], [3], function(err,result){
139
225
140
226
});
141
227
*/
228
+
229
+
230
+
0 commit comments