aboutsummaryrefslogtreecommitdiffstats
path: root/src/artifacts/Exchange.json
blob: 2c02bda11a8d886f5c0d9b2b8e5d8f791141ff14 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
{
  "contract_name": "Exchange",
  "abi": [
    {
      "constant": false,
      "inputs": [
        {
          "name": "orderAddresses",
          "type": "address[5]"
        },
        {
          "name": "orderValues",
          "type": "uint256[6]"
        },
        {
          "name": "cancelValueT",
          "type": "uint256"
        }
      ],
      "name": "cancel",
      "outputs": [
        {
          "name": "cancelledValueT",
          "type": "uint256"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "denominator",
          "type": "uint256"
        },
        {
          "name": "numerator",
          "type": "uint256"
        },
        {
          "name": "target",
          "type": "uint256"
        }
      ],
      "name": "isRoundingError",
      "outputs": [
        {
          "name": "isError",
          "type": "bool"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "filled",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "cancelled",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "value",
          "type": "uint256"
        },
        {
          "name": "fillValue",
          "type": "uint256"
        },
        {
          "name": "target",
          "type": "uint256"
        }
      ],
      "name": "getPartialValue",
      "outputs": [
        {
          "name": "partialValue",
          "type": "uint256"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "orderAddresses",
          "type": "address[5][]"
        },
        {
          "name": "orderValues",
          "type": "uint256[6][]"
        },
        {
          "name": "cancelValuesT",
          "type": "uint256[]"
        }
      ],
      "name": "batchCancel",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "orderAddresses",
          "type": "address[5][]"
        },
        {
          "name": "orderValues",
          "type": "uint256[6][]"
        },
        {
          "name": "fillValueT",
          "type": "uint256"
        },
        {
          "name": "shouldCheckTransfer",
          "type": "bool"
        },
        {
          "name": "v",
          "type": "uint8[]"
        },
        {
          "name": "r",
          "type": "bytes32[]"
        },
        {
          "name": "s",
          "type": "bytes32[]"
        }
      ],
      "name": "fillUpTo",
      "outputs": [
        {
          "name": "filledValueT",
          "type": "uint256"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "a",
          "type": "uint256"
        },
        {
          "name": "b",
          "type": "uint256"
        }
      ],
      "name": "min",
      "outputs": [
        {
          "name": "min",
          "type": "uint256"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "pubKey",
          "type": "address"
        },
        {
          "name": "hash",
          "type": "bytes32"
        },
        {
          "name": "v",
          "type": "uint8"
        },
        {
          "name": "r",
          "type": "bytes32"
        },
        {
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "isValidSignature",
      "outputs": [
        {
          "name": "isValid",
          "type": "bool"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "orderAddresses",
          "type": "address[5]"
        },
        {
          "name": "orderValues",
          "type": "uint256[6]"
        },
        {
          "name": "fillValueT",
          "type": "uint256"
        },
        {
          "name": "shouldCheckTransfer",
          "type": "bool"
        },
        {
          "name": "v",
          "type": "uint8"
        },
        {
          "name": "r",
          "type": "bytes32"
        },
        {
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "fill",
      "outputs": [
        {
          "name": "filledValueT",
          "type": "uint256"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "orderAddresses",
          "type": "address[5][]"
        },
        {
          "name": "orderValues",
          "type": "uint256[6][]"
        },
        {
          "name": "fillValuesT",
          "type": "uint256[]"
        },
        {
          "name": "shouldCheckTransfer",
          "type": "bool"
        },
        {
          "name": "v",
          "type": "uint8[]"
        },
        {
          "name": "r",
          "type": "bytes32[]"
        },
        {
          "name": "s",
          "type": "bytes32[]"
        }
      ],
      "name": "batchFill",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "orderAddresses",
          "type": "address[5][]"
        },
        {
          "name": "orderValues",
          "type": "uint256[6][]"
        },
        {
          "name": "fillValuesT",
          "type": "uint256[]"
        },
        {
          "name": "v",
          "type": "uint8[]"
        },
        {
          "name": "r",
          "type": "bytes32[]"
        },
        {
          "name": "s",
          "type": "bytes32[]"
        }
      ],
      "name": "batchFillOrKill",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "PROXY",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "orderHash",
          "type": "bytes32"
        }
      ],
      "name": "getUnavailableValueT",
      "outputs": [
        {
          "name": "unavailableValueT",
          "type": "uint256"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "orderAddresses",
          "type": "address[5]"
        },
        {
          "name": "orderValues",
          "type": "uint256[6]"
        }
      ],
      "name": "getOrderHash",
      "outputs": [
        {
          "name": "orderHash",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "ZRX",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "orderAddresses",
          "type": "address[5]"
        },
        {
          "name": "orderValues",
          "type": "uint256[6]"
        },
        {
          "name": "fillValueT",
          "type": "uint256"
        },
        {
          "name": "v",
          "type": "uint8"
        },
        {
          "name": "r",
          "type": "bytes32"
        },
        {
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "fillOrKill",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_zrx",
          "type": "address"
        },
        {
          "name": "_proxy",
          "type": "address"
        }
      ],
      "payable": false,
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "maker",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "taker",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "feeRecipient",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "tokenM",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "tokenT",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "filledBy",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "valueM",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "valueT",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "feeM",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "feeT",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "expiration",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "filledValueT",
          "type": "uint256"
        },
        {
          "indexed": true,
          "name": "tokens",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "orderHash",
          "type": "bytes32"
        }
      ],
      "name": "LogFill",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "maker",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "feeRecipient",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "tokenM",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "tokenT",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "valueM",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "valueT",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "feeM",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "feeT",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "expiration",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "cancelledValueT",
          "type": "uint256"
        },
        {
          "indexed": true,
          "name": "tokens",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "orderHash",
          "type": "bytes32"
        }
      ],
      "name": "LogCancel",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "errorId",
          "type": "uint8"
        },
        {
          "indexed": true,
          "name": "orderHash",
          "type": "bytes32"
        }
      ],
      "name": "LogError",
      "type": "event"
    }
  ],
  "unlinked_binary": "0x60606040523461000057604051604080611daa8339810160405280516020909101515b60008054600160a060020a03808516600160a060020a03199283161790925560018054928416929091169190911790555b50505b611d45806100656000396000f300606060405236156100d55763ffffffff60e060020a60003504166308eb4e9881146100da57806314df96ee1461014a578063288cdc91146101745780632ac1262214610196578063441b1b44146101b857806350ec2a6a146101e057806359b257201461032a5780637ae2b5c7146104e95780638163681e1461050e578063909f617e1461054a578063914ff398146105d4578063a2e855a5146107ce578063a8c92d48146109c0578063aae62507146109e9578063cfc4d0ec14610a0b578063d40fa8bf14610a79578063ddefdb9014610aa2575b610000565b34610000576040805160a08181019092526101389160049160a4918390600590839083908082843750506040805160c08181019092529496958181019594509250600691508390839080828437509395505092359250610b27915050565b60408051918252519081900360200190f35b3461000057610160600435602435604435610e9f565b604080519115158252519081900360200190f35b3461000057610138600435610ebe565b60408051918252519081900360200190f35b3461000057610138600435610ed0565b60408051918252519081900360200190f35b3461000057610138600435602435604435610ee2565b60408051918252519081900360200190f35b346100005761016060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b82821015610257576040805160a0818101909252908084028701906005908390839080828437505050918352505060019091019060200161021b565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156102ca576040805160c0818101909252908084028701906006908390839080828437505050918352505060019091019060200161028e565b50505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610f0195505050505050565b604080519115158252519081900360200190f35b346100005761013860048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156103a1576040805160a08181019092529080840287019060059083908390808284375050509183525050600190910190602001610365565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b82821015610414576040805160c081810190925290808402870190600690839083908082843750505091835250506001909101906020016103d8565b5050604080516020878301358901803582810280850184019095528084529799893599838101351515999198506060019650929450810192829185019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750949650610f6c95505050505050565b60408051918252519081900360200190f35b3461000057610138600435602435611075565b60408051918252519081900360200190f35b3461000057610160600160a060020a036004351660243560ff6044351660643560843561108f565b604080519115158252519081900360200190f35b34610000576040805160a08181019092526101389160049160a4918390600590839083908082843750506040805160c08181019092529496958181019594509250600691508390839080828437509395505083359360208101351515935060ff60408201351692506060810135915060800135611144565b60408051918252519081900360200190f35b346100005761016060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b8282101561064b576040805160a0818101909252908084028701906005908390839080828437505050918352505060019091019060200161060f565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156106be576040805160c08181019092529080840287019060069083908390808284375050509183525050600190910190602001610682565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375050604080516020808901358a01803580830284810184018652818552999b8b3515159b909a950198509296508101945090925082919085019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a9989019892975090820195509350839250850190849080828437509496506116a395505050505050565b604080519115158252519081900360200190f35b346100005761016060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b82821015610845576040805160a08181019092529080840287019060059083908390808284375050509183525050600190910190602001610809565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156108b8576040805160c0818101909252908084028701906006908390839080828437505050918352505060019091019060200161087c565b50505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a99890198929750908201955093508392508501908490808284375094965061175295505050505050565b604080519115158252519081900360200190f35b34610000576109cd611806565b60408051600160a060020a039092168252519081900360200190f35b3461000057610138600435611815565b60408051918252519081900360200190f35b34610000576040805160a08181019092526101389160049160a4918390600590839083908082843750506040805160c0818101909252949695818101959450925060069150839083908082843750939550611841945050505050565b60408051918252519081900360200190f35b34610000576109cd6118fb565b60408051600160a060020a039092168252519081900360200190f35b34610000576040805160a08181019092526101609160049160a4918390600590839083908082843750506040805160c08181019092529496958181019594509250600691508390839080828437509395505083359360ff60208201351693506040810135925060600135905061190a565b604080519115158252519081900360200190f35b604080516101608181018352600080835260208301819052828401819052606083018190526080830181905260a0830181905260c0830181905260e083018190526101008301819052610120830181905261014083018190528351918201909352829080878360209081029190910151600160a060020a031682520187600160209081029190910151600160a060020a031682520187600260209081029190910151600160a060020a031682520187600360209081029190910151600160a060020a031682520187600460209081029190910151600160a060020a03168252018660006020908102919091015182520186600160209081029190910151825201866002602090810291909101518252018660036020908102919091015182520186600460200201518152602001610c5e8888611841565b600019168152509150610c8833600160a060020a03168360000151600160a060020a031614611934565b6101208201514210610cbd57610140820151604051600490600080516020611cfa83398151915290600090a360009250610e96565b610cd88260c00151610cd3846101400151611815565b611944565b9050610ce48482611075565b9250821515610d1657610140820151604051600590600080516020611cfa83398151915290600090a360009250610e96565b610140820151600090815260036020526040902054610d35908461195d565b600360008461014001516000191660001916815260200190815260200160002081905550816040015182606001516040518083600160a060020a0316600160a060020a0316606060020a02815260140182600160a060020a0316600160a060020a0316606060020a028152601401925050506040518091039020600019168260800151600160a060020a03168360000151600160a060020a03167f4565177cd5184f550db0ab57b1d5bc808f8e8ba0adcb13fb257f1e7cf019a2b6856040015186606001518760a001518860c001518960e001518a61010001518b61012001518d8d6101400151604051808a600160a060020a0316600160a060020a0316815260200189600160a060020a0316600160a060020a031681526020018881526020018781526020018681526020018581526020018481526020018381526020018260001916600019168152602001995050505050505050505060405180910390a45b50509392505050565b60006103e882108015610eb457508383830915155b90505b9392505050565b60026020526000908152604090205481565b60036020526000908152604090205481565b6000610eb4610ef18484611985565b856119b1565b90505b9392505050565b6000805b8451811015610f5f57610f55858281518110156100005790602001906020020151858381518110156100005790602001906020020151858481518110156100005790602001906020020151610b27565b505b600101610f05565b600191505b509392505050565b6000805b885181101561106857610fcb8960008151811015610000576020908102909101015160036020020151600160a060020a03168a83815181101561000057602090810291909101015160600151600160a060020a031614611934565b6110508261104b8b84815181101561000057906020019060200201518b85815181101561000057906020019060200201516110068c88611944565b8b8b88815181101561000057906020019060200201518b89815181101561000057906020019060200201518b8a81518110156100005790602001906020020151611144565b61195d565b91508682141561105f57611068565b5b600101610f70565b5b50979650505050505050565b600081831015611086575081611089565b50805b92915050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101869052815190819003603c018120600082815260208381018552928401819052835191825260ff8716828401528184018690526060820185905292516001926080808401939192601f198101928190039091019086866161da5a03f11561000057505060206040510351600160a060020a031686600160a060020a03161490505b95945050505050565b604080516101608181018352600080835260208301819052828401819052606083018190526080830181905260a0830181905260c0830181905260e0830181905261010083018190526101208301819052610140830181905283519182019093528290808b8360209081029190910151600160a060020a03168252018b600160209081029190910151600160a060020a03168252018b600260209081029190910151600160a060020a03168252018b600360209081029190910151600160a060020a03168252018b600460209081029190910151600160a060020a03168252018a6000602090810291909101518252018a6001602090810291909101518252018a6002602090810291909101518252018a6003602090810291909101518252018a60046020020151815260200161127b8c8c611841565b905260208101519092506112b890600160a060020a031615806112b3575033600160a060020a03168360200151600160a060020a0316145b611934565b61012082015142106112ec57610140820151604051600090600080516020611cfa833981519152908290a360009250611696565b6113078260c00151610cd3846101400151611815565b611944565b90506113138882611075565b925082151561134557610140820151604051600190600080516020611cfa83398151915290600090a360009250611696565b6113588260c00151848460a00151610e9f565b1561138657610140820151604051600290600080516020611cfa83398151915290600090a360009250611696565b86801561139a575061139882846119ee565b155b156113c857610140820151604051600390600080516020611cfa83398151915290600090a360009250611696565b6113e66112b3836000015184610140015189898961108f565b611934565b610140820151600090815260026020526040902054611405908461195d565b6101408301516000908152600260205260409081902091909155820151825160c084015160a0850151611451936112b393909290913391611447918a90610ee2565b611b57565b611934565b61146d6112b3836060015133856000015187611b57565b611934565b6080820151600160a060020a03161561151f5760008260e0015111156114d0576114d06112b3600060009054906101000a9004600160a060020a0316846000015185608001516114478760c00151898960e00151610ee2565b611b57565b611934565b5b6000826101000151111561151f5761151f6112b3600060009054906101000a9004600160a060020a03163385608001516114478760c0015189896101000151610ee2565b611b57565b611934565b5b5b816040015182606001516040518083600160a060020a0316600160a060020a0316606060020a02815260140182600160a060020a0316600160a060020a0316606060020a028152601401925050506040518091039020600019168260800151600160a060020a03168360000151600160a060020a03167fcf8bd4f6ec4f39997290cf18413805f1f190eebd60e32ffc174b56d07a355beb856020015186604001518760600151338960a001518a60c001518b60e001518c61010001518d61012001518f8f6101400151604051808c600160a060020a0316600160a060020a031681526020018b600160a060020a0316600160a060020a031681526020018a600160a060020a0316600160a060020a0316815260200189600160a060020a0316600160a060020a0316815260200188815260200187815260200186815260200185815260200184815260200183815260200182600019166000191681526020019b50505050505050505050505060405180910390a45b5050979650505050505050565b6000805b88518110156117415761173789828151811015610000579060200190602002015189838151811015610000579060200190602002015189848151811015610000579060200190602002015189898681518110156100005790602001906020020151898781518110156100005790602001906020020151898881518110156100005790602001906020020151611144565b505b6001016116a7565b600191505b50979650505050505050565b6000805b87518110156117f6576117ed6112b389838151811015610000579060200190602002015189848151811015610000579060200190602002015189858151811015610000579060200190602002015189868151811015610000579060200190602002015189878151811015610000579060200190602002015189888151811015610000579060200190602002015161190a565b611934565b5b600101611756565b600191505b509695505050505050565b600154600160a060020a031681565b6000818152600260209081526040808320546003909252822054611839919061195d565b90505b919050565b81516020808401516040808601516060808801516080808a01518951978a01518a870151948b0151928b015160a08c01518851606060020a30600160a060020a03908116820283529d8e16810260148301529a8d168b026028820152978c168a02603c890152948b16890260508801529990911690960260648501526078840196909652609883019490945260b882015260d881019390935260f88301939093526101188201529051908190036101380190205b92915050565b600054600160a060020a031681565b60006119268561192089898960008a8a8a611144565b14611934565b5060015b9695505050505050565b80151561194057610000565b5b50565b600061195283831115611934565b508082035b92915050565b600082820161197a8482108015906112b35750838210155b611934565b8091505b5092915050565b600082820261197a8415806112b3575083858381156100005704145b611934565b8091505b5092915050565b600060006119c160008411611934565b828481156100005704905061197a838581156100005706828502018514611934565b8091505b5092915050565b60006000600060006000339350611a0e8760c00151878960a00151610ee2565b925082611a2388604001518960000151611bf5565b1080611a3f575082611a3d88604001518960000151611c6e565b105b80611a56575085611a54886060015186611bf5565b105b80611a6d575085611a6b886060015186611c6e565b105b15611a7b5760009450611b4d565b6080870151600160a060020a031615611b4757611aa18760c00151878960e00151610ee2565b9150611ab78760c0015187896101000151610ee2565b60005488519192508391611ad491600160a060020a031690611bf5565b1080611af9575060005487518391611af791600160a060020a0390911690611c6e565b105b80611b1957506000548190611b1790600160a060020a031686611bf5565b105b80611b3957506000548190611b3790600160a060020a031686611c6e565b105b15611b475760009450611b4d565b5b600194505b5050505092915050565b600154604080516000602091820181905282517f15dacbea000000000000000000000000000000000000000000000000000000008152600160a060020a03898116600483015288811660248301528781166044830152606482018790529351919493909316926315dacbea92608480830193919282900301818787803b156100005760325a03f115610000575050604051519150505b949350505050565b600082600160a060020a03166370a08231836000604051602001526040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b156100005760325a03f115610000575050604051519150505b92915050565b600154604080516000602091820181905282517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015294851660248201529251909386169263dd62ed3e92604480830193919282900301818787803b156100005760325a03f115610000575050604051519150505b92915050560036d86c59e00bd73dc19ba3adfe068e4b64ac7e92be35546adeddf1b956a87e90a165627a7a72305820c38121e5be6034e2506e831cd8172fb06c61260660ac3820aa8e51797ba32ef10029",
  "networks": {
    "42": {
      "links": {},
      "events": {
        "0xcf8bd4f6ec4f39997290cf18413805f1f190eebd60e32ffc174b56d07a355beb": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "name": "maker",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "taker",
              "type": "address"
            },
            {
              "indexed": true,
              "name": "feeRecipient",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "tokenM",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "tokenT",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "filledBy",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "valueM",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "valueT",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "feeM",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "feeT",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "expiration",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "filledValueT",
              "type": "uint256"
            },
            {
              "indexed": true,
              "name": "tokens",
              "type": "bytes32"
            },
            {
              "indexed": false,
              "name": "orderHash",
              "type": "bytes32"
            }
          ],
          "name": "LogFill",
          "type": "event"
        },
        "0x4565177cd5184f550db0ab57b1d5bc808f8e8ba0adcb13fb257f1e7cf019a2b6": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "name": "maker",
              "type": "address"
            },
            {
              "indexed": true,
              "name": "feeRecipient",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "tokenM",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "tokenT",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "valueM",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "valueT",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "feeM",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "feeT",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "expiration",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "cancelledValueT",
              "type": "uint256"
            },
            {
              "indexed": true,
              "name": "tokens",
              "type": "bytes32"
            },
            {
              "indexed": false,
              "name": "orderHash",
              "type": "bytes32"
            }
          ],
          "name": "LogCancel",
          "type": "event"
        },
        "0x36d86c59e00bd73dc19ba3adfe068e4b64ac7e92be35546adeddf1b956a87e90": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "name": "errorId",
              "type": "uint8"
            },
            {
              "indexed": true,
              "name": "orderHash",
              "type": "bytes32"
            }
          ],
          "name": "LogError",
          "type": "event"
        }
      },
      "updated_at": 1495042008606,
      "address": "0x9ce1a5e2311f9b8b8e6b40ed20b5b090de4a4c4d"
    },
    "50": {
      "links": {},
      "events": {
        "0xcf8bd4f6ec4f39997290cf18413805f1f190eebd60e32ffc174b56d07a355beb": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "name": "maker",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "taker",
              "type": "address"
            },
            {
              "indexed": true,
              "name": "feeRecipient",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "tokenM",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "tokenT",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "filledBy",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "valueM",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "valueT",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "feeM",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "feeT",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "expiration",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "filledValueT",
              "type": "uint256"
            },
            {
              "indexed": true,
              "name": "tokens",
              "type": "bytes32"
            },
            {
              "indexed": false,
              "name": "orderHash",
              "type": "bytes32"
            }
          ],
          "name": "LogFill",
          "type": "event"
        },
        "0x4565177cd5184f550db0ab57b1d5bc808f8e8ba0adcb13fb257f1e7cf019a2b6": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "name": "maker",
              "type": "address"
            },
            {
              "indexed": true,
              "name": "feeRecipient",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "tokenM",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "tokenT",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "valueM",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "valueT",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "feeM",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "feeT",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "expiration",
              "type": "uint256"
            },
            {
              "indexed": false,
              "name": "cancelledValueT",
              "type": "uint256"
            },
            {
              "indexed": true,
              "name": "tokens",
              "type": "bytes32"
            },
            {
              "indexed": false,
              "name": "orderHash",
              "type": "bytes32"
            }
          ],
          "name": "LogCancel",
          "type": "event"
        },
        "0x36d86c59e00bd73dc19ba3adfe068e4b64ac7e92be35546adeddf1b956a87e90": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "name": "errorId",
              "type": "uint8"
            },
            {
              "indexed": true,
              "name": "orderHash",
              "type": "bytes32"
            }
          ],
          "name": "LogError",
          "type": "event"
        }
      },
      "updated_at": 1495030736784,
      "address": "0xb69e673309512a9d726f87304c6984054f87a93b"
    }
  },
  "schema_version": "0.0.5",
  "updated_at": 1495042008606
}